@total_onion/onion-library 1.0.6 → 1.0.8

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.
Files changed (60) hide show
  1. package/package.json +1 -1
  2. package/update-component.js +2 -1
  3. package/components/block-post-type-filter-grid-v2/group_64690c62487bc.json +0 -4380
  4. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/better-reviews-widget.vue +0 -15
  5. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/buy-now-widget.vue +0 -72
  6. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/cocktail-category.vue +0 -54
  7. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/cocktail-tasting-notes.vue +0 -15
  8. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/divider-widget.vue +0 -11
  9. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/drink-tastes.vue +0 -26
  10. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/featured-post-component.vue +0 -61
  11. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/global-image-widget.vue +0 -23
  12. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/media-widget.vue +0 -23
  13. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/person-email-widget.vue +0 -20
  14. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/person-name-widget.vue +0 -15
  15. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/person-questionaire-widget.vue +0 -17
  16. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/person-rating-widget.vue +0 -25
  17. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-author-widget.vue +0 -15
  18. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-category-widget.vue +0 -20
  19. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-component.vue +0 -130
  20. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-headline-widget.vue +0 -16
  21. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-image-widget.vue +0 -60
  22. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-info-description.vue +0 -14
  23. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-info-subtitle.vue +0 -14
  24. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-link-widget.vue +0 -44
  25. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-publish-widget.vue +0 -44
  26. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-tags-widget.vue +0 -20
  27. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-text-alternative-style.vue +0 -18
  28. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-title-widget.vue +0 -20
  29. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/pre-render-posts-html.twig +0 -17
  30. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-abv.vue +0 -18
  31. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-age-statement.vue +0 -17
  32. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-bazaarvoice.vue +0 -15
  33. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-brand.vue +0 -16
  34. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-cask-type.vue +0 -16
  35. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-country.vue +0 -14
  36. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-description.vue +0 -15
  37. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-details-name.vue +0 -18
  38. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-details-price.vue +0 -15
  39. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-finish.vue +0 -15
  40. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-history.vue +0 -16
  41. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-link.vue +0 -15
  42. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-logo-widget.vue +0 -22
  43. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-name.vue +0 -17
  44. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-nose.vue +0 -16
  45. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-price.vue +0 -15
  46. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-slug.vue +0 -14
  47. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-taste.vue +0 -16
  48. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-whisky-type.vue +0 -25
  49. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/ptfg-posts.twig +0 -449
  50. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/ptfg-utils.vue +0 -38
  51. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/shopify-add-to-cart.vue +0 -31
  52. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/social-media-item.vue +0 -58
  53. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/spacer-widget.vue +0 -13
  54. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/text-search.vue +0 -10
  55. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2-extra.scss +0 -6
  56. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.js +0 -15
  57. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.php +0 -48
  58. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.scss +0 -989
  59. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.twig +0 -150
  60. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.vue +0 -893
@@ -1,989 +0,0 @@
1
- // LIBRARY FILE - Do not modify/override here as your changes will be lost when the package is updated.
2
- @use 'Assets/scss/modules/library-modules/core-mixins/core-mixins';
3
- @use 'Assets/scss/modules/library-modules/core-functions/core-functions';
4
- @use 'Assets/scss/theme/breakpoints';
5
- @use 'Assets/scss/theme/buttons';
6
- @use 'Assets/scss/blocks/post-type-filter-grid-v2/post-type-filter-grid-v2-extra';
7
- @use 'Assets/scss/modules/library-modules/core-gradient-designer/core-gradient-designer';
8
- @use 'Assets/scss/modules/library-modules/grid-layout-element/grid-layout-element';
9
- @use 'Assets/scss/modules/library-modules/element-positioning/element-positioning';
10
-
11
- .post-type-filter-grid-v2 {
12
- z-index: 10;
13
- position: relative;
14
- background-color: var(--block-background-colour);
15
- .mobile-menu-active & {
16
- z-index: 9999;
17
- }
18
- &__post-cover-link {
19
- grid-area: unset;
20
- position: absolute;
21
- inset: 0;
22
- width: 100%;
23
- height: 100%;
24
- z-index: 99;
25
- opacity: 0;
26
- }
27
-
28
- &__main-container {
29
- display: grid;
30
- column-gap: var(--global-inline-spacing);
31
- grid-template:
32
- 'filter '
33
- 'sort'
34
- 'grid'
35
- 'loadmore' / 1fr;
36
-
37
- &--hide-filters {
38
- grid-template:
39
- 'grid'
40
- 'loadmore' / 1fr;
41
- }
42
-
43
- @include core-mixins.device(breakpoints.$tabPortrait) {
44
- grid-template:
45
- 'filter grid'
46
- 'sort grid'
47
- '... loadmore' / 1fr 4fr;
48
-
49
- &--hide-filters {
50
- grid-template:
51
- 'grid'
52
- 'loadmore' / 1fr;
53
- }
54
-
55
- &[data-layout='2'],
56
- &[data-layout='5'] {
57
- grid-template:
58
- 'filter '
59
- 'sort'
60
- 'grid'
61
- 'loadmore' / 1fr;
62
- }
63
- &[data-layout='3'],
64
- &[data-layout='4'] {
65
- grid-template:
66
- 'filter '
67
- 'sort'
68
- 'grid'
69
- 'loadmore' / 1fr;
70
- }
71
- }
72
- }
73
-
74
- &__filter {
75
- position: relative;
76
- position: sticky;
77
- top: 10px;
78
- z-index: 200;
79
- display: grid;
80
- top: core-functions.fluidSize(80, 'mobile');
81
- background-color: var(--filter-background-colour-mobile);
82
- place-items: center;
83
-
84
- &[data-layout='2'],
85
- &[data-layout='5'] {
86
- width: 100%;
87
- padding-bottom: calc(var(--global-inline-spacing) / 2);
88
- }
89
-
90
- @include core-mixins.device(breakpoints.$tabPortrait) {
91
- top: core-functions.fluidSize(140, 'portrait');
92
- }
93
-
94
- &[data-layout='5'] {
95
- top: unset;
96
- }
97
-
98
- @include core-mixins.device(breakpoints.$tabLandscape) {
99
- background-color: var(--filter-background-colour);
100
- top: 0;
101
- }
102
-
103
- &[data-layout='5'] {
104
- top: unset;
105
- .post-type-filter-grid-v2 {
106
- &__open-filter-toggle {
107
- display: none;
108
- }
109
- }
110
- }
111
- &[data-layout='3'] {
112
- .post-type-filter-grid-v2 {
113
- &__open-filter-toggle {
114
- display: none;
115
- }
116
- &__filter-top-level-categories {
117
- overflow: scroll;
118
- flex-wrap: nowrap;
119
- justify-content: center;
120
- }
121
- &__filter-container {
122
- height: auto;
123
- display: flex;
124
- flex-direction: column-reverse;
125
- }
126
- &__filter-categories {
127
- display: grid;
128
- padding-bottom: core-functions.fluidSize(20, 'static');
129
- @include core-mixins.device(breakpoints.$tabPortrait) {
130
- place-items: center;
131
- }
132
- }
133
- &__filter-top-level-category-container {
134
- display: flex;
135
- list-style-type: none;
136
- place-items: flex-start;
137
- margin: auto;
138
- gap: core-functions.fluidSize(30, 'static');
139
- }
140
- &__filter-categories-container{
141
- display: grid;
142
- grid-template: "main"/1fr;
143
- overflow: scroll;
144
- width: 100%;
145
- scrollbar-width: none; /* Firefox */
146
- -ms-overflow-style: none; /* IE 10+ */
147
- &::-webkit-scrollbar {
148
- background: transparent; /* Chrome/Safari/Webkit */
149
- width: 0px;
150
- display: none;
151
- }
152
- }
153
- &__filter-top-level-category {
154
- grid-area: main;
155
- margin: 0;
156
- &::after {
157
- content: unset;
158
- }
159
- }
160
- &__filter-subcategories-container {
161
- display: grid;
162
- grid-template: 'main' / 1fr;
163
- overflow: scroll;
164
- scrollbar-width: none; /* Firefox */
165
- -ms-overflow-style: none; /* IE 10+ */
166
- &::-webkit-scrollbar {
167
- background: transparent; /* Chrome/Safari/Webkit */
168
- width: 0px;
169
- display: none;
170
- }
171
- }
172
- &__filter-subcategory-list {
173
- grid-area: main;
174
- display: flex;
175
- opacity: 0;
176
- pointer-events: none;
177
- margin-bottom: 0;
178
- gap: core-functions.fluidSize(30, 'static');
179
- max-height: 0;
180
- transition: unset;
181
- width: 0;
182
- max-width: 100%;
183
- justify-self: center;
184
- flex-wrap: var(--sub-filter-overflow-mobile);
185
- overflow: var(--sub-filter-overflow-mobile);
186
- justify-content: var(--sub-filter-overflow-center-mobile);
187
- @include core-mixins.device(breakpoints.$tabPortrait) {
188
- flex-wrap: var(--sub-filter-overflow-tablet);
189
- overflow: var(--sub-filter-overflow-tablet);
190
- justify-content: var(--sub-filter-overflow-center-tablet);
191
- }
192
- @include core-mixins.device(breakpoints.$tabLandscape) {
193
- flex-wrap: var(--sub-filter-overflow-desktop);
194
- overflow: var(--sub-filter-overflow-desktop);
195
- justify-content: var(--sub-filter-overflow-center-desktop);
196
- }
197
- scrollbar-width: none; /* Firefox */
198
- -ms-overflow-style: none; /* IE 10+ */
199
- &::-webkit-scrollbar {
200
- background: transparent; /* Chrome/Safari/Webkit */
201
- width: 0px;
202
- }
203
- &--active {
204
- opacity: 1;
205
- pointer-events: all;
206
- max-height: 1000px;
207
- &[data-layout='3']{
208
- width: fit-content;
209
- }
210
- }
211
- }
212
- &__filter-subcategory-list-item {
213
- margin: 0;
214
- justify-content: center;
215
- &--active {
216
- opacity: 1;
217
- pointer-events: all;
218
- }
219
- }
220
- &__show-all {
221
- place-self: center;
222
- }
223
- }
224
- }
225
- &[data-layout='4'] {
226
- @media all and (max-width: breakpoints.$tabLandscape - 1) {
227
- .post-type-filter-grid-v2 {
228
- &__filter-container--open {
229
- background-color: var(
230
- --filter-background-colour-mobile
231
- );
232
- position: fixed;
233
- top: 0;
234
- left: 0;
235
- width: 100%;
236
- height: 100%;
237
- justify-content: flex-start;
238
- z-index: 9;
239
- }
240
- &__filter-categories {
241
- display: flex;
242
- flex-direction: column;
243
- justify-content: flex-start;
244
- }
245
- &__filter-update-button {
246
- position: absolute;
247
- width: 100%;
248
- bottom: 0;
249
- left: 0;
250
- z-index: 99999;
251
- }
252
- &__filter-category.active {
253
- background-color: var(
254
- --filter-background-colour-mobile
255
- );
256
- width: 100%;
257
- top: 0;
258
- left: 0;
259
- position: absolute;
260
- height: 100%;
261
- z-index: 99999;
262
- justify-content: flex-start;
263
- }
264
- }
265
- }
266
- @include core-mixins.device(breakpoints.$tabLandscape) {
267
- .post-type-filter-grid-v2 {
268
- &__filter-update-button {
269
- display: none;
270
- }
271
- &__filter-container {
272
- overflow: visible;
273
- }
274
- &__filter-categories {
275
- display: flex;
276
- flex-direction: row;
277
- justify-content: center;
278
- }
279
- &__filter-categories-label {
280
- @include core-mixins.device(breakpoints.$tabLandscape) {
281
- display: none;
282
- }
283
- }
284
- &__cta {
285
- min-width: core-functions.fluidSize(230, 'desktop');
286
- width: auto;
287
- &:hover {
288
- background-color: unset;
289
- color: unset;
290
- }
291
- }
292
- &__filter-subcategory-list {
293
- display: none;
294
- }
295
- &__cta.active {
296
- .post-type-filter-grid-v2__filter-subcategory-list {
297
- display: flex;
298
- position: absolute;
299
- background-color: var(--filter-background-colour);
300
- width: auto;
301
- flex-direction: column;
302
- top: core-functions.fluidSize(60, 'desktop');
303
- }
304
- }
305
- }
306
- }
307
- }
308
- }
309
-
310
- &__filter-container {
311
- position: relative;
312
- height: 0;
313
- overflow: hidden;
314
- width: 100%;
315
- background-color: var(--filter-background-colour-mobile);
316
-
317
- @include core-mixins.device(breakpoints.$tabPortrait) {
318
- height: auto;
319
- background-color: transparent;
320
-
321
- &[data-layout='2'],
322
- &[data-layout='5'] {
323
- display: flex;
324
- gap: core-functions.fluidSize(20, 'desktop');
325
- grid-auto-flow: column;
326
- grid-auto-columns: max-content;
327
- justify-content: flex-start;
328
- grid-auto-flow: row;
329
- width: auto;
330
- max-width: 100%;
331
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
332
- }
333
- &[data-layout='5'] {
334
- grid-auto-flow: unset;
335
- @include core-mixins.device(breakpoints.$tabPortrait) {
336
- grid-auto-flow: column;
337
- }
338
- @include core-mixins.device(breakpoints.$tabLandscape) {
339
- grid-auto-flow: column;
340
- }
341
- }
342
- }
343
-
344
- &--open {
345
- height: auto;
346
- position: absolute;
347
- top: 100%;
348
- box-shadow: 0px 4px 4px 0px #00000045;
349
- display: flex;
350
- flex-wrap: wrap;
351
- gap: 10px;
352
- }
353
- }
354
-
355
- &__open-filter-toggle {
356
- position: relative;
357
- position: sticky;
358
- width: 100%;
359
- cursor: pointer;
360
-
361
- &--open {
362
- color: white;
363
- }
364
- }
365
-
366
- button.post-type-filter-grid-v2__open-filter-toggle {
367
- @include core-mixins.device(breakpoints.$tabPortrait) {
368
- display: none;
369
- }
370
-
371
- @include core-mixins.device(breakpoints.$tabLandscape) {
372
- display: none;
373
- }
374
- }
375
-
376
- &__filter-top-level-category-name {
377
- position: relative;
378
-
379
- &::after {
380
- transition: transform 0.3s;
381
- content: '';
382
- width: 0.8em;
383
- height: 0.8em;
384
- background-color: var(--theme-primary-text-colour);
385
- position: absolute;
386
- translate: 160%;
387
- right: 0;
388
- clip-path: polygon(100% 0, 0 0, 50% 100%);
389
- rotate: 180deg;
390
- bottom: core-functions.fluidSize(3, 'static');
391
- transform-origin: center;
392
- }
393
- }
394
-
395
- &__filter-categories {
396
- display: grid;
397
- top: 0;
398
- gap: core-functions.fluidSize(10, 'mobile');
399
- grid-template-columns: 1fr;
400
- padding-bottom: var(--global-inline-spacing);
401
- width: 100%;
402
-
403
- &[data-layout='2'],
404
- &[data-layout='5'] {
405
- padding-bottom: unset;
406
- }
407
-
408
- @include core-mixins.device(breakpoints.$tabPortrait) {
409
- grid-template-columns: 1fr;
410
- position: relative;
411
- gap: core-functions.fluidSize(20, 'portrait');
412
-
413
- &[data-layout='2'],
414
- &[data-layout='5'] {
415
- grid-auto-flow: column;
416
- grid-auto-columns: 1fr;
417
- width: max-content;
418
- margin: unset;
419
- }
420
- }
421
- @include core-mixins.device(breakpoints.$tabLandscape) {
422
- gap: core-functions.fluidSize(30, 'desktop');
423
- }
424
- }
425
-
426
- &__filter-category {
427
- flex-direction: column;
428
- width: 100%;
429
-
430
- &.active {
431
- .post-type-filter-grid-v2__filter-subcategory-list {
432
- max-height: 1000px;
433
- }
434
-
435
- .post-type-filter-grid-v2__filter-top-level-category-name {
436
- &::after {
437
- rotate: 0deg;
438
- }
439
- }
440
- }
441
- }
442
-
443
- &__filter-subcategory-list {
444
- &[data-layout='5'] {
445
- flex-direction: column;
446
- margin: unset;
447
- @include core-mixins.device(breakpoints.$tabPortrait) {
448
- flex-direction: unset;
449
- margin: auto;
450
- }
451
- @include core-mixins.device(breakpoints.$tabLandscape) {
452
- flex-direction: unset;
453
- margin: auto;
454
- }
455
- }
456
- list-style-type: none;
457
- display: flex;
458
- flex-wrap: wrap;
459
- width: 100%;
460
- gap: core-functions.fluidSize(var(--filter-category-gap), 'mobile');
461
- transition: 0.3s;
462
- max-height: 0px;
463
- overflow: hidden;
464
- &::-webkit-scrollbar {
465
- display: none;
466
- }
467
-
468
- @include core-mixins.device(breakpoints.$tabPortrait) {
469
- gap: core-functions.fluidSize(
470
- var(--filter-category-gap),
471
- 'portrait'
472
- );
473
- }
474
-
475
- @include core-mixins.device(breakpoints.$tabLandscape) {
476
- gap: core-functions.fluidSize(
477
- var(--filter-category-gap),
478
- 'desktop'
479
- );
480
- }
481
-
482
- &[data-layout='2'] {
483
- @include core-mixins.device(breakpoints.$tabLandscape) {
484
- grid-auto-flow: column;
485
- }
486
- }
487
- }
488
-
489
- &__filter-subcategory-list-item {
490
- width: auto;
491
-
492
- @include core-mixins.device(breakpoints.$tabLandscape) {
493
- width: initial;
494
- }
495
-
496
- &[data-layout='2'],
497
- &[data-layout='5'] {
498
- margin: unset;
499
- @include core-mixins.device(breakpoints.$tabPortrait) {
500
- margin: auto;
501
- }
502
- @include core-mixins.device(breakpoints.$tabLandscape) {
503
- margin: auto;
504
- }
505
- }
506
- &[data-layout='5'] {
507
- margin: unset;
508
- @include core-mixins.device(breakpoints.$tabPortrait) {
509
- margin: auto;
510
- }
511
- @include core-mixins.device(breakpoints.$tabLandscape) {
512
- margin: auto;
513
- }
514
- }
515
- }
516
- &__filter-subcategory-button-icon {
517
- width: 1em;
518
- }
519
-
520
- &__sort-container {
521
- grid-area: sort;
522
- }
523
-
524
- &__sort {
525
- display: none;
526
- position: relative;
527
- width: max-content;
528
-
529
- &:hover {
530
- cursor: pointer;
531
- }
532
- }
533
- &--micro-gap {
534
- .post-type-filter-grid-v2__grid {
535
- gap: core-functions.fluidSize(
536
- var(--micro-grid-gap-amount),
537
- 'static'
538
- );
539
- }
540
- }
541
- &__grid {
542
- grid-area: grid;
543
- display: grid;
544
- background-color: var(--grid-background-colour);
545
- grid-template-columns: repeat(var(--columns-mobile), 1fr);
546
- color: var(--theme-primary-text-colour);
547
- gap: calc(var(--global-inline-spacing) * var(--gap-multiplier-mobile));
548
- border: core-functions.fluidSize(var(--grid-border-width), 'static')
549
- solid var(--grid-border-colour);
550
-
551
- @include core-mixins.device(breakpoints.$tabPortrait) {
552
- padding-top: unset;
553
- grid-template-columns: repeat(var(--columns-portrait), 1fr);
554
- gap: calc(
555
- var(--global-inline-spacing) * var(--gap-multiplier-portrait)
556
- );
557
- }
558
-
559
- @include core-mixins.device(breakpoints.$tabLandscape) {
560
- gap: calc(var(--global-inline-spacing) * var(--gap-multiplier));
561
- grid-template-columns: repeat(var(--columns-desktop), 1fr);
562
- }
563
- }
564
-
565
- &__featured-post {
566
- background: var(--featured-post-background-colour);
567
- }
568
-
569
- &__post-container {
570
- display: grid;
571
- width: 100%;
572
- z-index: 1;
573
- position: relative;
574
- padding: calc(
575
- var(--global-inline-spacing) * var(--post-container-padding-mobile)
576
- );
577
- place-self: var(--block-container-vertical-align);
578
- background-color: var(--post-container-background-colour);
579
- grid-auto-rows: var(--post-container-grid-auto-rows, auto);
580
- grid-auto-columns: var(--post-container-grid-auto-columns, auto);
581
- grid-template-rows: var(--post-container-grid-template-rows, auto);
582
- grid-template-columns: var(
583
- --post-container-grid-template-columns,
584
- auto
585
- );
586
- gap: calc(
587
- var(--global-inline-spacing) *
588
- (var(--post-container-grid-gap-mobile))
589
- );
590
-
591
- @include core-mixins.device(breakpoints.$tabPortrait) {
592
- gap: calc(
593
- var(--global-inline-spacing) *
594
- (var(--post-container-grid-gap-portrait))
595
- );
596
- }
597
-
598
- @include core-mixins.device(breakpoints.$tabLandscape) {
599
- padding: calc(
600
- var(--global-inline-spacing) * var(--post-container-padding)
601
- );
602
- gap: calc(
603
- var(--global-inline-spacing) *
604
- (var(--post-container-grid-gap-desktop))
605
- );
606
- }
607
- }
608
-
609
- &__overlay {
610
- inset: 0;
611
- z-index: 1;
612
- grid-row: var(--gradient-overlay-row-start, 1) /
613
- var(--gradient-overlay-row-end, -1);
614
-
615
- &--gradient-overlay-top,
616
- &--gradient-overlay-right,
617
- &--gradient-overlay-bottom,
618
- &--gradient-overlay-left {
619
- @include core-gradient-designer.gradientDesigner();
620
- position: absolute;
621
- }
622
-
623
- &--gradient-overlay-vertical {
624
- @include core-gradient-designer.gradientDesignerVertical();
625
- position: absolute;
626
- }
627
-
628
- &--gradient-overlay-horizontal {
629
- @include core-gradient-designer.gradientDesignerHorizontal();
630
- position: absolute;
631
- }
632
- }
633
-
634
- &__post-image-container-link {
635
- display: grid;
636
- grid-template: 'main' / 1fr;
637
- width: 100%;
638
- z-index: 2;
639
- max-width: initial;
640
- position: relative;
641
-
642
- &--show-alt-image-on-hover {
643
- &:hover {
644
- .post-type-filter-grid-v2__post-image {
645
- opacity: 0;
646
- }
647
-
648
- .post-type-filter-grid-v2__post-image--secondary {
649
- opacity: 1;
650
- }
651
- }
652
- }
653
- &--set-as-background-image {
654
- position: absolute;
655
- inset: 0;
656
- grid-area: unset;
657
- img {
658
- height: 100%;
659
- object-fit: cover;
660
- }
661
- }
662
- }
663
-
664
- &__info-item {
665
- @include grid-layout-element.gridLayoutElement();
666
- z-index: 2;
667
-
668
- &:not(
669
- .post-type-filter-grid-v2__post-link,
670
- .post-type-filter-grid-v2__product-buy-now,
671
- .post-type-filter-grid-v2__post-image-container-link,
672
- .post-type-filter-grid-v2__post-tags,
673
- .post-type-filter-grid-v2__shopify
674
- ) {
675
- * {
676
- width: 100%;
677
- @include core-mixins.textStyle();
678
- }
679
- }
680
- }
681
-
682
- &__post-tags {
683
- pointer-events: none;
684
- }
685
-
686
- &__post-image,
687
- &__post-image--secondary,
688
- &__global-image,
689
- &__media-image {
690
- opacity: 1;
691
- z-index: 1;
692
- transition: opacity 0.3s;
693
- position: relative;
694
- margin-inline: auto;
695
- width: var(--post-image-width-mobile);
696
- object-fit: var(--post-image-fit-style);
697
- aspect-ratio: var(--post-image-aspect-ratio);
698
- border-radius: var(--post-image-border-radius);
699
- border: 0px solid transparent;
700
- @include core-mixins.device(breakpoints.$tabPortrait) {
701
- width: var(--post-image-width-portrait);
702
- }
703
- @include core-mixins.device(breakpoints.$tabLandscape) {
704
- width: var(--post-image-width-desktop);
705
- }
706
- &--image_accent {
707
- @include element-positioning.elementPositioning();
708
- width: var(--post-image-width-mobile);
709
- @include core-mixins.device(breakpoints.$tabLandscape) {
710
- width: var(--post-image-width-desktop);
711
- }
712
- }
713
- }
714
- &__global-image {
715
- @include grid-layout-element.gridLayoutElement();
716
- width: 100%;
717
- max-width: var(--global-image-max-width-mobile, 100%);
718
- z-index: var(--global-image-z-index, 1);
719
- position: var(--global-image-position, relative);
720
- object-fit: var(--global-image-fit-style, cover);
721
- height: var(--global-image-height, auto);
722
- @include core-mixins.device(breakpoints.$tabLandscape) {
723
- max-width: var(--global-image-max-width-desktop, 100%);
724
- }
725
- }
726
-
727
- &__media-image-container {
728
- position: relative;
729
- width: 100%;
730
- }
731
-
732
- &__post-image--secondary {
733
- opacity: 0;
734
- z-index: 0;
735
- position: absolute;
736
- width: 100%;
737
- height: 100%;
738
- object-fit: contain;
739
- }
740
-
741
- &__post-text-container {
742
- display: grid;
743
- z-index: 2;
744
- }
745
-
746
- &__post-title {
747
- display: flex;
748
- gap: 1.5em;
749
- flex-direction: row;
750
- justify-content: space-between;
751
- * {
752
- width: 100%;
753
- }
754
- }
755
- &__post-headline {
756
- width: 100%;
757
- @include core-mixins.textStyle();
758
- }
759
- &__post-title-icon {
760
- width: 1em;
761
- }
762
-
763
- &__post-category {
764
- background: var(--black);
765
- color: var(--white);
766
- display: flex;
767
- gap: core-functions.fluidSize(15, 'static');
768
- padding: core-functions.fluidSize(10, 'static');
769
- width: fit-content;
770
-
771
- &--item {
772
- margin: 0;
773
- }
774
- }
775
-
776
- &__cta {
777
- gap: 0.5em;
778
- }
779
-
780
- &__icon-image {
781
- width: 1em;
782
-
783
- * {
784
- fill: inherit;
785
- }
786
- }
787
-
788
- &__post-spacer {
789
- z-index: 2;
790
- width: 100%;
791
- background-color: var(--spacer-bg-colour);
792
- height: calc(
793
- var(--global-inline-spacing) * var(--spacer-size-mult-mobile)
794
- );
795
-
796
- @include core-mixins.device(breakpoints.$tabPortrait) {
797
- height: calc(
798
- var(--global-inline-spacing) * var(--spacer-size-mult-portrait)
799
- );
800
- }
801
-
802
- @include core-mixins.device(breakpoints.$tabLandscape) {
803
- height: calc(
804
- var(--global-inline-spacing) * var(--spacer-size-mult)
805
- );
806
- }
807
- }
808
- &__post-link,
809
- &__better-reviews {
810
- max-width: max-content;
811
- }
812
- &__cta-style-post-colour,
813
- &__cta-style-post-text-colour-style {
814
- padding-block: core-functions.fluidSize(10, 'mobile');
815
- padding-inline: core-functions.fluidSize(20, 'mobile');
816
- @include core-mixins.device(breakpoints.$tabPortrait) {
817
- padding-block: core-functions.fluidSize(10, 'portrait');
818
- padding-inline: core-functions.fluidSize(20, 'portrait');
819
- }
820
- @include core-mixins.device(breakpoints.$tabLandscape) {
821
- padding-block: core-functions.fluidSize(10, 'desktop');
822
- padding-inline: core-functions.fluidSize(20, 'desktop');
823
- }
824
- }
825
- &__cta-style-post-colour {
826
- color: var(--post-colour);
827
- border: 1px solid var(--post-colour);
828
- * {
829
- stroke: var(--post-colour);
830
- fill: var(--post-colour);
831
- }
832
- &:hover {
833
- color: var(--post-colour);
834
- * {
835
- stroke: var(--post-colour);
836
- fill: var(--post-colour);
837
- }
838
- }
839
- }
840
- &__cta-style-post-text-colour-style {
841
- color: var(--post-text-colour-style);
842
- border: 1px solid var(--post-text-colour-style);
843
- * {
844
- stroke: var(--post-text-colour-style);
845
- fill: var(--post-text-colour-style);
846
- }
847
- &:hover {
848
- color: var(--post-text-colour-style);
849
- * {
850
- stroke: var(--post-text-colour-style);
851
- fill: var(--post-text-colour-style);
852
- }
853
- }
854
- }
855
- &__product-c7-add-to-cart {
856
- display: flex;
857
- align-items: flex-end;
858
- z-index: 2;
859
- }
860
-
861
- &__post-tags {
862
- display: flex;
863
- justify-content: flex-start;
864
- flex-wrap: wrap;
865
- align-items: flex-start;
866
- z-index: 2;
867
- }
868
-
869
- &__person-email {
870
- display: flex;
871
- gap: 1em;
872
- align-items: center;
873
- }
874
- &__person-email-icon {
875
- width: 1em;
876
- }
877
- &__person-rating-star-container {
878
- display: flex;
879
- --rating-star-colour: #f8b94c;
880
- padding: core-functions.fluidSize(10, 'static');
881
- }
882
- &__person-rating-star {
883
- width: core-functions.fluidSize(20, 'static');
884
- }
885
- &__person-rating-star * {
886
- fill: var(--rating-star-colour);
887
- }
888
-
889
- &__load-more-container {
890
- grid-area: loadmore;
891
- width: 100%;
892
- display: flex;
893
- justify-content: center;
894
- flex-direction: column;
895
- align-items: center;
896
- z-index: 2;
897
- margin-top: core-functions.fluidSize(115, 'mobile');
898
- &:has(.show-spinner) {
899
- pointer-events: none;
900
- }
901
- @include core-mixins.device(breakpoints.$tabPortrait) {
902
- margin-top: core-functions.fluidSize(90, 'portrait');
903
- }
904
-
905
- @include core-mixins.device(breakpoints.$tabLandscape) {
906
- margin-top: core-functions.fluidSize(80, 'desktop');
907
- }
908
- }
909
- &__load-more-button {
910
- .cmpl-cta-span.hide-text {
911
- display: none;
912
- }
913
- }
914
- .loader {
915
- --spinner-size: 20px;
916
- width: var(--spinner-size);
917
- height: var(--spinner-size);
918
- border: 2px solid #fff;
919
- border-bottom-color: transparent;
920
- border-radius: 50%;
921
- display: none;
922
- box-sizing: border-box;
923
- animation: rotation 1s linear infinite;
924
- &.show-spinner {
925
- display: inline-block;
926
- }
927
- }
928
-
929
- @keyframes rotation {
930
- 0% {
931
- transform: rotate(0deg);
932
- }
933
- 100% {
934
- transform: rotate(360deg);
935
- }
936
- }
937
- &__load-more-icon {
938
- width: 1em;
939
- }
940
-
941
- &__show-all {
942
- &[data-layout='5'] {
943
- text-align: left;
944
- justify-content: flex-start;
945
- }
946
- z-index: 2;
947
- position: relative;
948
- width: auto;
949
- place-self: flex-end;
950
- margin-bottom: unset;
951
- cursor: pointer;
952
- width: 100%;
953
-
954
- @include core-mixins.device(breakpoints.$tabPortrait) {
955
- width: initial;
956
- }
957
-
958
- @include core-mixins.device(breakpoints.$tabLandscape) {
959
- &[data-layout='2'],
960
- &[data-layout='5'] {
961
- grid-column: 1;
962
- width: max-content;
963
- }
964
- }
965
- }
966
-
967
- // filter elements transition effect. If more effects are needed, add them in ACF and replace 'fade' in css by new transition name
968
- .fade-move,
969
- .fade-enter-active,
970
- .fade-leave-active {
971
- transition: opacity 0.5s ease;
972
- }
973
-
974
- .fade-enter-from,
975
- .fade-leave-to {
976
- opacity: 0;
977
- transform: translateX(30px);
978
- }
979
-
980
- .fade-leave-active {
981
- position: absolute;
982
- }
983
-
984
- &.shopify-add-to-cart {
985
- text-align: center;
986
- }
987
-
988
- @include post-type-filter-grid-v2-extra.additionalStyles();
989
- }