@veevarts/design-system 1.8.0-dev.5 → 1.8.0-dev.7
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.
|
@@ -20,6 +20,8 @@ export interface EventDetailsProps {
|
|
|
20
20
|
classes?: string;
|
|
21
21
|
/** @property {boolean} [showImage] - Optional flag to show or hide the event image. Defaults to true. */
|
|
22
22
|
showImage?: boolean;
|
|
23
|
+
/** @property {'lazy' | 'eager'} [imageLoading] - Optional loading strategy for the event image. Use `'lazy'` for off-screen placements (long lists, below-the-fold). Defaults to `'eager'` since the banner is typically above-the-fold. */
|
|
24
|
+
imageLoading?: 'lazy' | 'eager';
|
|
23
25
|
/** @property {string} [showMoreButtonClassName] - Optional Tailwind CSS utility classes for the 'Show more/less' button. */
|
|
24
26
|
showMoreButtonClassName?: string;
|
|
25
27
|
/** @property {Object} labels - Labels for the event details, used for localization. */
|
|
@@ -33,5 +35,5 @@ export interface EventDetailsProps {
|
|
|
33
35
|
* @function EventDetails
|
|
34
36
|
* @description Displays a card with event information such as name, image, date, time, location, and description.
|
|
35
37
|
*/
|
|
36
|
-
export declare const EventDetails: ({ classes, name, imageUrl, eventDate, eventTime, location, description, showImage, showMoreButtonClassName, labels, }: EventDetailsProps) => JSX.Element;
|
|
38
|
+
export declare const EventDetails: ({ classes, name, imageUrl, eventDate, eventTime, location, description, showImage, imageLoading, showMoreButtonClassName, labels, }: EventDetailsProps) => JSX.Element;
|
|
37
39
|
export default EventDetails;
|
|
@@ -8,6 +8,8 @@ export interface MembershipSelectCardsProps {
|
|
|
8
8
|
labels?: Partial<MembershipSelectCardsLabels>;
|
|
9
9
|
showRenewal?: boolean;
|
|
10
10
|
defaultRenewalValue?: boolean;
|
|
11
|
+
initialSelectedMembershipId?: string | null;
|
|
12
|
+
allowReselect?: boolean;
|
|
11
13
|
onRenewalChange?: (value: boolean) => void;
|
|
12
14
|
onCardSelect?: (id: string) => void;
|
|
13
15
|
className?: string;
|
|
@@ -12,39 +12,55 @@ export type TicketSelectionLabels = {
|
|
|
12
12
|
export type TicketData = {
|
|
13
13
|
id: string;
|
|
14
14
|
name: string;
|
|
15
|
+
membershipName?: string;
|
|
16
|
+
membershipAlert?: string;
|
|
17
|
+
purchasedQuantity?: number;
|
|
15
18
|
price: number;
|
|
16
19
|
originalPrice: number;
|
|
17
20
|
max: number;
|
|
18
21
|
};
|
|
22
|
+
export type ExhibitionDateData = {
|
|
23
|
+
/** Unique identifier for the rendered date group */
|
|
24
|
+
id: string;
|
|
25
|
+
/** Display label shown above the tickets for this group */
|
|
26
|
+
date: string;
|
|
27
|
+
/** Tickets available under this exhibition date */
|
|
28
|
+
tickets: TicketData[];
|
|
29
|
+
};
|
|
19
30
|
export type ExhibitionData = {
|
|
31
|
+
/** Unique identifier for the exhibition accordion section */
|
|
20
32
|
id: string;
|
|
33
|
+
/** Heading rendered for the exhibition section */
|
|
21
34
|
exhibitionName: string;
|
|
22
|
-
|
|
35
|
+
/** Date buckets rendered inside the exhibition section */
|
|
36
|
+
dates: ExhibitionDateData[];
|
|
23
37
|
};
|
|
24
38
|
export type TicketSelectionState = {
|
|
25
39
|
[groupId: string]: {
|
|
26
|
-
[
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
40
|
+
[dateGroupId: string]: {
|
|
41
|
+
[ticketId: string]: {
|
|
42
|
+
id: string;
|
|
43
|
+
selectedQuantity: number;
|
|
44
|
+
originalPrice: number;
|
|
45
|
+
discountedPrice: number;
|
|
46
|
+
};
|
|
31
47
|
};
|
|
32
48
|
};
|
|
33
49
|
};
|
|
34
50
|
export type TicketSelectionData = ExhibitionData[];
|
|
35
51
|
export interface TicketSelectionProps {
|
|
36
|
-
/** Maximum number of tickets the user can select globally */
|
|
52
|
+
/** Maximum number of tickets the user can select globally. Omit it to rely only on per-ticket limits. */
|
|
37
53
|
userMaxLimit?: number;
|
|
38
|
-
/** Initial expanded state for all exhibition groups */
|
|
54
|
+
/** Initial expanded state for all exhibition groups. This is read when each section mounts. */
|
|
39
55
|
initialExpanded?: boolean;
|
|
40
56
|
/** Labels for internationalization */
|
|
41
57
|
labels?: Partial<TicketSelectionLabels>;
|
|
42
58
|
/** Regional settings for locale and currency formatting */
|
|
43
59
|
settings?: TicketSelectionSettings;
|
|
44
|
-
/** Exhibition and ticket data */
|
|
60
|
+
/** Exhibition and date-grouped ticket data used to build the initial rendered state. */
|
|
45
61
|
ticketSelectionData?: TicketSelectionData;
|
|
46
62
|
/** Additional CSS classes for the root element */
|
|
47
63
|
className?: string;
|
|
48
|
-
/** Callback fired
|
|
64
|
+
/** Callback fired with the nested exhibition -> dateGroup -> ticket selection state whenever quantities change. */
|
|
49
65
|
onSelectionChange?: (state: TicketSelectionState) => void;
|
|
50
66
|
}
|