@dcodegroup-au/page-builder 0.5.6 → 0.5.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.
@@ -11,6 +11,7 @@ import {PartnerWithUs} from "./pages/PartnerWithUs.js";
11
11
  import {OurGroups} from "./pages/OurGroups.js";
12
12
  import {Vectea2024} from "./pages/Vectea2024.js";
13
13
  import {AdvocaryAndResearch} from "./pages/AdvocaryAndResearch.js";
14
+ import {SAEW} from "./pages/SAEW.js";
14
15
 
15
16
  const slide = {
16
17
  title: "About ELAA",
@@ -86,6 +87,18 @@ const sites = [
86
87
  }
87
88
  ]
88
89
 
90
+ const forms = [
91
+ {
92
+ name: "Form 1",
93
+ value: 1,
94
+ },
95
+ {
96
+ name: "Form 2",
97
+ value: 2,
98
+ }
99
+ ]
100
+
101
+
89
102
  const breadcrumbs = [
90
103
  'Site 1',
91
104
  'Site 2',
@@ -94,10 +107,10 @@ const breadcrumbs = [
94
107
 
95
108
  <template>
96
109
  <div>
97
- {{ JSON.stringify(Vectea2024) }}
110
+ {{ JSON.stringify(SAEW) }}
98
111
  <div style="margin: 40px 0">
99
112
  <h1 style="margin-bottom: 20px; font-size: 50px;">Page Render</h1>
100
- <PageRender :page="AdvocaryAndResearch"/>
113
+ <PageRender :page="SAEW"/>
101
114
  </div>
102
115
  <div style="margin: 40px 0">
103
116
  <h1 style="margin-bottom: 20px; font-size: 50px;">Slider Edit</h1>
@@ -113,7 +126,7 @@ const breadcrumbs = [
113
126
  </div>
114
127
  <div style="margin: 40px 0">
115
128
  <h1 style="margin-bottom: 20px; font-size: 50px;">Page Builder</h1>
116
- <PageBuilder v-model="AdvocaryAndResearch" :breadcrumbs="breadcrumbs"/>
129
+ <PageBuilder v-model="SAEW" :breadcrumbs="breadcrumbs" :forms="forms" :sites="sites"/>
117
130
  </div>
118
131
  </div>
119
132
  </template>
@@ -0,0 +1,273 @@
1
+ export const SAEW =
2
+ {
3
+ title: "Advocacy and Research",
4
+ sections: [
5
+ {
6
+ title: "Standard header",
7
+ type: "standard_header",
8
+ components: [
9
+ {
10
+ name: "Standard header",
11
+ type: "header",
12
+ title: "SAEW 2024",
13
+ supporting_text_max_length: 500,
14
+ supporting_text: "The Victorian Early Childhood Teachers and Educators Agreement (VECTEA) is an enterprise agreement that applies to early childhood teachers and educators employed in kindergarten education programs in Victoria.",
15
+ },
16
+ ]
17
+ },
18
+ {
19
+ title: "Paragraph section",
20
+ type: "paragraph",
21
+ revert: true,
22
+ components: [
23
+ {
24
+ name: "Paragraph section",
25
+ type: "paragraph",
26
+ title: "SAEW Project Case Studies",
27
+ paragraph: '<p>The Victorian Government’s Best Start, Best Life reforms represent the most substantial transformation in Victoria’s early childhood sector in a generation. As part of these reforms:</p><ol><li data-list=\\"bullet\\"><span class=\\"ql-ui\\" contenteditable=\\"false\\"></span>The Three-Year-Old Kindergarten program will expand, reaching 15 hours per week across the state by 2029.</li><li data-list=\\"bullet\\"><span class=\\"ql-ui\\" contenteditable=\\"false\\"></span>The Four-Year-Old Kindergarten program will evolve into Pre-Prep, with weekly hours increasing from 15 to 30 by 2036 throughout Victoria.</li></ol>',
28
+ upload_title: 'Featured video',
29
+ featured_image: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4',
30
+ source_type: 'video',
31
+ button: {
32
+ title: 'Register Now',
33
+ selected: 'google.com', // external could be an url
34
+ type: 'form',
35
+ open_in_new_tab: true,
36
+ show: true,
37
+ },
38
+ },
39
+ ]
40
+ },
41
+ {
42
+ title: "Link card section",
43
+ type: "link_card",
44
+ display: "vertical",
45
+ components: [
46
+ {
47
+ name: "Section header",
48
+ type: "header",
49
+ title: "ELAA Supports",
50
+ supporting_text: "Excellence and equity in early childhood education and care",
51
+ },
52
+ {
53
+ name: "Link cards",
54
+ type: "link_cards",
55
+ supportive_text: "Manage the link cards.",
56
+ max_items: 4,
57
+ data: [
58
+ {
59
+ title: "Read more about our history",
60
+ description: "Read more about our history",
61
+ icon: "AlertCircle",
62
+ public: true,
63
+ primary_button: {
64
+ show: true,
65
+ name: 'Button',
66
+ label: 'Join ELAA',
67
+ url: 'https://beta-frontend.elaa.org.au/img/homepage/asset_free_resources.png', // external could be an url
68
+ type: 'external-page',
69
+ open_in_new_tab: false,
70
+ }
71
+ },
72
+ {
73
+ title: "Read more about our history",
74
+ description: "Read more about our history",
75
+ public: true,
76
+ icon: 'AlignLeft01',
77
+ primary_button: {
78
+ show: true,
79
+ name: 'Button',
80
+ label: 'Learn more',
81
+ url: '', // external could be an url
82
+ type: 'external-page',
83
+ open_in_new_tab: true,
84
+ }
85
+ },
86
+ {
87
+ title: "Read more about our history",
88
+ description: "Read more about our history",
89
+ public: true,
90
+ icon: 'AlignLeft01',
91
+ primary_button: {
92
+ show: true,
93
+ name: 'Button',
94
+ label: 'Learn more',
95
+ url: '', // external could be an url
96
+ type: 'external-page',
97
+ open_in_new_tab: true,
98
+ }
99
+ },
100
+ {
101
+ title: "Read more about our history",
102
+ description: "Read more about our history",
103
+ public: true,
104
+ icon: 'AlignLeft01',
105
+ primary_button: {
106
+ show: true,
107
+ name: 'Button',
108
+ label: 'Email us',
109
+ url: 'https://beta-frontend.elaa.org.au/img/homepage/asset_free_resources.png', // external could be an url
110
+ type: 'external-page',
111
+ open_in_new_tab: true,
112
+ }
113
+ },
114
+ ]
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ title: "Paragraph section",
120
+ type: "paragraph",
121
+ is_full_width: true,
122
+ components: [
123
+ {
124
+ name: "Paragraph section",
125
+ type: "paragraph",
126
+ title: "Background",
127
+ paragraph: '<div class="flex flex-col gap-3" bis_skin_checked="1"></div><p class="text-gray-600 text-lg"> To address workforce capacity and capability constraints in the ECEC sector, the Victorian Government has allocated funding for the Skilling an Adaptable Early Childhood Education and Care Workforce (SAEW) project. </p><p class="text-gray-600 text-lg"> With this funding ELAA, in partnership with Gowrie Victoria and The Y Ballart, have developed a series of specialised <strong>eLearning Training Modules</strong> to ensure early childhood educators can apply their skills and training in the workplace that meets the learning and developmental needs of children and the workforce requirements of employers across the ECEC sector. </p><p class="text-gray-600 text-lg"> To complement the training modules is the <strong>SAEW Community Hub</strong> – an interactive learning platform enabling participants to share experiences and expertise, build professional networks and access additional training workshops and best practice resources to support their professional practice as an early childhood educators. </p><p class="text-gray-600 text-lg"> Through their participation in the SAEW project, early childhood educators will build new skills and peer networks that is responsive to the educational needs of children and workplace capability requirements of the ECEC sector. </p>',
128
+ },
129
+ ]
130
+ },
131
+ {
132
+ title: "Callout Section",
133
+ type: "callout",
134
+ components: [
135
+ {
136
+ name: "Callout Section",
137
+ type: "callout",
138
+ title: "Our Purpose",
139
+ has_extra: true,
140
+ title_label: "Eyebrow heading",
141
+ supporting_text_max_length: 500,
142
+ supporting_text: "To build meaningful, reliable, and human-centered software that solves real problems, empowers users, and advances innovation responsibly.",
143
+ supporting_text_label: "Message *",
144
+ },
145
+ ]
146
+ },
147
+ {
148
+ title: "Paragraph section",
149
+ type: "paragraph",
150
+ is_full_width: true,
151
+ components: [
152
+ {
153
+ name: "Paragraph section",
154
+ type: "paragraph",
155
+ title: "SAEW Project Case Studies",
156
+ paragraph: '<p>The Victorian Government’s Best Start, Best Life reforms represent the most substantial transformation in Victoria’s early childhood sector in a generation. As part of these reforms:</p><ol><li data-list=\\"bullet\\"><span class=\\"ql-ui\\" contenteditable=\\"false\\"></span>The Three-Year-Old Kindergarten program will expand, reaching 15 hours per week across the state by 2029.</li><li data-list=\\"bullet\\"><span class=\\"ql-ui\\" contenteditable=\\"false\\"></span>The Four-Year-Old Kindergarten program will evolve into Pre-Prep, with weekly hours increasing from 15 to 30 by 2036 throughout Victoria.</li></ol><p>Extending the hours of teacher-led, play-based learning through Pre-Prep in the year before school provides children with enhanced access to the numerous benefits of early childhood education. Pre-Prep will launch in 2025, starting with children in six regional Victorian local government areas, and will gradually expand across the state.</p>',
157
+ },
158
+ ]
159
+ },
160
+ {
161
+ title: "Video grid",
162
+ type: "collection_grid",
163
+ padding_top: false,
164
+ components: [
165
+ {
166
+ name: "Grid",
167
+ type: "video_grid",
168
+ padding_top: false,
169
+ max_items: 3,
170
+ data: [
171
+ {
172
+ video: "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4",
173
+ },
174
+ {
175
+ video: "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4",
176
+ },
177
+ {
178
+ video: "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4",
179
+ }
180
+ ]
181
+ }
182
+ ]
183
+ },
184
+ {
185
+ title: "Bullet Points Section",
186
+ type: "bullet_points",
187
+ has_background: true,
188
+ margin: true,
189
+ components: [
190
+ {
191
+ name: "Section header",
192
+ type: "header",
193
+ title: "Addressing Section Challenges",
194
+ icon: "AlertCircle",
195
+ supporting_text: "ELAA has developed a grass roots understanding of the value and challenges presented by early childhood education. We share our members’ passion for delivering excellence in early learning to children before they commence school, and we help them to do this by providing professional support and resources on a wide range of matters including:",
196
+ },
197
+ {
198
+ name: "Bullet Points 1",
199
+ type: "bullet_points",
200
+ supportive_text: "This section can contain up to 10 items.",
201
+ title: "The individual topics include:",
202
+ max_items: 10,
203
+ has_type_switcher: false,
204
+ max_title: 500,
205
+ data: [
206
+ {
207
+ title: "Read more about our history 1",
208
+ },
209
+ {
210
+ title: "Read more about our history 2",
211
+ },
212
+ {
213
+ title: "Read more about our history 3",
214
+ },
215
+ {
216
+ title: "Read more about our history 4",
217
+ },
218
+ ]
219
+ },
220
+ {
221
+ name: "Bullet Points 2",
222
+ type: "bullet_points",
223
+ supportive_text: "This section can contain up to 10 items.",
224
+ title: "Under Development",
225
+ max_items: 10,
226
+ has_type_switcher: false,
227
+ max_title: 500,
228
+ data: [
229
+ {
230
+ title: "Read more about our history 1",
231
+ },
232
+ {
233
+ title: "Read more about our history 2",
234
+ },
235
+ {
236
+ title: "Read more about our history 3",
237
+ },
238
+ {
239
+ title: "Read more about our history 4",
240
+ },
241
+ ]
242
+ }
243
+ ]
244
+ },
245
+ {
246
+ title: "CTA Section",
247
+ type: "quick_links",
248
+ as_cta: true,
249
+ components: [
250
+ {
251
+ name: "Header",
252
+ type: "header",
253
+ title: 'Secure your spot today as places are limited!',
254
+ supporting_text: 'Our knowledge and expertise of the early childhood sector enables ELAA to provide expert professional advice and support.',
255
+ },
256
+ {
257
+ name: "CTA section",
258
+ type: "link_grid",
259
+ supportive_text: "This section can contain up to 5 links.",
260
+ max_items: 5,
261
+ data: [
262
+ {
263
+ title: "Register Now",
264
+ url: '/admin', // external could be an url
265
+ type: 'site-content',
266
+ open_in_new_tab: true,
267
+ },
268
+ ]
269
+ }
270
+ ]
271
+ },
272
+ ]
273
+ };
@@ -176,7 +176,7 @@ export const Vectea2024 =
176
176
  as_item: true,
177
177
  is_editor: true,
178
178
  title: "What is an enterprise agreement? Is this the same as an award?",
179
- supporting_text: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos quaerat sed minus maiores dolorem consectetur quibusdam harum itaque deserunt at eligendi qui illum praesentium odit sit, voluptates nobis expedita?",
179
+ supporting_text: "<div class=\"flex flex-col gap-3\" bis_skin_checked=\"1\"></div><p class=\"text-gray-600 text-lg\"> To address workforce capacity and capability constraints in the ECEC sector, the Victorian Government has allocated funding for the Skilling an Adaptable Early Childhood Education and Care Workforce (SAEW) project. </p><p class=\"text-gray-600 text-lg\"> With this funding ELAA, in partnership with Gowrie Victoria and The Y Ballart, have developed a series of specialised <strong>eLearning Training Modules</strong> to ensure early childhood educators can apply their skills and training in the workplace that meets the learning and developmental needs of children and the workforce requirements of employers across the ECEC sector. </p><p class=\"text-gray-600 text-lg\"> To complement the training modules is the <strong>SAEW Community Hub</strong> – an interactive learning platform enabling participants to share experiences and expertise, build professional networks and access additional training workshops and best practice resources to support their professional practice as an early childhood educators. </p><p class=\"text-gray-600 text-lg\"> Through their participation in the SAEW project, early childhood educators will build new skills and peer networks that is responsive to the educational needs of children and workplace capability requirements of the ECEC sector. </p>",
180
180
  },
181
181
  {
182
182
  has_extra: true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcodegroup-au/page-builder",
3
- "version": "0.5.6",
3
+ "version": "0.5.8",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/page-builder.es.js"
@@ -66,6 +66,7 @@
66
66
  :key="`${selected?.sectionIndex} - ${selected?.componentIndex} ${Math.random().toString(36).substring(2, 10)}`"
67
67
  :data="selected"
68
68
  :sites="sites"
69
+ :forms="forms"
69
70
  @update="save"
70
71
  ></component>
71
72
  </div>
@@ -112,6 +113,12 @@ const props = defineProps({
112
113
  return []
113
114
  }
114
115
  },
116
+ forms: {
117
+ type: Array,
118
+ default: () => {
119
+ return []
120
+ }
121
+ },
115
122
  breadcrumbs: {
116
123
  type: Array,
117
124
  default: () => {
@@ -53,18 +53,52 @@
53
53
  >
54
54
  <QuillEditor v-model="dataRef.paragraph"/>
55
55
  </input-wrapper>
56
-
57
56
  </div>
58
57
  <div class="rounded-xl bg-gray-200 mt-4" v-if="dataRef.hasOwnProperty('featured_image')">
59
- <card :classes="'bg-gray-200'" title="Featured Image"
58
+ <card :classes="'bg-gray-200'"
59
+ :title="dataRef?.upload_title ? dataRef.upload_title : 'Featured Image'"
60
60
  supporting_text="Recommended dimension: 1200*1060px">
61
61
  <VFileUpload
62
62
  name="image"
63
+ :type="dataRef?.source_type ?? 'image'"
63
64
  height="h-[395px]"
64
65
  v-model="dataRef.featured_image"
65
66
  />
66
67
  </card>
67
68
  </div>
69
+ <div class="rounded-xl bg-gray-200 mt-4 px-6 py-5 flex flex-col gap-4" v-if="dataRef.hasOwnProperty('button')">
70
+ <p class="text-lg font-semibold text-gray-900 border-b border-gray-200 pb-4">
71
+ Link To
72
+ </p>
73
+ <VToggle name="show" v-model="dataRef.button.show" title="Show Button"/>
74
+ <input-wrapper
75
+ v-if="dataRef.button"
76
+ is-vertical
77
+ field="title"
78
+ label-text="Button label *"
79
+ class="w-full mb-4"
80
+ :value="dataRef.button.title"
81
+ :limit="51"
82
+ >
83
+ <input
84
+ v-model="dataRef.button.title"
85
+ name="title"
86
+ type="text"
87
+ placeholder="Title"
88
+ :maxlength="51"
89
+ class="border-1 border-solid border-gray-300 rounded-lg bg-white w-full"
90
+ />
91
+ </input-wrapper>
92
+ <linked-to
93
+ v-if="dataRef?.button"
94
+ name="button"
95
+ v-model:type="dataRef.button.type"
96
+ v-model:url="dataRef.button.url"
97
+ v-model:openInNewTab="dataRef.button.open_in_new_tab"
98
+ :sites="sites"
99
+ :forms="forms"
100
+ />
101
+ </div>
68
102
  </div>
69
103
  </template>
70
104
  <script setup>
@@ -74,6 +108,8 @@ import InputWrapper from "@/components/common/InputWrapper.vue";
74
108
  import QuillEditor from "@/components/common/QuillEditor.vue";
75
109
  import Card from "@/components/common/Card.vue";
76
110
  import DefaultFileUpload from "@/components/common/FileUpload.vue";
111
+ import LinkedTo from "@/components/common/LinkedTo.vue";
112
+ import VToggle from "@/components/common/Toggle.vue";
77
113
 
78
114
  // Inject the FileUpload component or fallback to the default one
79
115
  const VFileUpload = inject("VFileUpload", DefaultFileUpload);
@@ -81,6 +117,10 @@ const VFileUpload = inject("VFileUpload", DefaultFileUpload);
81
117
  const emit = defineEmits(["update"]);
82
118
  const props = defineProps({
83
119
  ...defaultProps,
120
+ forms: {
121
+ type: Array,
122
+ default: () => []
123
+ }
84
124
  });
85
125
 
86
126
  const dataRef = ref(props.data.component);
@@ -0,0 +1,22 @@
1
+ <template>
2
+ <div class="flex flex-col gap-2">
3
+ <label class="text-sm font-medium text-gray-700">Select an item*</label>
4
+ <select v-model="url" name="url">
5
+ <option
6
+ :value="item.value"
7
+ v-for="(item) in items">
8
+ {{ item.name }}
9
+ </option>
10
+ </select>
11
+ </div>
12
+ </template>
13
+
14
+ <script setup>
15
+
16
+ const url = defineModel("url");
17
+
18
+ defineProps({
19
+ items: {type: Object, required: true},
20
+ errors: {type: Object, required: false, default: () => ({})},
21
+ });
22
+ </script>
@@ -10,14 +10,13 @@
10
10
  :value="option"
11
11
  v-model="type"
12
12
  class="checked:bg-brand-600 hover:bg-brand-600 checked:hover:bg-brand-600 focus:bg-brand-600 focus:ring-brand-600 focus:checked:bg-brand-600 rounded-full"
13
- :disabled="option === 'form'"
14
13
  />
15
14
  <span>{{ toReadableWords(option) }}</span>
16
15
  </label>
17
16
  </div>
18
17
  </div>
19
18
  <div class="flex flex-col gap-2">
20
- <component :is="getComponentByType(type)" v-model:url="url" v-model="url" :sites="sites"/>
19
+ <component :is="getComponentByType(type)" v-model:url="url" :sites="sites" :items="forms"/>
21
20
  <input type="hidden" name="url" :value="url" />
22
21
  </div>
23
22
  <div class="flex items-center gap-2">
@@ -32,6 +31,7 @@ import VToggle from "@/components/common/Toggle.vue";
32
31
  import SiteContent from "@/components/common/SiteContent.vue";
33
32
  import ExternalPage from "@/components/common/ExternalPage.vue";
34
33
  import DefaultFileUpload from "@/components/common/FileUpload.vue";
34
+ import ItemSelect from "@/components/common/ItemSelect.vue";
35
35
 
36
36
  // Inject the FileUpload component or fallback to the default one
37
37
  const VFileUpload = inject("VFileUpload", DefaultFileUpload);
@@ -42,9 +42,10 @@ const openInNewTab = defineModel("openInNewTab");
42
42
 
43
43
  defineProps({
44
44
  label: { type: String, required: false },
45
- sites: { type: Array, required: true },
45
+ sites: { type: Array, required: false, default: () => []}, // Todo refactor sites to items as generic usage
46
+ forms: { type: Array, required: false, default: () => []},
46
47
  name: { type: String, required: true },
47
- options: { type: Array, required: false, default: ["site-content", "external-page", 'download'] },
48
+ options: { type: Array, required: false, default: ["site-content", "external-page", 'download', 'form'] },
48
49
  });
49
50
 
50
51
  const toReadableWords = (input) => {
@@ -60,6 +61,7 @@ const getComponentByType = (type) => {
60
61
  "site-content": SiteContent,
61
62
  "external-page": ExternalPage,
62
63
  "download": VFileUpload,
64
+ "form": ItemSelect,
63
65
  };
64
66
  return components[type] || null;
65
67
  };
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="flex flex-col items-center gap-6 pb-[40px] pt-[24px]">
2
+ <div class="flex flex-col items-center gap-6 pb-[40px] pt-[24px]" :class="{'!pt-0': component.hasOwnProperty('padding_top') && !component?.padding_top}">
3
3
  <div class="grid grid-cols-1 md:grid-cols-3 gap-6 w-full">
4
4
  <div v-for="(card, index) in items" :key="index" class="card bg-white sm:p-0 px-4">
5
5
  <div v-if="component.type === 'video_grid'" class="relative group">
@@ -26,7 +26,7 @@
26
26
  alt="Card Image"
27
27
  class="w-full h-[281px] object-cover rounded-[16px] mb-4"
28
28
  />
29
- <img v-else class="w-full h-[281px] object-cover rounded-[16px] mb-4" src="@/assets/img/no_image_available.jpeg">
29
+ <img v-else class="w-full h-[281px] object-cover rounded-[16px] mb-4" alt="No Available" src="@/assets/img/no_image_available.jpeg">
30
30
  <div class="flex flex-col gap-2 items-start text-left w-full">
31
31
  <div v-if="card.categories && card.categories.length" class="flex gap-2">
32
32
  <span
@@ -19,15 +19,17 @@
19
19
  <p v-if="headerComponent?.supporting_text" class="text-[20px] font-normal mt-2 text-gray-600 leading-[30px]"
20
20
  v-html="headerComponent.supporting_text"></p>
21
21
  </div>
22
- <div class="flex flex-col mt-8 gap-4" :class="{'!grid grid-cols-3' :!headerComponent?.featured_image && !section?.two_column}"
23
- v-if="bulletPointsComponent">
24
- <p v-if="bulletPointsComponent?.title" v-text="bulletPointsComponent.title" class="font-semibold text-[20px]"></p>
25
- <div v-for="item in bulletPointsComponent.data" class="flex">
26
- <div
27
- class="bg-gray-100 rounded-full w-[28px] h-[28px] flex items-center justify-center text-gray-500 mr-2">
28
- <CheckIcon class="w-4 h-4"></CheckIcon>
22
+ <div v-for="bullet in bulletPointsComponents" class="mt-8">
23
+ <p v-if="bullet?.title" v-text="bullet.title" class="font-semibold text-[20px] mb-4"></p>
24
+ <div class="flex flex-col gap-4"
25
+ :class="{'!grid grid-cols-3' :!headerComponent?.featured_image && !section?.two_column}">
26
+ <div v-for="item in bullet.data" class="flex">
27
+ <div
28
+ class="bg-gray-100 rounded-full w-[28px] h-[28px] flex items-center justify-center text-gray-500 mr-2">
29
+ <CheckIcon class="w-4 h-4"></CheckIcon>
30
+ </div>
31
+ <p class="text-lg text-gray-600 w-[97%]">{{ item.title }}</p>
29
32
  </div>
30
- <p class="text-lg text-gray-600 w-[97%]">{{ item.title }}</p>
31
33
  </div>
32
34
  </div>
33
35
  </div>
@@ -54,8 +56,8 @@ const section = ref(props.section);
54
56
  const headerComponent = computed(() => {
55
57
  return section.value.components.find((component) => component.type === "header");
56
58
  });
57
- const bulletPointsComponent = computed(() => {
58
- return section.value.components.find((component) => component.type === "bullet_points");
59
+ const bulletPointsComponents = computed(() => {
60
+ return section.value.components.filter((component) => component.type === "bullet_points");
59
61
  });
60
62
 
61
63
  onMounted(() => {
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="overflow-hidden">
3
- <div class="max-w-[1640px] md:px-[120px] mx-auto w-full pt-[40px]">
3
+ <div class="max-w-[1640px] md:px-[120px] mx-auto w-full pt-[40px]" :class="{'!pt-0': section.hasOwnProperty('padding_top') && !section?.padding_top}">
4
4
  <template v-for="(component, index) in section.components" :key="index">
5
5
  <component
6
6
  :is="currentComponent(component)"
@@ -20,7 +20,7 @@
20
20
  <Minus v-else class="w-6 h-6 cursor-pointer text-gray-400 hover:text-gray-700" @click="toggle(index)"></Minus>
21
21
  </span>
22
22
  </a>
23
- <p v-if="show[index]" class="mt-2 text-gray-600 leading-[24px]" v-html="link.supporting_text"></p>
23
+ <p v-if="show[index]" class="mt-2 text-gray-600 leading-[24px] all-unset" v-html="link.supporting_text"></p>
24
24
  </div>
25
25
  </div>
26
26
  </div>