@total_onion/onion-library 2.0.127 → 2.0.128

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 (45) hide show
  1. package/components/block-post-type-filter-grid-v3/group_64690c62487bc.json +224 -92
  2. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/buy-now-widget.vue +5 -5
  3. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/global-image-widget.vue +1 -1
  4. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-author-widget.vue +1 -1
  5. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-category-widget.vue +1 -1
  6. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-component.vue +2 -59
  7. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-headline-widget.vue +1 -1
  8. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-image-widget.vue +5 -5
  9. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-info-description.vue +2 -1
  10. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-info-subtitle.vue +2 -1
  11. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-link-widget.vue +3 -3
  12. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-publish-widget.vue +1 -1
  13. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-title-widget.vue +1 -1
  14. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/ptfg-utils.vue +10 -10
  15. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/shopify-add-to-cart.vue +6 -12
  16. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/spacer-widget.vue +1 -1
  17. package/package.json +1 -1
  18. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/cocktail-category.vue +0 -40
  19. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/cocktail-tasting-notes.vue +0 -15
  20. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/drink-tastes.vue +0 -26
  21. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/featured-post-component.vue +0 -62
  22. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-email-widget.vue +0 -20
  23. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-name-widget.vue +0 -15
  24. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-questionaire-widget.vue +0 -17
  25. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-rating-widget.vue +0 -25
  26. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-abv.vue +0 -18
  27. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-age-statement.vue +0 -17
  28. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-bazaarvoice.vue +0 -15
  29. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-brand.vue +0 -16
  30. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-cask-type.vue +0 -16
  31. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-country.vue +0 -14
  32. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-description.vue +0 -15
  33. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-details-name.vue +0 -18
  34. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-details-price.vue +0 -15
  35. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-finish.vue +0 -15
  36. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-history.vue +0 -16
  37. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-link.vue +0 -15
  38. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-logo-widget.vue +0 -22
  39. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-name.vue +0 -17
  40. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-nose.vue +0 -16
  41. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-price.vue +0 -15
  42. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-slug.vue +0 -14
  43. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-taste.vue +0 -16
  44. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-whisky-type.vue +0 -25
  45. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/social-media-item.vue +0 -58
@@ -9,7 +9,7 @@ const textEditorStylesString = textEditorStyles(props);
9
9
 
10
10
  </script>
11
11
  <template>
12
- <h3 :class="`${blockClassname}__post-headline ${blockClassname}__info-item ${element.text_style?.typography_style.slice(2)}`"
12
+ <h3 :class="`${blockClassname}__post-headline ${blockClassname}__info-item ${element.text_style?.typography_style.replace('__', '')}`"
13
13
  :style="`${gridLayoutString} ${textEditorStylesString}`">
14
14
  {{ element.headline_text }}
15
15
  </h3>
@@ -3,7 +3,7 @@ import { gridLayoutElement } from "./ptfg-utils.vue";
3
3
 
4
4
  const props = defineProps(["post", "element", "fields", "imageSizesAttribute"]);
5
5
  const blockClassname = "post-type-filter-grid-v3";
6
- const imageType = props.element?.image_select?.slice(2);
6
+ const imageType = props.element?.image_select?.replace('__', '');
7
7
  const imageTypeSecondary = 'image_alt';
8
8
  const setAsBackgroundImage = props.element?.set_as_background_image;
9
9
  let positioningString = '';
@@ -18,10 +18,10 @@ if (imageType === 'image_accent') {
18
18
  --element-vertical-offset-mobile: ${elementPositioning.mobile_positioning.vertical_offset}%;
19
19
  --element-horizontal-offset-desktop: ${elementPositioning.desktop_positioning.horizontal_offset}%;
20
20
  --element-vertical-offset-desktop: ${elementPositioning.desktop_positioning.vertical_offset}%;
21
- --mobile-horizontal-placement: ${elementPositioning.mobile_positioning.horizontal_snap?.slice(2)};
22
- --mobile-vertical-placement: ${elementPositioning.mobile_positioning.vertical_snap?.slice(2)};
23
- --desktop-horizontal-placement: ${elementPositioning.desktop_positioning.horizontal_snap?.slice(2)};
24
- --desktop-vertical-placement: ${elementPositioning.desktop_positioning.vertical_snap?.slice(2)};
21
+ --mobile-horizontal-placement: ${elementPositioning.mobile_positioning.horizontal_snap?.replace('__', '')};
22
+ --mobile-vertical-placement: ${elementPositioning.mobile_positioning.vertical_snap?.replace('__', '')};
23
+ --desktop-horizontal-placement: ${elementPositioning.desktop_positioning.horizontal_snap?.replace('__', '')};
24
+ --desktop-vertical-placement: ${elementPositioning.desktop_positioning.vertical_snap?.replace('__', '')};
25
25
  --element-position: ${elementPositioning.element_position};
26
26
 
27
27
  `;
@@ -9,6 +9,7 @@ const textEditorStylesString = textEditorStyles(props);
9
9
  <template>
10
10
  <div :class="`${blockClassname}__post-info-description ${blockClassname}__info-item`"
11
11
  :style="`${gridLayoutString} ${textEditorStylesString}`">
12
- <p :class="`${element.text_style?.typography_style.slice(2)}`">{{ post.post_data.post_info_description }}</p>
12
+ <p :class="`${element.text_style?.typography_style.replace('__', '')}`">{{ post.post_data.post_info_description
13
+ }}</p>
13
14
  </div>
14
15
  </template>
@@ -9,6 +9,7 @@ const textEditorStylesString = textEditorStyles(props);
9
9
  <template>
10
10
  <div :class="`${blockClassname}__post-info-subtitle ${blockClassname}__info-item`"
11
11
  :style="`${gridLayoutString} ${textEditorStylesString}`">
12
- <p :class="`${element.text_style?.typography_style.slice(2)}`">{{ post.post_data.post_info_subtitle }}</p>
12
+ <p :class="`${element.text_style?.typography_style.replace('__', '')}`">{{ post.post_data.post_info_subtitle }}
13
+ </p>
13
14
  </div>
14
15
  </template>
@@ -3,7 +3,7 @@ import { gridLayoutElement } from "./ptfg-utils.vue";
3
3
  const blockClassname = "post-type-filter-grid-v3";
4
4
  const props = defineProps(["post", "element", "mappedIcons", "ctaStyles", "blockClassname", "options"]);
5
5
  const postColour = props.post.post_data.post_colour;
6
- const postTextColourStyle = props.post.post_data?.post_text_colour_style?.slice(2);
6
+ const postTextColourStyle = props.post.post_data?.post_text_colour_style?.replace('__', '');
7
7
  let ctaStyle = '';
8
8
  if (typeof props.element.cta_style == 'string') {
9
9
  ctaStyle = props.element?.cta_style?.replace("__", '');
@@ -14,11 +14,11 @@ let postCtaStyle = ctaStyle;
14
14
  let postCtaStyleValue = '';
15
15
  let ctaAnimationStyle = '';
16
16
  if (props.element?.cta_style_select) {
17
- if (props.element?.cta_style_select?.slice(2) == 'post-colour') {
17
+ if (props.element?.cta_style_select?.replace('__', '') == 'post-colour') {
18
18
  postCtaStyle = 'post-colour';
19
19
  postCtaStyleValue = `color: ${postColour};--post-text-colour-style: ${postColour};`;
20
20
  }
21
- if (props.element?.cta_style_select?.slice(2) == 'post-text-colour-style') {
21
+ if (props.element?.cta_style_select?.replace('__', '') == 'post-text-colour-style') {
22
22
  postCtaStyle = 'post-text-colour-style';
23
23
  postCtaStyleValue = `color: ${postTextColourStyle};--post-text-colour-style: ${postTextColourStyle};`;
24
24
  }
@@ -37,7 +37,7 @@ const dateWithoutTime = computed(() => {
37
37
  });
38
38
  </script>
39
39
  <template>
40
- <p :class="`${blockClassname}__post-publish-date ${blockClassname}__info-item ${element.text_style?.typography_style.slice(2)}`"
40
+ <p :class="`${blockClassname}__post-publish-date ${blockClassname}__info-item ${element.text_style?.typography_style.replace('__', '')}`"
41
41
  :style="`${gridLayoutString} ${textEditorStylesString}`">
42
42
  {{ dateWithoutTime }}
43
43
  </p>
@@ -11,7 +11,7 @@ const textEditorStylesString = textEditorStyles(props);
11
11
  <template>
12
12
  <a :href="props.post.link" :class="`${blockClassname}__post-title ${blockClassname}__info-item`"
13
13
  :style="`${gridLayoutString}`">
14
- <h3 :class="`${element.text_style?.typography_style.slice(2)}`" :style="`${textEditorStylesString}`"
14
+ <h3 :class="`${element.text_style?.typography_style.replace('__', '')}`" :style="`${textEditorStylesString}`"
15
15
  v-html="post.post_title">
16
16
  </h3>
17
17
  <img :class="`${blockClassname}__post-title-icon`" v-if="element.enable_icon" :src="ctaIcons.cta_load_more_icon"
@@ -9,33 +9,33 @@ export function gridLayoutElement(props) {
9
9
  --grid-column-span-mobile: ${element.grid_layout_element?.grid_column_span_mobile};
10
10
  --grid-row-start-mobile: ${element.grid_layout_element?.grid_row_start_mobile};
11
11
  --grid-row-span-mobile: ${element.grid_layout_element?.grid_row_span_mobile};
12
- --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)};
13
- --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-horizontal-placement-mobile: ${element.grid_layout_element?.grid_layout_mobile?.grid_horizontal_placement_mobile?.replace('__', '') != 'default' ? element.grid_layout_element?.grid_layout_mobile?.grid_horizontal_placement_mobile?.replace('__', '') : element.grid_layout_element?.grid_horizontal_placement?.replace('__', '')};
13
+ --grid-vertical-placement-mobile: ${element.grid_layout_element?.grid_layout_mobile?.grid_vertical_placement_mobile?.replace('__', '') != 'default' ? element.grid_layout_element?.grid_layout_mobile?.grid_vertical_placement_mobile?.replace('__', '') : element.grid_layout_element?.grid_vertical_placement?.replace('__', '')};
14
14
  --grid-column-start-portrait: ${element.grid_layout_element?.grid_column_start_portrait};
15
15
  --grid-column-span-portrait: ${element.grid_layout_element?.grid_column_span_portrait};
16
16
  --grid-row-start-portrait: ${element.grid_layout_element?.grid_row_start_portrait};
17
17
  --grid-row-span-portrait: ${element.grid_layout_element?.grid_row_span_mobile};
18
- --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)};
19
- --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-horizontal-placement-portrait: ${element.grid_layout_element?.grid_layout_portrait?.grid_horizontal_placement_portrait?.replace('__', '') != 'default' ? element.grid_layout_element?.grid_layout_portrait?.grid_horizontal_placement_portrait?.replace('__', '') : element.grid_layout_element?.grid_horizontal_placement?.replace('__', '')};
19
+ --grid-vertical-placement-portrait: ${element.grid_layout_element?.grid_layout_portrait?.grid_vertical_placement_portrait?.replace('__', '') != 'default' ? element.grid_layout_element?.grid_layout_portrait?.grid_vertical_placement_portrait?.replace('__', '') : element.grid_layout_element?.grid_vertical_placement?.replace('__', '')};
20
20
  --grid-column-start: ${element.grid_layout_element?.grid_column_start};
21
21
  --grid-column-span: ${element.grid_layout_element?.grid_column_span};
22
22
  --grid-row-start: ${element.grid_layout_element?.grid_row_start};
23
23
  --grid-row-span: ${element.grid_layout_element?.grid_row_span};
24
- --grid-horizontal-placement-desktop: ${element.grid_layout_element?.grid_horizontal_placement?.slice(2)};
25
- --grid-vertical-placement-desktop: ${element.grid_layout_element?.grid_vertical_placement?.slice(2)};`;
24
+ --grid-horizontal-placement-desktop: ${element.grid_layout_element?.grid_horizontal_placement?.replace('__', '')};
25
+ --grid-vertical-placement-desktop: ${element.grid_layout_element?.grid_vertical_placement?.replace('__', '')};`;
26
26
  }
27
27
 
28
28
  export function textEditorStyles(props) {
29
29
  const element = props.element;
30
- const textColourType = props.element?.text_style?.text_colour?.slice(2);
30
+ const textColourType = props.element?.text_style?.text_colour?.replace('__', '');
31
31
  let textColour = textColourType;
32
32
  if (textColourType == 'post_text_colour_style') {
33
- textColour = props.post.post_data?.post_text_colour_style?.slice(2);
33
+ textColour = props.post.post_data?.post_text_colour_style?.replace('__', '');
34
34
  }
35
35
  if (textColourType == 'post_colour') {
36
36
  textColour = props.post.post_data?.post_colour;
37
37
  }
38
- return `--text-align: ${element.text_style?.text_align?.slice(2)};
39
- --text-transform: ${element.text_style?.text_transform?.slice(2)}; --font-weight: ${element.text_style?.text_font_weight?.slice(2)}; --text-colour: ${textColour}`;
38
+ return `--text-align: ${element.text_style?.text_align?.replace('__', '')};
39
+ --text-transform: ${element.text_style?.text_transform?.replace('__', '')}; --font-weight: ${element.text_style?.text_font_weight?.replace('__', '')}; --text-colour: ${textColour}`;
40
40
  }
41
41
  </script>
@@ -12,20 +12,14 @@ const ctaStyle = element.cta_style.replace("__", "");
12
12
  const post = props.post;
13
13
  </script>
14
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}`"
15
+ <div :class="`${blockClassname}__shopify shopify-add-to-cart ${blockClassname}__info-item shopify-wrapper shopify-integration has-shop shop-shopify`"
16
+ :data-label="`${element.shopify_text}`" :data-shopifya2cbtnstyle="`cmpl-cta-style-${element.cta_style}`"
19
17
  :data-pim="post.post_data.shopify_pim_id"
20
18
  :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}`"
19
+ v-if="element.product_type.replace('__', '') == 'standard'"></div>
20
+ <div :class="`${blockClassname}__shopify shopify-add-to-cart ${blockClassname}__info-item shopify-wrapper shopify-integration has-shop shop-shopify engraved`"
21
+ :data-label="`${element.shopify_text}`" :data-shopifya2cbtnstyle="`cmpl-cta-style-${element.cta_style}`"
27
22
  :data-pim="post.post_data.shopify_engraved_pim_id"
28
23
  :style="`--post-colour: ${postColour}; --post-text-colour-style: ${postTextColourStyle}; ${gridLayoutString}`"
29
- v-if="element.product_type.slice(2) == 'engraved'"
30
- ></div>
24
+ v-if="element.product_type.replace('__', '') == 'engraved'"></div>
31
25
  </template>
@@ -8,6 +8,6 @@ const blockClassname = "post-type-filter-grid-v3";
8
8
  </script>
9
9
  <template>
10
10
  <div :class="`${blockClassname}__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}`">
11
+ :style="`${gridLayoutString}; --spacer-size-mult:${element.size_desktop}; --spacer-size-mult-portrait:${element.size_portrait}; --spacer-size-mult-mobile:${element.size_mobile}; --spacer-bg-colour:${element.spacer_background}`">
12
12
  </div>
13
13
  </template>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@total_onion/onion-library",
3
- "version": "2.0.127",
3
+ "version": "2.0.128",
4
4
  "description": "Component library",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,40 +0,0 @@
1
- <script setup>
2
- const props = defineProps(["post", "element"]);
3
- const blockClassname = "post-type-filter-grid-v3";
4
- const textColourType = props.element?.text_style?.text_colour.slice(2);
5
- let textColour = textColourType;
6
-
7
- if (textColourType == "post_text_colour_style") {
8
- textColour = props.post.post_data?.post_text_colour_style?.slice(2);
9
- }
10
- if (textColourType == "post_colour") {
11
- textColour = props.post.post_data?.post_colour;
12
- }
13
- </script>
14
- <template>
15
- <div :class="`${blockClassname}__cocktail-category ${blockClassname}__info-item`" :style="`--grid-column-start-mobile: ${element.grid_layout_element?.grid_column_start_mobile
16
- }; --grid-column-span-mobile: ${element.grid_layout_element?.grid_column_span_mobile
17
- }; --grid-row-start-mobile: ${element.grid_layout_element?.grid_row_start_mobile
18
- }; --grid-row-span-mobile: ${element.grid_layout_element?.grid_row_span_mobile
19
- }; --grid-column-start: ${element.grid_layout_element?.grid_column_start
20
- }; --grid-column-span: ${element.grid_layout_element?.grid_column_span
21
- }; --grid-row-start: ${element.grid_layout_element?.grid_row_start
22
- }; --grid-row-span: ${element.grid_layout_element?.grid_row_span
23
- }; --grid-horizontal-placement: ${element.grid_layout_element?.grid_horizontal_placement.slice(
24
- 2
25
- )}; --grid-vertical-placement: ${element.grid_layout_element?.grid_vertical_placement.slice(
26
- 2
27
- )}; --text-align: ${element.text_style?.text_align.slice(
28
- 2
29
- )}; --text-transform: ${element.text_style?.text_transform.slice(
30
- 2
31
- )}; --font-weight: ${element.text_style.text_font_weight.slice(
32
- 2
33
- )}; --font-style: ${element.text_style.font_style.slice(
34
- 2
35
- )}; --text-colour: ${textColour}`">
36
- <p v-html="post.cocktail_category" :class="`${blockClassname}__cocktail-category--item ${element.text_style?.typography_style.slice(
37
- 2
38
- )}`"></p>
39
- </div>
40
- </template>
@@ -1,15 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
- const props = defineProps(["post", "element"]);
4
- const gridLayoutString = gridLayoutElement(props);
5
- const textEditorStylesString = textEditorStyles(props);
6
-
7
- const blockClassname = "post-type-filter-grid-v3";
8
- const element = props.element;
9
- </script>
10
- <template>
11
- <div :class="`${blockClassname}__cocktail-tasting-notes ${blockClassname}__info-item`"
12
- :style="`${gridLayoutString} ${textEditorStylesString}`">
13
- <div v-html="props.post.post_data?.cocktail_tasting_notes"></div>
14
- </div>
15
- </template>
@@ -1,26 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
- const props = defineProps(["post", "element"]);
4
- const gridLayoutString = gridLayoutElement(props);
5
- const textEditorStylesString = textEditorStyles(props);
6
- const blockClassname = "post-type-filter-grid-v3";
7
- const textColourType = props.element?.text_style?.text_colour.slice(2);
8
- let textColour = textColourType;
9
-
10
- if (textColourType == "post_text_colour_style") {
11
- textColour = props.post.post_data?.post_text_colour_style?.slice(2);
12
- }
13
- if (textColourType == "post_colour") {
14
- textColour = props.post.post_data?.post_colour;
15
- }
16
- </script>
17
- <template>
18
- <div :class="`${blockClassname}__drink-tastes ${blockClassname}__info-item`"
19
- :style="`${gridLayoutString} ${textEditorStylesString}`">
20
- <template v-for="(category, index) in props.post.categories" :key="index">
21
- <div v-if="category.taxonomy === 'taste'" v-html="category.name" :class="`${blockClassname}__drink-taste--item ${element.text_style?.typography_style.slice(
22
- 2
23
- )}`"></div>
24
- </template>
25
- </div>
26
- </template>
@@ -1,62 +0,0 @@
1
- <script setup>
2
- const props = defineProps(["featuredpost", "fields", "mappedIcons", "ctaStyles"]);
3
-
4
- const blockClassname = "post-type-filter-grid-v3";
5
- let sizes = "(min-width: 1440px) 50vw, (min-width: 1024px) 50vw, (min-width: 768px) 768px') 100vw";
6
- const post = props.featuredpost.post;
7
-
8
- const iconImage = props.mappedIcons['cta_link_icon']['type'] == 'image/svg+xml' ? props.mappedIcons['cta_link_icon']['image'] : '<img src="' + props.mappedIcons['cta_link_icon']['image'] + '">';
9
- // const enableCtaIcon = props.ctaStyles[ctaStyle - 1]?.cta_settings?.include_cta_icon;
10
- let ctaAnimationStyle = '1';
11
- if (props.element?.cta_style_select) {
12
- if (props.element?.cta_style_select?.slice(2) == 'post-colour') {
13
- postCtaStyle = 'post-colour';
14
- postCtaStyleValue = `color: ${postColour};--post-text-colour-style: ${postColour};`;
15
- }
16
- if (props.element?.cta_style_select?.slice(2) == 'post-text-colour-style') {
17
- postCtaStyle = 'post-text-colour-style';
18
- postCtaStyleValue = `color: ${postTextColourStyle};--post-text-colour-style: ${postTextColourStyle};`;
19
- }
20
- if (props.ctaStyles) {
21
- ctaAnimationStyle = props.ctaStyles[ctaStyle - 1]?.cta_settings?.cta_animation_style;
22
- }
23
- }
24
-
25
- </script>
26
- <template>
27
- <a :class="`${blockClassname}__featured-post-container-link`" :href="featuredpost.post_link"
28
- :aria-label="post.post_title">
29
- <div :class="`${blockClassname}__featured-post-image-container`">
30
- <picture>
31
- <source media="(min-width: 1024px)" :srcset="props.featuredpost.post_image_src" width="1" height="1" />
32
- <source :srcset="props.featuredpost.post_image_src_mobile" width="16" height="9" />
33
- <img v-if="props.featuredpost.post_image_src" :class="`${blockClassname}__featured-post-image`"
34
- loading="lazy" :src="props.featuredpost.post_image_src" :width="props.featuredpost.post_image_width"
35
- :height="props.featuredpost.post_image_height" :srcset="props.post_image_srcset" :sizes="sizes"
36
- :alt="props.post_image_alt" />
37
- </picture>
38
- <div v-if="featuredpost.post_category" :class="`${blockClassname}__featured-post-category`">
39
- <template v-for="(category, index) in featuredpost.post_category" :key="index">
40
- <p v-if="featuredpost.post_category != 'translation_priority'" v-html="category.name"
41
- :class="`${blockClassname}__featured-post-category--item`">
42
- </p>
43
- </template>
44
- </div>
45
- </div>
46
- <div :class="`${blockClassname}__featured-post-content-container`">
47
- <h2 v-if="post.post_title" :class="`${blockClassname}__featured-post-title`" v-html="post.post_title"></h2>
48
- <p v-if="featuredpost.post_info_subtitle" :class="`${blockClassname}__featured-post-subtitle`">{{
49
- featuredpost.post_info_subtitle }}</p>
50
- <p v-if="featuredpost.post_info_description" :class="`${blockClassname}__featured-post-description`">{{
51
- featuredpost.post_info_description }}</p>
52
- <a v-if="featuredpost.post_link"
53
- :class="`${blockClassname}__featured-post-link ${blockClassname}__cta cmpl-cta-style-${fields.featured_post_button_style} cmpl-cta-animation-style-${ctaAnimationStyle}`"
54
- :href="featuredpost.post_link">
55
- <span :class="`${blockClassname}__cta-span`">Read more</span>
56
- <span :class="`${blockClassname}__cta-icon cmpl-cta-icon ${blockClassname}__icon-image`"
57
- v-html="iconImage">
58
- </span>
59
- </a>
60
- </div>
61
- </a>
62
- </template>
@@ -1,20 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element", "ctaIcons"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
-
7
- const gridLayoutString = gridLayoutElement(props);
8
- const textEditorStylesString = textEditorStyles(props);
9
-
10
- </script>
11
- <template>
12
- <a :href="`mailto:${post.post_data.person_email}`"
13
- :class="`${blockClassname}__person-email ${blockClassname}__info-item ${element.text_style?.typography_style.slice(2)}`"
14
- :style="`${gridLayoutString} ${textEditorStylesString}`">
15
- <img v-if="element.enable_icon" :class="`${blockClassname}__person-email-icon style-svg`"
16
- :src="props.ctaIcons.cta_email_icon">
17
- {{ element.display_email_as_person_name ? post.post_data.person_name : post.post_data.person_email.toLowerCase()
18
- }}
19
- </a>
20
- </template>
@@ -1,15 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
-
7
- const gridLayoutString = gridLayoutElement(props);
8
- const textEditorStylesString = textEditorStyles(props);
9
- </script>
10
- <template>
11
- <p :class="`${blockClassname}__person-name ${blockClassname}__info-item ${element.text_style?.typography_style.slice(2)}`"
12
- :style="`${gridLayoutString} ${textEditorStylesString}`">
13
- {{ post.post_data.person_name }}
14
- </p>
15
- </template>
@@ -1,17 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element", "ctaIcons"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
- const gridLayoutString = gridLayoutElement(props);
7
- const textEditorStylesString = textEditorStyles(props);
8
-
9
- </script>
10
- <template>
11
- <div v-for="questions in props.post_data.person_questionaire"
12
- :class="`${blockClassname}__person-email ${blockClassname}__info-item ${element.text_style?.typography_style.slice(2)}`"
13
- :style="`${gridLayoutString} ${textEditorStylesString}`">
14
- <img :class="`${blockClassname}__person-email-icon`" :src="props.ctaIcons.cta_email_icon">
15
- {{ post.post_data.person_email }}
16
- </div>
17
- </template>
@@ -1,25 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
- const gridLayoutString = gridLayoutElement(props);
7
-
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__person-rating ${blockClassname}__info-item`" :style="`${gridLayoutString}`">
11
- <div :class="`${blockClassname}__person-rating-star-container`" :key="index">
12
- <svg :class="`${blockClassname}__person-rating-star`" v-for="index in Number(post.post_data.star_rating)"
13
- xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 19.02">
14
- <defs></defs>
15
- <g id="a" />
16
- <g id="b">
17
- <g id="c">
18
- <polygon class="d"
19
- points="10 15.77 3.82 19.02 5 12.14 0 7.27 6.91 6.26 10 0 13.09 6.26 20 7.27 15 12.14 16.18 19.02 10 15.77" />
20
- </g>
21
- </g>
22
- </svg>
23
- </div>
24
- </div>
25
- </template>
@@ -1,18 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
- const gridLayoutString = gridLayoutElement(props);
7
- const textEditorStylesString = textEditorStyles(props);
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__product-abv ${blockClassname}__info-item ${element.text_style?.typography_style.slice(
11
- 2
12
- )}`" :style="`${gridLayoutString} ${textEditorStylesString}`">
13
- <h4 v-if="element.headline_text">{{ element.headline_text }}</h4>
14
- <!-- TODO -->
15
- <!-- --text-align: ${element.text_align.slice(2)}; -->
16
- {{ post.post_data.product_abv }}
17
- </div>
18
- </template>
@@ -1,17 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
-
7
- const gridLayoutString = gridLayoutElement(props);
8
- const textEditorStylesString = textEditorStyles(props);
9
- </script>
10
- <template>
11
- <div :class="`${blockClassname}__product-age-statement ${blockClassname}__info-item`" :style="`${gridLayoutString}`"
12
- v-if="post.post_data.product_age_statement">
13
- <h4 :class="`${element.text_style?.typography_style.slice(2)}`" :style="`${textEditorStylesString}`">
14
- {{ post.post_data.product_age_statement }}
15
- </h4>
16
- </div>
17
- </template>
@@ -1,15 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
- const gridLayoutString = gridLayoutElement(props);
7
- const textEditorStylesString = textEditorStyles(props);
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__product-bazaarvoice ${blockClassname}__info-item ${element.text_style?.typography_style.slice(
11
- 2
12
- )}`" :style="`${gridLayoutString} ${textEditorStylesString}`">
13
- {{ post.post_data.product_bazaarvoice }}
14
- </div>
15
- </template>
@@ -1,16 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
- const gridLayoutString = gridLayoutElement(props);
7
- const textEditorStylesString = textEditorStyles(props);
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__brand ${blockClassname}__info-item ${element.text_style?.typography_style.slice(
11
- 2
12
- )}`" :style="`${gridLayoutString} ${textEditorStylesString}`">
13
- <h4 v-if="element.headline_text">{{ element.headline_text }}</h4>
14
- {{ post.post_data.product_details?.brand }}
15
- </div>
16
- </template>
@@ -1,16 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
- const gridLayoutString = gridLayoutElement(props);
7
- const textEditorStylesString = textEditorStyles(props);
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__product-cask-type ${blockClassname}__info-item ${element.text_style?.typography_style.slice(
11
- 2
12
- )}`" :style="`${gridLayoutString} ${textEditorStylesString}`">
13
- <h4 v-if="element.headline_text">{{ element.headline_text }}</h4>
14
- {{ post.post_data.product_cask_type }}
15
- </div>
16
- </template>
@@ -1,14 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
- const props = defineProps(["post", "element"]);
4
- const blockClassname = "post-type-filter-grid-v3";
5
- const gridLayoutString = gridLayoutElement(props);
6
- const textEditorStylesString = textEditorStyles(props);
7
- </script>
8
- <template>
9
- <div :class="`${blockClassname}__product-country ${blockClassname}__info-item ${element.text_style?.typography_style.slice(
10
- 2
11
- )}`" :style="`${gridLayoutString} ${textEditorStylesString}`">
12
- {{ post.post_data.product_country }}
13
- </div>
14
- </template>
@@ -1,15 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
- const gridLayoutString = gridLayoutElement(props);
7
- const textEditorStylesString = textEditorStyles(props);
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__product-details-description ${blockClassname}__info-item ${blockClassname}__post-details-description ${element.text_style?.typography_style.slice(
11
- 2
12
- )}`" :style="`${gridLayoutString} ${textEditorStylesString}`">
13
- {{ post.post_data.product_details?.description }}
14
- </div>
15
- </template>
@@ -1,18 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement } from "./ptfg-utils.vue";
3
- const props = defineProps(["post", "element"]);
4
- const blockClassname = "post-type-filter-grid-v3";
5
- const gridLayoutString = gridLayoutElement(props);
6
- // console.log(JSON.parse(props.post.post_data));
7
-
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__product-link ${blockClassname}__info-item ${props.element.text_style?.typography_style.slice(
11
- 2
12
- )}`" :style="`${gridLayoutString}`">
13
- <h4 :class="`${element.text_style?.typography_style.slice(2)}`"
14
- :style="`--text-align: ${props.element.text_style?.text_align.slice(2)}; --text-transform: ${props.element.text_style?.text_transform.slice(2)}; --font-weight: ${props.element.text_style.text_font_weight.slice(2)}; --text-colour: ${textColour}`">
15
- {{ props.post.product_details.productName }}
16
- </h4>
17
- </div>
18
- </template>
@@ -1,15 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
- const gridLayoutString = gridLayoutElement(props);
7
- const textEditorStylesString = textEditorStyles(props);
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__price ${blockClassname}__info-item ${element.text_style?.typography_style.slice(
11
- 2
12
- )}`" :style="`${gridLayoutString} ${textEditorStylesString}`">
13
- <span>{{ post.post_data.product_details?.price }}</span>
14
- </div>
15
- </template>
@@ -1,15 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
- const props = defineProps(["post", "element"]);
4
- const blockClassname = "post-type-filter-grid-v3";
5
- const gridLayoutString = gridLayoutElement(props);
6
- const textEditorStylesString = textEditorStyles(props);
7
- </script>
8
- <template>
9
- <div :class="`${blockClassname}__product-finish ${blockClassname}__info-item ${element.text_style?.typography_style.slice(
10
- 2
11
- )}`" :style="`${gridLayoutString} ${textEditorStylesString}`">
12
- <h4 v-if="element.headline_text">{{ element.headline_text }}</h4>
13
- {{ post.post_data.product_finish }}
14
- </div>
15
- </template>
@@ -1,16 +0,0 @@
1
- <script setup>
2
- import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
3
-
4
- const props = defineProps(["post", "element"]);
5
- const blockClassname = "post-type-filter-grid-v3";
6
- const gridLayoutString = gridLayoutElement(props);
7
- const textEditorStylesString = textEditorStyles(props);
8
- </script>
9
- <template>
10
- <div :class="`${blockClassname}__product-history ${blockClassname}__info-item ${element.text_style?.typography_style.slice(
11
- 2
12
- )}`" :style="`${gridLayoutString} ${textEditorStylesString}`">
13
- <h4 v-if="element.headline_text">{{ element.headline_text }}</h4>
14
- {{ post.post_data.product_history }}
15
- </div>
16
- </template>