@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,449 +0,0 @@
1
- {% set orderby = 'menu_order' %}
2
- {% set order = 'DESC' %}
3
- {% set sorting = sorting|default(fields.sorting) %}
4
- {% if sorting|ru == 'ascending' or sorting|ru == 'descending' %}
5
- {% set orderby = 'title' %}
6
- {% endif %}
7
- {% if sorting|ru == 'dateasc' or sorting|ru == 'datedesc' %}
8
- {% set orderby = 'date' %}
9
- {% endif %}
10
-
11
- {% if sorting|ru == 'ascending' or sorting|ru == 'dateasc' %}
12
- {% set order = 'ASC' %}
13
- {% endif %}
14
-
15
- {% if sorting|ru == 'postorder' or sorting == 'postorder' %}
16
- {% set order = 'ASC' %}
17
- {% set orderby = 'menu_order' %}
18
- {% endif %}
19
-
20
- {% set showAllPosts = showAllPosts|default(fields.show_all_posts) %}
21
- {% if showAllPosts %}
22
- {% set postsPerPage = -1 %}
23
- {% endif %}
24
-
25
- {% set initialPostsPerPage = initialPostsPerPage|default(fields.initial_posts_per_page_desktop) %}
26
- {% set postsPerPage = desktopPostsPerPage|default(fields.posts_per_page_desktop) %}
27
-
28
- {% set defaultCategory = 'all' %}
29
-
30
- {% if categories is not empty and categories is not null %}
31
- {% set categoryIds = categories %}
32
- {% endif %}
33
-
34
- {% if categoryIds is not empty and categoryIds is not null %}
35
- {% if categoryIds is not iterable %}
36
- {% set categoryIds = categoryIds|split(',') %}
37
- {% endif %}
38
- {% if categoryIds is iterable %}
39
- {% set defaultCategory = categoryIds %}
40
- {% endif %}
41
- {% endif %}
42
-
43
- {% set currentMarket = currentMarket|default(fn('apply_filters', 'wpml_current_language', NULL)) %}
44
-
45
- {% if ( pageNum <= 0 ) %}
46
-
47
- {% set allPostsTotal = 0 %}
48
- {% set allPostIdArgs = {
49
- 'post_type': postType,
50
- 'posts_per_page': -1,
51
- 'post_status': 'publish',
52
- 'orderby' : orderby,
53
- 'order' : order,
54
- 'lang': currentMarket,
55
- 'suppress_filters': false,
56
- } %}
57
-
58
- {% if postType == 'media' %}
59
- {% set allPostIdArgs = {
60
- 'post_type': 'attachment',
61
- 'posts_per_page' : -1,
62
- 'post_status': 'inherit',
63
- 'post_mime_type': 'image',
64
- 'lang': currentMarket,
65
- 'suppress_filters': false
66
- } %}
67
- {% endif %}
68
-
69
- {% if limitPostsToSelectedCategories and limitPostsToSelectedCategories != 'false' %}
70
- {% if postType == 'product' or postType == 'cocktail' or postType == 'treat' or postType == 'drink' %}
71
- {% set allPostIdArgs = allPostIdArgs|merge( {
72
- 'tax_query' : [{'taxonomy' : postType ~ '_category',
73
- 'field' : 'term_id',
74
- 'terms' : defaultCategory,
75
- 'include_children' : false,
76
- 'operator' : 'IN'}],
77
- } ) %}
78
- {% else %}
79
- {% set allPostIdArgs = allPostIdArgs|merge( {
80
- 'tax_query' : [{'taxonomy' : 'category',
81
- 'field' : 'term_id',
82
- 'terms' : defaultCategory,
83
- 'include_children' : false,
84
- 'operator' : 'IN'}],
85
- } ) %}
86
- {% endif %}
87
- {% endif %}
88
-
89
- {% set allPosts = get_posts(allPostIdArgs|merge( { 'no_found_rows' : true, 'fields' : 'ids' } )) %}
90
- {% set allPostsTotal = allPosts|length %}
91
-
92
- {# Get all products anyway when post type is cocktails #}
93
- {% if postType == 'cocktail' or postType == 'drink' %}
94
- {% set allProducts = get_posts({
95
- 'post_type' : 'product',
96
- 'posts_per_page' : -1,
97
- 'post_status' : 'publish',
98
- 'orderby' : orderby,
99
- 'order' : order,
100
- 'lang' : currentMarket,
101
- 'fields' : 'ids',
102
- 'suppress_filters' : false})
103
- %}
104
- {% endif %}
105
- {% endif %}
106
-
107
- {% set postsArgs = {
108
- 'post_type': postType,
109
- 'posts_per_page': -1,
110
- 'post_status': 'publish',
111
- 'orderby' : orderby,
112
- 'order' : order,
113
- 'lang': currentMarket,
114
- 'suppress_filters': false,
115
- } %}
116
-
117
- {% if ( pageNum > 0 ) %}
118
- {% set offset = initialPostsPerPage + ((pageNum -1) * postsPerPage )%}
119
- {% set postsArgs = postsArgs|merge({
120
- 'offset' : offset,
121
- }) %}
122
- {% if postType == 'media' %}
123
- {% set postsArgs = {
124
- 'post_type': 'attachment',
125
- 'posts_per_page' : -1,
126
- 'offset' : offset,
127
- 'post_status': 'inherit',
128
- 'post_mime_type': 'image',
129
- 'lang': 'en',
130
- 'suppress_filters': false
131
- } %}
132
- {% endif %}
133
- {% if limitPostsToSelectedCategories and limitPostsToSelectedCategories != 'false' %}
134
- {% if postType == 'product' or postType == 'cocktail' or postType == 'treat' or postType == 'drink' %}
135
- {% set postsArgs = postsArgs|merge( {
136
- 'tax_query' : [{'taxonomy' : postType ~ '_category',
137
- 'field' : 'term_id',
138
- 'terms' : defaultCategory,
139
- 'include_children' : false,
140
- 'operator' : 'IN'}],
141
- } ) %}
142
- {% elseif postType == 'media' %}
143
- {% set postsArgs = {
144
- 'post_type': 'attachment',
145
- 'posts_per_page' : -1,
146
- 'offset' : offset,
147
- 'post_status': 'inherit',
148
- 'post_mime_type': 'image',
149
- 'lang': 'en',
150
- 'suppress_filters': false
151
- } %}
152
- {% else %}
153
- {% set postsArgs = postsArgs|merge( {
154
- 'tax_query' : [{'taxonomy' : 'category',
155
- 'field' : 'term_id',
156
- 'terms' : defaultCategory,
157
- 'include_children' : false,
158
- 'operator' : 'IN'}],
159
- } ) %}
160
- {% endif %}
161
- {% endif %}
162
- {% set posts = get_posts(postsArgs) %}
163
- {% else %}
164
- {% set postsArgs = postsArgs|merge({
165
- 'posts_per_page' : initialPostsPerPage,
166
- 'orderby' : orderby,
167
- 'order' : order,
168
- }) %}
169
- {% if postType == 'media' %}
170
- {% set postsArgs = {
171
- 'post_type': 'attachment',
172
- 'posts_per_page' : initialPostsPerPage,
173
- 'post_status': 'inherit',
174
- 'post_mime_type': 'image',
175
- 'lang': 'en',
176
- 'suppress_filters': false
177
- } %}
178
- {% set testVariable = postsArgs %}
179
- {% endif %}
180
- {% if limitPostsToSelectedCategories and limitPostsToSelectedCategories != 'false' %}
181
- {% if postType == 'product' or postType == 'cocktail' or postType == 'treat' or postType == 'drink' %}
182
- {% set postsArgs = postsArgs|merge( {
183
- 'tax_query' : [{'taxonomy' : postType ~ '_category',
184
- 'field' : 'term_id',
185
- 'terms' : defaultCategory,
186
- 'include_children' : false,
187
- 'operator' : 'IN'}],
188
- } ) %}
189
- {% else %}
190
- {% set postsArgs = postsArgs|merge( {
191
- 'tax_query' : [{'taxonomy' : 'category',
192
- 'field' : 'term_id',
193
- 'terms' : defaultCategory,
194
- 'include_children' : false,
195
- 'operator' : 'IN'}],
196
- } ) %}
197
- {% if postType == 'media' %}
198
- {% set postsArgs = postsArgs|merge( {
199
- 'tax_query' : [{'taxonomy' : 'category',
200
- 'field' : 'term_id',
201
- 'terms' : defaultCategory,
202
- 'include_children' : false,
203
- post_mime_type: 'image',
204
- 'operator' : 'IN'}],
205
- } ) %}
206
- {% endif %}
207
- {% endif %}
208
- {% endif %}
209
- {% set posts = get_posts(postsArgs) %}
210
- {% endif %}
211
-
212
- {% set updatedPosts = [] %}
213
-
214
- {% if postType == 'media' %}
215
- {% for mediaItem in posts %}
216
- {% set updatedPost = {} %}
217
- {% set post_images = {} %}
218
- {% set post_image = get_image(mediaItem) %}
219
- {% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
220
- {% set post_images = post_images|merge({'post_image_srcset' : gt_image_srcset(post_image)}) %}
221
- {% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
222
- {% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
223
- {% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
224
- {% set post_data = {'slug' : post_image.guid, 'post_type' : postType} %}
225
- {% set post_images = post_images|merge({'post_image' : post_image}) %}
226
- {% set updatedPost = updatedPost|merge({'post_images' : post_images}) %}
227
- {% set updatedPost = updatedPost|merge({'post_data' : post_data}) %}
228
- {% set updatedPost = updatedPost|merge({'categories' : post_image.terms}) %}
229
- {% set updatedPost = updatedPost|merge({'id' : post_image.id}) %}
230
- {% set updatedPost = updatedPost|merge({'link' : post_image.link}) %}
231
- {% set updatedPosts = updatedPosts|merge([updatedPost]) %}
232
- {% endfor %}
233
- {% endif %}
234
-
235
- {% if postType == 'pr_social_media_item' %}
236
- {% set pr_social_media_item = get_posts({
237
- 'post_type' : 'pr_social_media_item',
238
- 'posts_per_page' : -1,
239
- 'post_status' : 'publish',
240
- 'pr_social_account' : fields.social_account,
241
- 'lang' : currentMarket,
242
- 'suppress_filters' : false,
243
- 'has_password' : false})
244
- %}
245
- {% set posts = [] %}
246
- {% for mediaItem in pr_social_media_item %}
247
- {% set updatedPost = {} %}
248
- {% set post_images = {} %}
249
- {% set post_image = get_image(mediaItem.thumbnail) %}
250
- {% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
251
- {% set post_images = post_images|merge({'post_image_srcset' : post_image.srcset}) %}
252
- {% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
253
- {% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
254
- {% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
255
- {% set post_data = {'slug' : post_image.guid, 'post_type' : postType} %}
256
- {% set post_images = post_images|merge({'post_image' : post_image}) %}
257
- {% set updatedPost = updatedPost|merge({'post_images' : post_images}) %}
258
- {% set updatedPost = updatedPost|merge({'post_data' : post_data}) %}
259
- {% set updatedPost = updatedPost|merge({'categories' : post_image.terms}) %}
260
- {% set updatedPost = updatedPost|merge({'link' : post_image.link}) %}
261
- {% set updatedPosts = updatedPosts|merge([updatedPost]) %}
262
- {% endfor %}
263
- {% endif %}
264
-
265
-
266
-
267
- {# Post Data Processing #}
268
- {% if (postType != 'pr_social_media_item') and (postType != 'media')%}
269
- {% set updatedPosts = [] %}
270
- {% for post in posts %}
271
- {% set updatedPost = {} %}
272
- {% set post_images = {} %}
273
- {% set updatedPost = updatedPost|merge({'post_data' : filter_post_data(post.meta, [
274
- 'post_info_description',
275
- 'post_colour',
276
- 'post_container_background_colour',
277
- 'post_colour_secondary',
278
- 'post_text_colour_style',
279
- 'post_type',
280
- 'person_email',
281
- 'person_name',
282
- 'person_questionaire',
283
- 'star_rating',
284
- 'product_bazaarvoice',
285
- 'product_country',
286
- 'product_finish',
287
- 'product_age_statement',
288
- 'product_history',
289
- 'product_nose',
290
- 'c7_slug',
291
- 'product_taste',
292
- 'product_name',
293
- 'product_whisky_type',
294
- 'buy_now_option_select',
295
- 'click_to_buy_pim_id',
296
- 'debrain_pim_id',
297
- 'reserve_bar_liquid_grouping_id',
298
- 'direct_link',
299
- 'debrain_sku_id',
300
- 'mikmak_ean_ids',
301
- 'shopify_pim_id',
302
- 'shopify_engraved_pim_id',
303
- 'post_text_alternative_style',
304
- 'post_info_subtitle',
305
- ])})
306
- %}
307
- {% set updatedPost = updatedPost|merge({'slug' : post.slug}) %}
308
- {% set updatedPost = updatedPost|merge({'post_title' : post.post_title}) %}
309
- {% set updatedPost = updatedPost|merge({'product_details' : post.product_details}) %}
310
- {% set updatedPost = updatedPost|merge({'post_date' : post.post_date}) %}
311
- {% set updatedPost = updatedPost|merge({'id' : post.ID}) %}
312
- {% for term in post.terms %}
313
- {% if term.taxonomy == 'drink_category' %}
314
- {% set updatedPost = updatedPost|merge({'cocktail_category' : term.name}) %}
315
- {% endif %}
316
- {% endfor %}
317
-
318
- {% set updatedPost = updatedPost|merge({'categories' : post.terms}) %}
319
- {% if postType == 'post' or postType == 'page' %}
320
- {% set updatedPost = updatedPost|merge({'categories' : post.categories}) %}
321
- {% endif %}
322
- {% set updatedPost = updatedPost|merge({'tags' : post.tags}) %}
323
- {% set updatedPost = updatedPost|merge({'author_display_name' : post.author.display_name}) %}
324
- {% set updatedPost = updatedPost|merge({'link' : post.link}) %}
325
-
326
-
327
- {% if includeReviews == true %}
328
- {% set rating = function( 'do_shortcode', '[better-reviews post_id="' ~ post.id ~ '" display="' ~ reviewDisplayOptions ~ '"]' )|raw %}
329
- {% set updatedPost = updatedPost|merge({'rating' : rating}) %}
330
- {% endif %}
331
- {% set updatedPost = updatedPost|merge({'product_buynow_direct_link' : gt_unserialize_data(post.meta.direct_link)}) %}
332
-
333
- {% set relatedProducts = post.meta('related_products') %}
334
- {% set MikMakDrawerWidgetID = attribute(options['e-shop_settings'], 'mikmak_ctb_drawer_widget_id') %}
335
- {% set relatedProductEANs = '' %}
336
- {% for relatedPost in relatedProducts %}
337
- {% set relatedProduct = get_post(relatedPost) %}
338
- {% set relatedProductEANs = relatedProductEANs ~ ',' ~ relatedProduct.meta('mikmak_ean_ids')|trim(',') %}
339
- {% endfor %}
340
- {% set relatedProductEANs = relatedProductEANs|trim(',') %}
341
- {% if relatedProductEANs is not empty %}
342
- {% set updatedPost = updatedPost|merge({'related_product_eans' : relatedProductEANs}) %}
343
- {% endif %}
344
- {% set updatedPost = updatedPost|merge({'mikmak_drawer_widget_ID' : MikMakDrawerWidgetID}) %}
345
-
346
-
347
- {% set post_image = get_image(post.post_image) %}
348
- {% if post_image.id %}
349
- {% set post_images = [] %}
350
- {% set post_images = post_images|merge({'post_image' : post_image}) %}
351
- {% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
352
- {% set post_images = post_images|merge({'post_image_srcset' : gt_image_srcset(post_image)}) %}
353
- {% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
354
- {% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
355
- {% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
356
- {% endif %}
357
- {% if not post_image.id %}
358
- {% set post_image = get_image(post.meta[postType ~ '_image']) %}
359
- {% set post_images = post_images|merge({'post_image' : post_image}) %}
360
- {% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
361
- {% set post_images = post_images|merge({'post_image_srcset' : gt_image_srcset(post_image)}) %}
362
- {% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
363
- {% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
364
- {% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
365
- {% endif %}
366
- {% if not post_image.id %}
367
- {% set post_image = get_image(post._thumbnail_id) %}
368
- {% set post_images = post_images|merge({'post_image' : post_image}) %}
369
- {% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
370
- {% set post_images = post_images|merge({'post_image_srcset' : gt_image_srcset(post_image)}) %}
371
- {% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
372
- {% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
373
- {% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
374
- {% endif %}
375
-
376
- {% set post_image_alt_id = post.meta['post_image_alt'] %}
377
- {% if post_image_alt_id != null %}
378
- {% set post_image_alt = get_image(post.meta['post_image_alt']) %}
379
- {% set post_images = post_images|merge({'post_image_alt' : post_image_alt}) %}
380
- {% set post_images = post_images|merge({'post_image_alt_src' : gt_image_mainsrc(post_image_alt)}) %}
381
- {% set post_images = post_images|merge({'post_image_alt_srcset' : gt_image_srcset(post_image_alt)}) %}
382
- {% set post_images = post_images|merge({'post_image_alt_width' : post_image_alt.width}) %}
383
- {% set post_images = post_images|merge({'post_image_alt_height' : post_image_alt.height}) %}
384
- {% set post_images = post_images|merge({'post_image_alt_alt_text' : post_image_alt.alt}) %}
385
- {% endif %}
386
-
387
- {% set post_image_background_id = post.meta['post_image_background'] %}
388
- {% if post_image_background_id != null %}
389
- {% set post_image_background = get_image(post.meta['post_image_background']) %}
390
- {% set post_images = post_images|merge({'post_image_background' : post_image_background}) %}
391
- {% set post_images = post_images|merge({'post_image_background_src' : gt_image_mainsrc(post_image_background)}) %}
392
- {% set post_images = post_images|merge({'post_image_background_srcset' : gt_image_srcset(post_image_background)}) %}
393
- {% set post_images = post_images|merge({'post_image_background_width' : post_image_background.width}) %}
394
- {% set post_images = post_images|merge({'post_image_background_height' : post_image_background.height}) %}
395
- {% set post_images = post_images|merge({'post_image_background_alt_text' : post_image_background.alt}) %}
396
- {% endif %}
397
-
398
- {% set post_image_accent_id = post.meta['post_image_accent'] %}
399
- {% if post_image_accent_id != null %}
400
- {% set post_image_accent = get_image(post.meta['post_image_accent']) %}
401
- {% set post_images = post_images|merge({'post_image_accent' : post_image_accent}) %}
402
- {% set post_images = post_images|merge({'post_image_accent_src' : gt_image_mainsrc(post_image_accent)}) %}
403
- {% set post_images = post_images|merge({'post_image_accent_srcset' : gt_image_srcset(post_image_accent)}) %}
404
- {% set post_images = post_images|merge({'post_image_accent_width' : post_image_accent.width}) %}
405
- {% set post_images = post_images|merge({'post_image_accent_height' : post_image_accent.height}) %}
406
- {% set post_images = post_images|merge({'post_image_accent_alt_text' : post_image_accent.alt}) %}
407
- {% endif %}
408
- {% set updatedPost = updatedPost|merge({'post_images' : post_images}) %}
409
-
410
- {% set post_image_lifestyle_id = post.meta['post_image_lifestyle'] %}
411
- {% if post_image_lifestyle_id != null %}
412
- {% set post_image_lifestyle = get_image(post.meta['post_image_lifestyle']) %}
413
- {% set post_images = post_images|merge({'post_image_lifestyle' : post_image_lifestyle}) %}
414
- {% set post_images = post_images|merge({'post_image_lifestyle_src' : gt_cf_mainsrc(post_image_lifestyle)}) %}
415
- {% set post_images = post_images|merge({'post_image_lifestyle_srcset' : gt_cf_srcset(post_image_lifestyle)}) %}
416
- {% set post_images = post_images|merge({'post_image_lifestyle_width' : post_image_lifestyle.width}) %}
417
- {% set post_images = post_images|merge({'post_image_lifestyle_height' : post_image_lifestyle.height}) %}
418
- {% set post_images = post_images|merge({'post_image_lifestyle_alt_text' : post_image_lifestyle.alt}) %}
419
- {% endif %}
420
- {% set updatedPost = updatedPost|merge({'post_images' : post_images}) %}
421
- {% set updatedPosts = updatedPosts|merge([updatedPost]) %}
422
- {% endfor %}
423
- {% endif %}
424
-
425
- {% set returnedPosts = {
426
- 'testVariable' : media,
427
- 'postType' : postType,
428
- 'pageNum' : pageNum,
429
- 'order' : order,
430
- 'orderby' : orderby,
431
- 'offset' : offset,
432
- 'sorting' : sorting|ru,
433
- 'postsPerPage' : postsPerPage,
434
- 'initialPostsPerPage' : initialPostsPerPage,
435
- 'defaultCategory' : defaultCategory,
436
- 'limitPostsToSelectedCategories' : limitPostsToSelectedCategories,
437
- 'categoryIds' : categoryIds,
438
- 'defaultCategory' : defaultCategory,
439
- 'categories' : categories,
440
- 'allPosts' : allPosts,
441
- 'allProducts' : allProducts|default([]),
442
- 'categoryId' : categoryId,
443
- 'total' : allPostsTotal,
444
- 'posts' : updatedPosts,
445
- 'taxonomy' : postType ~ '_category',
446
- 'language': fn('apply_filters', 'wpml_current_language', NULL),
447
- 'currentMarket': currentMarket
448
- } %}
449
- {{ returnedPosts|json_encode() }}
@@ -1,38 +0,0 @@
1
- <script>
2
- export default function (props) { }
3
- export function gridLayoutElement(props) {
4
- const element = props.element;
5
- return `
6
- --grid-column-start-mobile: ${element.grid_layout_element?.grid_column_start_mobile};
7
- --grid-column-span-mobile: ${element.grid_layout_element?.grid_column_span_mobile};
8
- --grid-row-start-mobile: ${element.grid_layout_element?.grid_row_start_mobile};
9
- --grid-row-span-mobile: ${element.grid_layout_element?.grid_row_span_mobile};
10
- --grid-horizontal-placement-mobile: ${element.grid_layout_element?.grid_layout_mobile?.grid_horizontal_placement_mobile?.slice(2) != 'default' ? element.grid_layout_element?.grid_layout_mobile?.grid_horizontal_placement_mobile?.slice(2) : element.grid_layout_element?.grid_horizontal_placement?.slice(2)};
11
- --grid-vertical-placement-mobile: ${element.grid_layout_element?.grid_layout_mobile?.grid_vertical_placement_mobile?.slice(2) != 'default' ? element.grid_layout_element?.grid_layout_mobile?.grid_vertical_placement_mobile?.slice(2) : element.grid_layout_element?.grid_vertical_placement?.slice(2)};
12
- --grid-column-start-portrait: ${element.grid_layout_element?.grid_column_start_portrait};
13
- --grid-column-span-portrait: ${element.grid_layout_element?.grid_column_span_portrait};
14
- --grid-row-start-portrait: ${element.grid_layout_element?.grid_row_start_portrait};
15
- --grid-row-span-portrait: ${element.grid_layout_element?.grid_row_span_mobile};
16
- --grid-horizontal-placement-portrait: ${element.grid_layout_element?.grid_layout_portrait?.grid_horizontal_placement_portrait?.slice(2) != 'default' ? element.grid_layout_element?.grid_layout_portrait?.grid_horizontal_placement_portrait?.slice(2) : element.grid_layout_element?.grid_horizontal_placement?.slice(2)};
17
- --grid-vertical-placement-portrait: ${element.grid_layout_element?.grid_layout_portrait?.grid_vertical_placement_portrait?.slice(2) != 'default' ? element.grid_layout_element?.grid_layout_portrait?.grid_vertical_placement_portrait?.slice(2) : element.grid_layout_element?.grid_vertical_placement?.slice(2)};
18
- --grid-column-start: ${element.grid_layout_element?.grid_column_start};
19
- --grid-column-span: ${element.grid_layout_element?.grid_column_span};
20
- --grid-row-start: ${element.grid_layout_element?.grid_row_start};
21
- --grid-row-span: ${element.grid_layout_element?.grid_row_span};
22
- --grid-horizontal-placement-desktop: ${element.grid_layout_element?.grid_horizontal_placement?.slice(2)};
23
- --grid-vertical-placement-desktop: ${element.grid_layout_element?.grid_vertical_placement?.slice(2)};`;
24
- }
25
- export function textEditorStyles(props) {
26
- const element = props.element;
27
- const textColourType = props.element?.text_style?.text_colour?.slice(2);
28
- let textColour = textColourType;
29
- if (textColourType == 'post_text_colour_style') {
30
- textColour = props.post.post_data?.post_text_colour_style?.slice(2);
31
- }
32
- if (textColourType == 'post_colour') {
33
- textColour = props.post.post_data?.post_colour;
34
- }
35
- return `--text-align: ${element.text_style?.text_align?.slice(2)};
36
- --text-transform: ${element.text_style?.text_transform?.slice(2)}; --font-weight: ${element.text_style?.text_font_weight?.slice(2)}; --text-colour: ${textColour}`;
37
- }
38
- </script>
@@ -1,31 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
- const props = defineProps(["post", "element", "ctaIcons", "blockClassname"]);
4
-
5
- const gridLayoutString = gridLayoutElement(props);
6
-
7
- const blockClassname = props.blockClassname;
8
- const ctaIcons = props.ctaIcons;
9
- const element = props.element;
10
- const ctaStyle = element.cta_style.replace("__", "");
11
-
12
- const post = props.post;
13
- </script>
14
- <template>
15
- <div
16
- :class="`${blockClassname}__shopify shopify-add-to-cart ${blockClassname}__info-item shopify-wrapper shopify-integration has-shop shop-shopify`"
17
- :data-label="`${element.shopify_text}`"
18
- :data-shopifya2cbtnstyle="`cmpl-cta-style-${element.cta_style}`"
19
- :data-pim="post.post_data.shopify_pim_id"
20
- :style="`--post-colour: ${postColour}; --post-text-colour-style: ${postTextColourStyle}; ${gridLayoutString}`"
21
- v-if="element.product_type.slice(2) == 'standard'"
22
- ></div>
23
- <div
24
- :class="`${blockClassname}__shopify shopify-add-to-cart ${blockClassname}__info-item shopify-wrapper shopify-integration has-shop shop-shopify engraved`"
25
- :data-label="`${element.shopify_text}`"
26
- :data-shopifya2cbtnstyle="`cmpl-cta-style-${element.cta_style}`"
27
- :data-pim="post.post_data.shopify_engraved_pim_id"
28
- :style="`--post-colour: ${postColour}; --post-text-colour-style: ${postTextColourStyle}; ${gridLayoutString}`"
29
- v-if="element.product_type.slice(2) == 'engraved'"
30
- ></div>
31
- </template>
@@ -1,58 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element", "fields"]);
5
- const blockClassname = "post-type-filter-grid-v2";
6
- const imageType = props.element?.image_select?.slice(2);
7
- const setAsBackgroundImage = props.element?.set_as_background_image;
8
- let positioningString = '';
9
- let postImageWidthString = `--post-image-width-mobile: ${props.element.post_image_width}%; --post-image-width-desktop: ${props.element.post_image_width}%;`;
10
- if (imageType === 'image_accent') {
11
- const elementPositioning = props.element?.post_image_positioning.element_positioning;
12
- positioningString = `
13
- --element-rotation-desktop: ${elementPositioning.desktop_positioning.element_rotation_desktop}deg;
14
- --element-rotation-mobile: ${elementPositioning.desktop_positioning.element_rotation_desktop}deg;
15
- --element-z-index: ${elementPositioning.element_z_index};
16
- --element-horizontal-offset-mobile: ${elementPositioning.mobile_positioning.horizontal_offset}%;
17
- --element-vertical-offset-mobile: ${elementPositioning.mobile_positioning.vertical_offset}%;
18
- --element-horizontal-offset-desktop: ${elementPositioning.desktop_positioning.horizontal_offset}%;
19
- --element-vertical-offset-desktop: ${elementPositioning.desktop_positioning.vertical_offset}%;
20
- --mobile-horizontal-placement: ${elementPositioning.mobile_positioning.horizontal_snap?.slice(2)};
21
- --mobile-vertical-placement: ${elementPositioning.mobile_positioning.vertical_snap?.slice(2)};
22
- --desktop-horizontal-placement: ${elementPositioning.desktop_positioning.horizontal_snap?.slice(2)};
23
- --desktop-vertical-placement: ${elementPositioning.desktop_positioning.vertical_snap?.slice(2)};
24
- `;
25
- postImageWidthString = `--post-image-width-mobile: calc( ${props.element.post_image_width_mobile_px} / var(--mobile-design-reference) * var(--screen-width-mobile)); --post-image-width-desktop: calc(${props.element.post_image_width_desktop_px} / var(--desktop-design-reference) * var(--screen-width-desktop));`;
26
- }
27
-
28
- const styleString = `
29
-
30
- --post-image-border-radius: ${props.fields.post_image_border_radius};
31
- `
32
- let postType = props.post.post_data.post_type;
33
- let sizes = "(min-width: 1440px) 50vw, (min-width: 1024px) 50vw, (min-width: 768px) 768px') 100vw";
34
-
35
- const gridLayoutString = gridLayoutElement(props);
36
- const textEditorStylesString = textEditorStyles(props);
37
-
38
- </script>
39
- <template>
40
- <a :class="`${blockClassname}__post-image-container-link ${blockClassname}__info-item ${blockClassname}__post-image-container--${imageType} ${blockClassname}__post-image-container-link--${props.fields.show_alt_image_on_hover ? 'show-alt-image-on-hover' : 'no-hover'} ${setAsBackgroundImage ? blockClassname + '__post-image-container-link--set-as-background-image' : ''}`"
41
- :href="props.post.link" :aria-label="props.post.post_title" :style="`${gridLayoutString}`">
42
- <img v-if="props.post.post_images['post_' + imageType + '_src']"
43
- :class="`${blockClassname}__post-image ${blockClassname}__post-${imageType} ${blockClassname}__post-image--${imageType}`"
44
- loading="lazy" :src="props.post.post_images['post_' + imageType + '_src']"
45
- :width="props.post.post_images['post_' + imageType + '_width']"
46
- :height="props.post.post_images['post_' + imageType + '_height']"
47
- :srcset="props.post.post_images['post_' + imageType + '_srcset']" :sizes=sizes
48
- :alt="props.post.post_images['post_' + imageType + '_alt_text']"
49
- :style="`${styleString} ${positioningString} ${postImageWidthString}`" />
50
- <img v-if="props.fields.show_alt_image_on_hover"
51
- :class="`${blockClassname}__post-image--secondary ${blockClassname}__post-${imageType}`" loading="lazy"
52
- :src="props.post.post_images['post_' + imageType + '_src']"
53
- :width="props.post.post_images['post_' + imageType + '_width']"
54
- :height="props.post.post_images['post_' + imageType + '_height']"
55
- :srcset="props.post.post_images['post_' + imageType + '_srcset']" :sizes=sizes
56
- :alt="props.post.post_images['post_' + imageType + '_alt_text']" :style="`${postImageWidthString}`" />
57
- </a>
58
- </template>
@@ -1,13 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element", "blockClassname"]);
5
- const gridLayoutString = gridLayoutElement(props);
6
-
7
- const blockClassname = "post-type-filter-grid-v2";
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__post-spacer ${blockClassname}__info-item`"
11
- :style="`${gridLayoutString}; --spacer-size-mult:${element.spacer_size}; --spacer-size-mult-portrait:${element.size_portrait}; --spacer-size-mult-mobile:${element.size_mobile}; --spacer-bg-colour:${element.spacer_background}`">
12
- </div>
13
- </template>
@@ -1,10 +0,0 @@
1
- <script setup>
2
- const props = defineProps(["modelValue", "placeholder"]);
3
- const model = defineModel();
4
- const blockClassname = "post-type-filter-grid-v2";
5
- </script>
6
- <template>
7
- <div :class="`${blockClassname}__search-container`">
8
- <input :class="`${blockClassname}__search-input`" v-model="model" :placeholder="props.placeholder" />
9
- </div>
10
- </template>
@@ -1,6 +0,0 @@
1
- @use 'Assets/scss/modules/library-modules/core-mixins/core-mixins';
2
- @use 'Assets/scss/modules/library-modules/core-functions/core-functions';
3
- @use 'Assets/scss/theme/breakpoints';
4
-
5
- @mixin additionalStyles() {
6
- }
@@ -1,15 +0,0 @@
1
- // LIBRARY FILE - Do not modify/override here as your changes will be lost when the package is updated.
2
- import {createApp} from 'vue';
3
- import posttypefiltergridv2 from 'Assets/vue/blocks/post-type-filter-grid-v2.vue';
4
-
5
- export default function posttypefiltergridv2Js(options = {}) {
6
- try {
7
- const {block} = options;
8
- const mountElement = block.children[0];
9
- createApp(posttypefiltergridv2, {...mountElement.dataset}).mount(
10
- mountElement
11
- );
12
- } catch (error) {
13
- console.error(error);
14
- }
15
- }