@levo-so/blocks 0.3.13 → 0.3.15

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,46 +11,67 @@ import {
11
11
  useContentEngine,
12
12
  } from "@levo-so/studio";
13
13
  import dayjs from "dayjs";
14
- import { useState } from "react";
14
+ import { useEffect, useState } from "react";
15
15
 
16
16
  import type { ICalendar1Content } from "./calendar-1.schema";
17
17
 
18
+ type IEventItem = ICalendar1Content["listing_section"][number] & {
19
+ starts_at?: string;
20
+ ends_at?: string;
21
+ };
22
+
18
23
  const EventCard: React.FC<{
19
- event: ICalendar1Content["listing_section"][number];
24
+ event: IEventItem;
20
25
  index: number;
21
26
  }> = ({ event, index }) => {
22
- const isEndDateValid = !!(
23
- dayjs(event?.event_ends_date).isValid() && dayjs(event?.event_ends_month).isValid()
27
+ const startDate = dayjs(
28
+ event?.event_starts_date && dayjs(event.event_starts_date).isValid()
29
+ ? event.event_starts_date
30
+ : event?.starts_at,
24
31
  );
25
-
26
- const isStartDateIsSameAsEndDate = dayjs(event?.event_starts_date).isSame(
27
- event?.event_ends_date,
28
- "day",
32
+ const endDate = dayjs(
33
+ event?.event_ends_date && dayjs(event.event_ends_date).isValid()
34
+ ? event.event_ends_date
35
+ : event?.ends_at,
29
36
  );
30
37
 
38
+ const isStartDateValid = startDate.isValid();
39
+ const isEndDateValid = endDate.isValid() && !startDate.isSame(endDate, "day");
40
+
31
41
  const isStartTimeValid = dayjs(event?.starts_at).isValid();
32
42
  const isEndTimeValid = dayjs(event?.ends_at).isValid();
33
43
 
44
+ const today = dayjs();
45
+ const effectiveEnd = endDate.isValid() ? endDate : startDate;
46
+ const isCompleted = effectiveEnd.isValid() && effectiveEnd.isBefore(today, "day");
47
+ const statusText = isCompleted ? "Completed" : "Upcoming";
48
+
34
49
  return (
35
50
  <Box elementKey={`listing_section.${index}.event`}>
36
51
  <Box elementKey={`listing_section.${index}.event_timing`}>
37
52
  <Box elementKey={`listing_section.${index}.event_starts`}>
38
53
  <Heading elementKey={`listing_section.${index}.event_starts_date`}>
39
- {dayjs(event?.event_starts_date).format("DD")}
54
+ {isStartDateValid ? startDate.format("DD") : ""}
40
55
  </Heading>
41
56
  <Typography elementKey={`listing_section.${index}.event_starts_month`}>
42
- {dayjs(event?.event_starts_date).format("MMMM")}
57
+ {isStartDateValid ? startDate.format("MMMM") : ""}
58
+ </Typography>
59
+ <Typography elementKey={`listing_section.${index}.event_starts_year`}>
60
+ {isStartDateValid ? startDate.format("YYYY") : ""}
43
61
  </Typography>
44
62
  </Box>
45
- {isEndDateValid && !isStartDateIsSameAsEndDate ? (
63
+ {isEndDateValid ? (
46
64
  <>
47
65
  <Typography elementKey={`listing_section.${index}.event_to`} />
48
66
  <Box elementKey={`listing_section.${index}.event_ends`}>
49
67
  <Heading elementKey={`listing_section.${index}.event_ends_date`}>
50
- {dayjs(event?.event_ends_date).format("DD")}
68
+ {endDate.format("DD")}
51
69
  </Heading>
52
70
  <Typography elementKey={`listing_section.${index}.event_ends_month`}>
53
- {dayjs(event?.event_ends_month).format("MMMM")}
71
+ {endDate.format("MMMM")}
72
+ </Typography>
73
+ <Typography elementKey={`listing_section.${index}.event_ends_year`}>
74
+ {endDate.format("YYYY")}
54
75
  </Typography>
55
76
  </Box>
56
77
  </>
@@ -72,10 +93,41 @@ const EventCard: React.FC<{
72
93
  </Box>
73
94
  <Box elementKey={`listing_section.${index}.divider`} />
74
95
  <Box elementKey={`listing_section.${index}.event_content`}>
75
- <Heading elementKey={`listing_section.${index}.event_category`} />
96
+ <Heading elementKey={`listing_section.${index}.event_category`}>
97
+ {event?.event_category}
98
+ </Heading>
76
99
  <Box elementKey={`listing_section.${index}.event_sub_content`}>
77
- <Heading elementKey={`listing_section.${index}.event_title`} />
78
- <Typography elementKey={`listing_section.${index}.event_description`} />
100
+ <Box elementKey={`listing_section.${index}.event_title_wrapper`}>
101
+ <Typography
102
+ elementKey={`listing_section.${index}.event_status_pill`}
103
+ style={{
104
+ display: "inline-flex",
105
+ alignItems: "center",
106
+ padding: "2px 8px",
107
+ borderRadius: "9999px",
108
+ fontSize: "11px",
109
+ fontWeight: 600,
110
+ lineHeight: "1.2",
111
+ backgroundColor: isCompleted
112
+ ? "var(--color-muted, oklch(0.94 0 0))"
113
+ : "var(--color-success-subtle, oklch(0.95 0.05 145))",
114
+ color: isCompleted
115
+ ? "var(--color-muted-foreground, oklch(0.42 0 0))"
116
+ : "var(--color-success, oklch(0.38 0.12 145))",
117
+ border: isCompleted
118
+ ? "1px solid oklch(0.88 0 0)"
119
+ : "1px solid oklch(0.85 0.08 145)",
120
+ }}
121
+ >
122
+ {statusText}
123
+ </Typography>
124
+ <Heading elementKey={`listing_section.${index}.event_title`}>
125
+ {event?.event_title}
126
+ </Heading>
127
+ </Box>
128
+ <Typography elementKey={`listing_section.${index}.event_description`}>
129
+ {event?.event_description}
130
+ </Typography>
79
131
  </Box>
80
132
  </Box>
81
133
  </Box>
@@ -83,41 +135,106 @@ const EventCard: React.FC<{
83
135
  };
84
136
 
85
137
  const Calendar1: React.FC<ILevoBlockBaseProps<ICalendar1Content>> = ({ content }) => {
86
- const { data, query, setQuery } = useContentEngine("listing_section");
138
+ const { data, query, setQuery, loading } = useContentEngine("listing_section");
87
139
 
88
140
  const [calendarMonth, setCalendarMonth] = useState<Date>(new Date());
141
+ const [selectedMonth, setSelectedMonth] = useState<Date | null>(null);
142
+ const [isPendingMonthChange, setIsPendingMonthChange] = useState(false);
143
+
144
+ useEffect(() => {
145
+ if (!loading) {
146
+ setIsPendingMonthChange(false);
147
+ }
148
+ }, [loading]);
149
+
150
+ const rawEvents: IEventItem[] = !selectedMonth
151
+ ? (content?.listing_section ?? [])
152
+ : data && data.length > 0
153
+ ? data
154
+ : (content?.listing_section ?? []);
155
+
156
+ const getEventStart = (item: IEventItem) => {
157
+ const d1 = item?.event_starts_date ? dayjs(item.event_starts_date) : null;
158
+ if (d1 && d1.isValid()) return d1;
159
+ const d2 = item?.starts_at ? dayjs(item.starts_at) : null;
160
+ if (d2 && d2.isValid()) return d2;
161
+ return null;
162
+ };
163
+
164
+ const getEventEnd = (item: IEventItem, start: dayjs.Dayjs | null) => {
165
+ const d1 = item?.event_ends_date ? dayjs(item.event_ends_date) : null;
166
+ if (d1 && d1.isValid()) return d1;
167
+ const d2 = item?.ends_at ? dayjs(item.ends_at) : null;
168
+ if (d2 && d2.isValid()) return d2;
169
+ return start;
170
+ };
171
+
172
+ // Sort events chronologically ascending by start date
173
+ const sortedEvents = [...rawEvents].sort((a, b) => {
174
+ const startA = getEventStart(a);
175
+ const startB = getEventStart(b);
176
+ const dateA = startA ? startA.valueOf() : 0;
177
+ const dateB = startB ? startB.valueOf() : 0;
178
+ return dateA - dateB;
179
+ });
180
+
181
+ const currentMonthStart = dayjs().startOf("month");
182
+
183
+ // Filter displayed events: events matching selectedMonth if user picked a month,
184
+ // or events from current month onwards (current month or future) on initial view / refresh
185
+ const upcomingOrSelectedEvents = sortedEvents.filter((item) => {
186
+ const start = getEventStart(item);
187
+ const end = getEventEnd(item, start);
188
+ if (!start) return false;
189
+
190
+ if (!selectedMonth) {
191
+ const effectiveEnd = end || start;
192
+ return (
193
+ effectiveEnd.isAfter(currentMonthStart) || effectiveEnd.isSame(currentMonthStart, "day")
194
+ );
195
+ }
196
+
197
+ const monthStart = dayjs(selectedMonth).startOf("month");
198
+ const monthEnd = dayjs(selectedMonth).endOf("month");
199
+ const effectiveEnd = end || start;
200
+
201
+ return (
202
+ (start.isBefore(monthEnd) || start.isSame(monthEnd)) &&
203
+ (effectiveEnd.isAfter(monthStart) || effectiveEnd.isSame(monthStart))
204
+ );
205
+ });
206
+
207
+ // If no upcoming events exist from current month onwards, fall back to showing all sorted events
208
+ const displayedEvents =
209
+ !selectedMonth && upcomingOrSelectedEvents.length === 0
210
+ ? sortedEvents
211
+ : upcomingOrSelectedEvents;
89
212
 
90
- const dateList = data
91
- ?.map((v: any) => v?.event_starts_date)
92
- ?.filter((v: any) => dayjs(v)?.isValid())
93
- ?.map((v: any) => new Date(v));
213
+ const dateList = rawEvents
214
+ ?.map((v) => getEventStart(v))
215
+ ?.filter((v): v is dayjs.Dayjs => v !== null && v.isValid())
216
+ ?.map((v) => v.toDate());
94
217
 
95
218
  const handleMonthChange = (date: Date) => {
219
+ setIsPendingMonthChange(true);
96
220
  setCalendarMonth(date);
221
+ setSelectedMonth(date);
97
222
  setQuery({
98
- ...query,
99
223
  limit: -1,
100
224
  where: {
101
- ...(query?.where ?? {}),
102
- AND: [
103
- {
104
- starts_at: {
105
- gte: dayjs(date).startOf("month").format(),
106
- },
107
- },
108
- {
109
- ends_at: {
110
- lte: dayjs(date).endOf("month").format(),
111
- },
112
- },
113
- ],
225
+ starts_at: {
226
+ gte: dayjs(date).startOf("month").toISOString(),
227
+ lte: dayjs(date).endOf("month").toISOString(),
228
+ },
114
229
  },
115
230
  });
116
231
  };
117
232
 
118
233
  const handleResetFilter = () => {
234
+ setIsPendingMonthChange(false);
235
+ setSelectedMonth(null);
236
+ setCalendarMonth(new Date());
119
237
  setQuery({
120
- ...query,
121
238
  limit: 20,
122
239
  where: {},
123
240
  });
@@ -132,11 +249,11 @@ const Calendar1: React.FC<ILevoBlockBaseProps<ICalendar1Content>> = ({ content }
132
249
  </Box>
133
250
  <Box elementKey="content">
134
251
  <Box elementKey="listing_section_levoGroup" data-levo_group>
135
- {data && data.length > 0 ? (
136
- data?.map((item: any, index: number) => {
252
+ {displayedEvents && displayedEvents.length > 0 ? (
253
+ displayedEvents.map((item: IEventItem, index: number) => {
137
254
  return <EventCard key={`listing_section.${index}`} index={index} event={item} />;
138
255
  })
139
- ) : (
256
+ ) : loading || isPendingMonthChange ? null : (
140
257
  <Box elementKey="empty_state">
141
258
  <Icon elementKey="empty_state_icon" />
142
259
  <Heading elementKey="empty_state_title" />
@@ -162,11 +279,12 @@ const Calendar1: React.FC<ILevoBlockBaseProps<ICalendar1Content>> = ({ content }
162
279
  />
163
280
  </Box>
164
281
  <Box elementKey="calendar_ctas_levoGroup" data-levo_group>
165
- {(content.calendar_ctas ?? []).map((_: any, index: number) => (
282
+ {(content.calendar_ctas ?? []).map((_: unknown, index: number) => (
166
283
  <Button
167
284
  key={`calendar_ctas.${index}.calendar_cta`}
168
285
  elementKey={`calendar_ctas.${index}.calendar_cta`}
169
286
  data-levo_group_item
287
+ onClick={handleResetFilter}
170
288
  />
171
289
  ))}
172
290
  <Button elementKey="empty_state_cta" onClick={handleResetFilter} />
@@ -43,31 +43,31 @@ const DEFAULT_CONTENT = {
43
43
  edit_profile_block_banner_image: {
44
44
  id: "jfwLqpex6AK0J",
45
45
  kind: "image",
46
- location: "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq.png",
46
+ location: "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq.png",
47
47
  srcset: {
48
- "1080w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1080w.webp",
49
- "1200w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1200w.webp",
50
- "1920w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1920w.webp",
51
- "320w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-320w.webp",
52
- "640w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-640w.webp",
53
- "750w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-750w.webp",
54
- "828w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-828w.webp",
55
- path: "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-320w.webp 320w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-640w.webp 640w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-750w.webp 750w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-828w.webp 828w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1080w.webp 1080w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1200w.webp 1200w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1920w.webp 1920w",
48
+ "1080w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1080w.webp",
49
+ "1200w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1200w.webp",
50
+ "1920w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1920w.webp",
51
+ "320w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-320w.webp",
52
+ "640w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-640w.webp",
53
+ "750w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-750w.webp",
54
+ "828w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-828w.webp",
55
+ path: "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-320w.webp 320w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-640w.webp 640w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-750w.webp 750w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-828w.webp 828w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1080w.webp 1080w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1200w.webp 1200w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1920w.webp 1920w",
56
56
  },
57
57
  },
58
58
  edit_profile_block_logo: {
59
59
  id: "zucZ9wWTU6qEL",
60
60
  kind: "image",
61
- location: "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw.jpeg",
61
+ location: "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw.jpeg",
62
62
  srcset: {
63
- "1080w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1080w.webp",
64
- "1200w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1200w.webp",
65
- "1920w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1920w.webp",
66
- "320w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-320w.webp",
67
- "640w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-640w.webp",
68
- "750w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-750w.webp",
69
- "828w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-828w.webp",
70
- path: "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1200w.webp 1200w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1920w.webp 1920w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-320w.webp 320w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-640w.webp 640w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-750w.webp 750w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-828w.webp 828w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1080w.webp 1080w",
63
+ "1080w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1080w.webp",
64
+ "1200w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1200w.webp",
65
+ "1920w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1920w.webp",
66
+ "320w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-320w.webp",
67
+ "640w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-640w.webp",
68
+ "750w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-750w.webp",
69
+ "828w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-828w.webp",
70
+ path: "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1200w.webp 1200w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1920w.webp 1920w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-320w.webp 320w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-640w.webp 640w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-750w.webp 750w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-828w.webp 828w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1080w.webp 1080w",
71
71
  },
72
72
  },
73
73
  edit_profile_block_title: "Wanderlooms",
@@ -42,31 +42,31 @@ const DEFAULT_CONTENT = {
42
42
  edit_profile_block_banner_image: {
43
43
  id: "jfwLqpex6AK0J",
44
44
  kind: "image",
45
- location: "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq.png",
45
+ location: "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq.png",
46
46
  srcset: {
47
- "1080w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1080w.webp",
48
- "1200w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1200w.webp",
49
- "1920w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1920w.webp",
50
- "320w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-320w.webp",
51
- "640w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-640w.webp",
52
- "750w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-750w.webp",
53
- "828w": "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-828w.webp",
54
- path: "https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-320w.webp 320w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-640w.webp 640w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-750w.webp 750w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-828w.webp 828w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1080w.webp 1080w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1200w.webp 1200w, https://static.levostg.online/WZZKMUBH/banner-HXVr5tikleqvq-1920w.webp 1920w",
47
+ "1080w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1080w.webp",
48
+ "1200w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1200w.webp",
49
+ "1920w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1920w.webp",
50
+ "320w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-320w.webp",
51
+ "640w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-640w.webp",
52
+ "750w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-750w.webp",
53
+ "828w": "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-828w.webp",
54
+ path: "https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-320w.webp 320w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-640w.webp 640w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-750w.webp 750w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-828w.webp 828w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1080w.webp 1080w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1200w.webp 1200w, https://static.levostg.site/WZZKMUBH/banner-HXVr5tikleqvq-1920w.webp 1920w",
55
55
  },
56
56
  },
57
57
  edit_profile_block_logo: {
58
58
  id: "zucZ9wWTU6qEL",
59
59
  kind: "image",
60
- location: "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw.jpeg",
60
+ location: "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw.jpeg",
61
61
  srcset: {
62
- "1080w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1080w.webp",
63
- "1200w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1200w.webp",
64
- "1920w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1920w.webp",
65
- "320w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-320w.webp",
66
- "640w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-640w.webp",
67
- "750w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-750w.webp",
68
- "828w": "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-828w.webp",
69
- path: "https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1200w.webp 1200w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1920w.webp 1920w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-320w.webp 320w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-640w.webp 640w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-750w.webp 750w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-828w.webp 828w, https://static.levostg.online/WZZKMUBH/netflix-FUGaJXflpOINw-1080w.webp 1080w",
62
+ "1080w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1080w.webp",
63
+ "1200w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1200w.webp",
64
+ "1920w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1920w.webp",
65
+ "320w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-320w.webp",
66
+ "640w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-640w.webp",
67
+ "750w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-750w.webp",
68
+ "828w": "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-828w.webp",
69
+ path: "https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1200w.webp 1200w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1920w.webp 1920w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-320w.webp 320w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-640w.webp 640w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-750w.webp 750w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-828w.webp 828w, https://static.levostg.site/WZZKMUBH/netflix-FUGaJXflpOINw-1080w.webp 1080w",
70
70
  },
71
71
  },
72
72
  edit_profile_block_title: "Wanderlooms",
@@ -131,6 +131,7 @@ const Ecommerce1: React.FC<ILevoBlockBaseProps<IEcommerce1Content>> = ({ content
131
131
  <FormInput
132
132
  name="search"
133
133
  placeholder="Search..."
134
+ aria-label="Search"
134
135
  value={search}
135
136
  onChange={(e) => {
136
137
  setSearch(e?.target?.value || "");
@@ -138,6 +139,7 @@ const Ecommerce1: React.FC<ILevoBlockBaseProps<IEcommerce1Content>> = ({ content
138
139
  }}
139
140
  leftIcon={<Search size={22} />}
140
141
  inputProps={{
142
+ "aria-label": "Search",
141
143
  style: {
142
144
  padding: "1rem",
143
145
  paddingLeft: "3rem",
@@ -25,16 +25,16 @@ const DEFAULT_CONTENT = {
25
25
  id: "w9fEtJuVtBFgU",
26
26
  filename: "image.png",
27
27
  kind: "image",
28
- location: "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm.png",
28
+ location: "https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm.png",
29
29
  srcset: {
30
- "1080w": "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1080w.webp",
31
- "1200w": "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1200w.webp",
32
- "1920w": "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1920w.webp",
33
- "320w": "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-320w.webp",
34
- "640w": "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-640w.webp",
35
- "750w": "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-750w.webp",
36
- "828w": "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-828w.webp",
37
- path: "https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-750w.webp 750w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-1920w.webp 1920w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-6HgF6xxhyiHBm-640w.webp 640w",
30
+ "1080w": "https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-1080w.webp",
31
+ "1200w": "https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-1200w.webp",
32
+ "1920w": "https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-1920w.webp",
33
+ "320w": "https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-320w.webp",
34
+ "640w": "https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-640w.webp",
35
+ "750w": "https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-750w.webp",
36
+ "828w": "https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-828w.webp",
37
+ path: "https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-750w.webp 750w, https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-828w.webp 828w, https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-1080w.webp 1080w, https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-1200w.webp 1200w, https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-1920w.webp 1920w, https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-320w.webp 320w, https://static.levostg.site/W6OEVMW8/image-6HgF6xxhyiHBm-640w.webp 640w",
38
38
  },
39
39
  mimetype: "image/png",
40
40
  },
@@ -13,18 +13,18 @@ const DEFAULT_CONTENT = {
13
13
  eventWrapper: null,
14
14
  image: {
15
15
  id: "n3qaofSpKt8tg",
16
- location: "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C.png",
16
+ location: "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C.png",
17
17
  mimetype: "image/png",
18
18
  kind: "image",
19
19
  srcset: {
20
- "1080w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp",
21
- "1200w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp",
22
- "1920w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp",
23
- "320w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp",
24
- "640w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp",
25
- "750w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp",
26
- "828w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp",
27
- path: "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp 1920w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp 640w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp 750w",
20
+ "1080w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp",
21
+ "1200w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp",
22
+ "1920w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp",
23
+ "320w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp",
24
+ "640w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp",
25
+ "750w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp",
26
+ "828w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp",
27
+ path: "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp 1080w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp 1200w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp 1920w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp 320w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp 640w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp 828w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp 750w",
28
28
  },
29
29
  },
30
30
  "text-wrapper": null,
@@ -76,18 +76,18 @@ const DEFAULT_CONTENT = {
76
76
  eventWrapper: null,
77
77
  image: {
78
78
  id: "n3qaofSpKt8tg",
79
- location: "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C.png",
79
+ location: "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C.png",
80
80
  mimetype: "image/png",
81
81
  kind: "image",
82
82
  srcset: {
83
- "1080w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp",
84
- "1200w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp",
85
- "1920w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp",
86
- "320w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp",
87
- "640w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp",
88
- "750w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp",
89
- "828w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp",
90
- path: "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp 1920w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp 640w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp 750w",
83
+ "1080w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp",
84
+ "1200w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp",
85
+ "1920w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp",
86
+ "320w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp",
87
+ "640w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp",
88
+ "750w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp",
89
+ "828w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp",
90
+ path: "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp 1080w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp 1200w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp 1920w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp 320w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp 640w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp 828w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp 750w",
91
91
  },
92
92
  },
93
93
  "text-wrapper": null,
@@ -139,18 +139,18 @@ const DEFAULT_CONTENT = {
139
139
  eventWrapper: null,
140
140
  image: {
141
141
  id: "n3qaofSpKt8tg",
142
- location: "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C.png",
142
+ location: "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C.png",
143
143
  mimetype: "image/png",
144
144
  kind: "image",
145
145
  srcset: {
146
- "1080w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp",
147
- "1200w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp",
148
- "1920w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp",
149
- "320w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp",
150
- "640w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp",
151
- "750w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp",
152
- "828w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp",
153
- path: "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp 1920w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp 640w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp 750w",
146
+ "1080w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp",
147
+ "1200w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp",
148
+ "1920w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp",
149
+ "320w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp",
150
+ "640w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp",
151
+ "750w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp",
152
+ "828w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp",
153
+ path: "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp 1080w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp 1200w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp 1920w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp 320w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp 640w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp 828w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp 750w",
154
154
  },
155
155
  },
156
156
  "text-wrapper": null,
@@ -202,18 +202,18 @@ const DEFAULT_CONTENT = {
202
202
  eventWrapper: null,
203
203
  image: {
204
204
  id: "n3qaofSpKt8tg",
205
- location: "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C.png",
205
+ location: "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C.png",
206
206
  mimetype: "image/png",
207
207
  kind: "image",
208
208
  srcset: {
209
- "1080w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp",
210
- "1200w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp",
211
- "1920w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp",
212
- "320w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp",
213
- "640w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp",
214
- "750w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp",
215
- "828w": "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp",
216
- path: "https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp 1080w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp 1200w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp 1920w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp 320w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp 640w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp 828w, https://static.levostg.online/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp 750w",
209
+ "1080w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp",
210
+ "1200w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp",
211
+ "1920w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp",
212
+ "320w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp",
213
+ "640w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp",
214
+ "750w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp",
215
+ "828w": "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp",
216
+ path: "https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1080w.webp 1080w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1200w.webp 1200w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-1920w.webp 1920w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-320w.webp 320w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-640w.webp 640w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-828w.webp 828w, https://static.levostg.site/W6OEVMW8/image-PzNnkMNc4PU9C-750w.webp 750w",
217
217
  },
218
218
  },
219
219
  "text-wrapper": null,
@@ -41,7 +41,7 @@ const Faq1: React.FC<ILevoBlockBaseProps<IFaq1Content>> = ({ content }) => (
41
41
  >
42
42
  <AccordionTrigger elementKey={`faqs.${index}.trigger`}>
43
43
  <Box elementKey={`faqs.${index}.iconQuestionWrapper`}>
44
- <Icon elementKey={`faqs.${index}.triggerIcon`} />
44
+ <Icon aria-label="FAQ icon" elementKey={`faqs.${index}.triggerIcon`} />
45
45
  <Heading elementKey={`faqs.${index}.question`} />
46
46
  </Box>
47
47
  </AccordionTrigger>
@@ -62,7 +62,7 @@ const Faq2: React.FC<ILevoBlockBaseProps<IFaq2Content>> = ({ content }) => {
62
62
  >
63
63
  <AccordionTrigger elementKey={`faqs.${index}.trigger`}>
64
64
  <Box elementKey={`faqs.${index}.iconQuestionWrapper`}>
65
- <Icon elementKey={`faqs.${index}.triggerIcon`} />
65
+ <Icon aria-label="FAQ icon" elementKey={`faqs.${index}.triggerIcon`} />
66
66
  <Typography elementKey={`faqs.${index}.question`} />
67
67
  </Box>
68
68
  </AccordionTrigger>
@@ -49,7 +49,11 @@ const Faq3: React.FC<ILevoBlockBaseProps<IFaq3Content>> = ({ content }) => (
49
49
  >
50
50
  <AccordionTrigger elementKey={`faqs.${index}.trigger`}>
51
51
  <Box elementKey={`faqs.${index}.iconQuestionWrapper`}>
52
- <Image alt="icon" elementKey={`faqs.${index}.triggerIcon`} />
52
+ <Image
53
+ alt="icon"
54
+ aria-label="FAQ icon"
55
+ elementKey={`faqs.${index}.triggerIcon`}
56
+ />
53
57
  <Heading elementKey={`faqs.${index}.question`} />
54
58
  </Box>
55
59
  </AccordionTrigger>
@@ -46,6 +46,7 @@ const FilterListing1: React.FC<ILevoBlockBaseProps<IFilterListing1Content>> = ({
46
46
  <FormInput
47
47
  name="search"
48
48
  placeholder="Search..."
49
+ aria-label="Search"
49
50
  value={search}
50
51
  onChange={(e) => {
51
52
  setSearch(e?.target?.value || "");