@dcodegroup-au/page-builder 0.2.6 → 0.2.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.
- package/dist/page-builder.css +1 -1
- package/dist/page-builder.es.js +1690 -1666
- package/dist/page-builder.umd.js +38 -38
- package/package.json +1 -1
- package/src/components/builders/VLogos.vue +0 -1
- package/src/components/presenters/components/VCarouselPresenter.vue +8 -18
- package/src/components/presenters/components/VCollectionGridPresenter.vue +8 -2
- package/src/components/presenters/modules/HeroHeader.vue +1 -1
- package/src/components/presenters/modules/LogoCloud.vue +1 -1
- package/src/components/presenters/overridables/VCarouselPrimaryButton.vue +28 -0
package/package.json
CHANGED
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
{{ tag }}
|
|
31
31
|
</span>
|
|
32
32
|
</div>
|
|
33
|
-
<h3 class="
|
|
34
|
-
{{ slide?.title }}
|
|
33
|
+
<h3 class="my-3">
|
|
34
|
+
<a class="text-[24px] font-semibold text-gray-900 leading-[32px] hover:underline" :href="slide.url" target="_blank">{{ slide?.title }}</a>
|
|
35
35
|
</h3>
|
|
36
36
|
<p
|
|
37
37
|
class="text-base font-normal text-gray-600 leading-[24px] multiline-ellipsis"
|
|
@@ -47,19 +47,7 @@
|
|
|
47
47
|
</div>
|
|
48
48
|
</div>
|
|
49
49
|
<div class="border-t border-gray-200 mt-4 pt-[17px] flex justify-between items-center">
|
|
50
|
-
<
|
|
51
|
-
v-if="slide.primary_button?.url"
|
|
52
|
-
:href="formatUrl(slide.primary_button.url)"
|
|
53
|
-
target="_blank"
|
|
54
|
-
class="hover:bg-brand-600 bg-brand-500 text-white h-[40px] rounded-full px-[14px] py-[10px] inline-flex gap-1.5 items-center shadow-xs text-sm"
|
|
55
|
-
>
|
|
56
|
-
<Plus v-if="slide.primary_button?.icon === 'plus'" class="w-4 h-4" />
|
|
57
|
-
<ShoppingCart
|
|
58
|
-
v-if="slide.primary_button?.icon === 'shopping-cart-01'"
|
|
59
|
-
class="w-4 h-4"
|
|
60
|
-
/>
|
|
61
|
-
{{ slide.primary_button.title }}
|
|
62
|
-
</a>
|
|
50
|
+
<VCarouselPrimaryButton :button="slide.primary_button" />
|
|
63
51
|
<a
|
|
64
52
|
v-if="slide.secondary_button"
|
|
65
53
|
target="_blank"
|
|
@@ -101,14 +89,16 @@
|
|
|
101
89
|
</template>
|
|
102
90
|
|
|
103
91
|
<script setup>
|
|
104
|
-
import { ref } from "vue";
|
|
92
|
+
import { ref, inject } from "vue";
|
|
105
93
|
import Clock from "@/assets/img/icons/clock.svg";
|
|
106
|
-
import Plus from "@/assets/img/icons/plus.svg";
|
|
107
|
-
import ShoppingCart from "@/assets/img/icons/shopping-cart-01.svg";
|
|
108
94
|
import ChevronRight from "@/assets/img/icons/chevron-right.svg";
|
|
109
95
|
import ChevronLeft from "@/assets/img/icons/chevron-left.svg";
|
|
110
96
|
import ArrowUpRight from "@/assets/img/icons/arrow-up-right.svg";
|
|
111
97
|
import Ticket from "@/assets/img/icons/ticket-02.svg";
|
|
98
|
+
import DefaultPrimaryButton from "@/components/presenters/overridables/VCarouselPrimaryButton.vue";
|
|
99
|
+
|
|
100
|
+
// Inject the FileUpload component or fallback to the default one
|
|
101
|
+
const VCarouselPrimaryButton = inject("VCarouselPrimaryButton", DefaultPrimaryButton);
|
|
112
102
|
|
|
113
103
|
const props = defineProps({
|
|
114
104
|
component: {
|
|
@@ -21,11 +21,17 @@
|
|
|
21
21
|
</PlayButton>
|
|
22
22
|
</div>
|
|
23
23
|
<img
|
|
24
|
-
v-else
|
|
24
|
+
v-else-if="card.image"
|
|
25
25
|
:src="card.image"
|
|
26
26
|
alt="Card Image"
|
|
27
27
|
class="w-full h-[281px] object-cover rounded-[16px] mb-4"
|
|
28
28
|
/>
|
|
29
|
+
<img
|
|
30
|
+
v-else
|
|
31
|
+
alt="Card Image"
|
|
32
|
+
class="w-full h-[281px] object-cover rounded-[16px] mb-4"
|
|
33
|
+
>
|
|
34
|
+
<img v-else class="w-full h-[281px] object-cover rounded-[16px] mb-4" src="@/assets/img/no_image_available.jpeg">
|
|
29
35
|
<div class="flex flex-col gap-2 items-start text-left w-full">
|
|
30
36
|
<div v-if="card.categories && card.categories.length" class="flex gap-2">
|
|
31
37
|
<span
|
|
@@ -49,7 +55,7 @@
|
|
|
49
55
|
rel="noopener noreferrer"
|
|
50
56
|
>
|
|
51
57
|
<div class="flex justify-between">
|
|
52
|
-
<span class="w-5/6 leading-[28px]"
|
|
58
|
+
<span class="w-5/6 leading-[28px]" v-html="card.title"></span>
|
|
53
59
|
<ArrowUpRight class="w-5 h-5 mt-1"></ArrowUpRight>
|
|
54
60
|
</div>
|
|
55
61
|
</a>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="rounded-[48px]
|
|
2
|
+
<div class="rounded-[48px] 1xl:max-w-[1824px] mx-auto w-full">
|
|
3
3
|
<div v-for="(component, index) in section.components" class="md:px-[90px]">
|
|
4
4
|
<component
|
|
5
5
|
:is="currentComponent(component)"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="w-full relative"
|
|
2
|
+
<div class="w-full relative">
|
|
3
3
|
<div class="1xl:max-w-[1824px] mx-auto relative flex justify-center items-center"
|
|
4
4
|
:class="{'py-8': isHorizontal, 'flex-col py-6': !isHorizontal}">
|
|
5
5
|
<div v-for="(component, index) in section.components">
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<a
|
|
3
|
+
v-if="button?.url"
|
|
4
|
+
:href="formatUrl(button.url)"
|
|
5
|
+
target="_blank"
|
|
6
|
+
class="hover:bg-brand-600 bg-brand-500 text-white h-[40px] rounded-full px-[14px] py-[10px] inline-flex gap-1.5 items-center shadow-xs text-sm"
|
|
7
|
+
>
|
|
8
|
+
<Plus v-if="button?.icon === 'plus'" class="w-4 h-4" />
|
|
9
|
+
<ShoppingCart v-if="button?.icon === 'shopping-cart-01'" class="w-4 h-4" />
|
|
10
|
+
{{ button.title }}
|
|
11
|
+
</a>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script setup>
|
|
15
|
+
import Plus from "@/assets/img/icons/plus.svg";
|
|
16
|
+
import ShoppingCart from "@/assets/img/icons/shopping-cart-01.svg";
|
|
17
|
+
|
|
18
|
+
const props = defineProps({
|
|
19
|
+
button: {
|
|
20
|
+
type: Object,
|
|
21
|
+
required: true,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const formatUrl = (url) => {
|
|
26
|
+
return url.startsWith("http") ? url : `//${url}`;
|
|
27
|
+
};
|
|
28
|
+
</script>
|