@session-services/web-elements 0.1.20 → 0.1.21
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/cjs/{index-C6e98Atu.js → index-BYBgrATL.js} +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/session-services-elements.cjs.js +2 -2
- package/dist/cjs/session-services-formatted-text.cjs.entry.js +181 -165
- package/dist/cjs/session-services-ticketing.cjs.entry.js +24398 -19334
- package/dist/collection/components/session-services-formatted-text/session-services-formatted-text.js +33 -34
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.css +401 -339
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.js +1087 -269
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.logic.js +263 -0
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.logic.test.js +276 -0
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.test.js +264 -0
- package/dist/components/session-services-formatted-text.js +180 -164
- package/dist/components/session-services-ticketing.js +24442 -19360
- package/dist/esm/{index-CeXOR4aK.js → index-CNOpF6tk.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/session-services-elements.js +3 -3
- package/dist/esm/session-services-formatted-text.entry.js +181 -165
- package/dist/esm/session-services-ticketing.entry.js +24406 -19342
- package/dist/session-services-elements/{p-a2404c46.entry.js → p-703444ed.entry.js} +1 -1
- package/dist/session-services-elements/p-CNOpF6tk.js +2 -0
- package/dist/session-services-elements/p-b8703bf3.entry.js +1 -0
- package/dist/session-services-elements/session-services-elements.esm.js +1 -1
- package/dist/sst-env.d.ts +1 -0
- package/dist/types/components/session-services-formatted-text/session-services-formatted-text.d.ts +3 -0
- package/dist/types/components/session-services-ticketing/session-services-ticketing.d.ts +117 -3
- package/dist/types/components/session-services-ticketing/session-services-ticketing.logic.d.ts +193 -0
- package/dist/types/components/session-services-ticketing/session-services-ticketing.logic.test.d.ts +1 -0
- package/dist/types/components/session-services-ticketing/session-services-ticketing.test.d.ts +1 -0
- package/dist/types/components.d.ts +18 -0
- package/package.json +8 -7
- package/dist/session-services-elements/p-3bb6ceef.entry.js +0 -1
- package/dist/session-services-elements/p-CeXOR4aK.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,b as t}from"./p-
|
|
1
|
+
import{p as e,b as t}from"./p-CNOpF6tk.js";export{s as setNonce}from"./p-CNOpF6tk.js";import{g as o}from"./p-DQuL1Twl.js";(()=>{const t=import.meta.url,o={};return""!==t&&(o.resourcesUrl=new URL(".",t).href),e(o)})().then((async e=>(await o(),t([["p-703444ed",[[769,"session-services-formatted-text",{text:[1],theme:[1],currentTheme:[32],segments:[32]},null,{text:["textChanged"],theme:["themeChanged"]}]]],["p-b8703bf3",[[769,"session-services-ticketing",{tenantId:[1,"tenant-id"],eventId:[1,"event-id"],apiUrl:[1,"api-url"],locale:[1],returnUrl:[1,"return-url"],couponCode:[1,"coupon-code"],initialAdmissionPrices:[1,"initial-admission-prices"],initialPreviewQuote:[1,"initial-preview-quote"],passcode:[1],stickyCheckout:[4,"sticky-checkout"],theme:[1],enableAnalytics:[4,"enable-analytics"],debugAnalytics:[4,"debug-analytics"],event:[32],selectedItems:[32],quote:[32],previewQuote:[32],loading:[32],error:[32],quoteLoading:[32],previewLoading:[32],quoteError:[32],couponError:[32],couponInput:[32],appliedCouponCode:[32],passcodeInput:[32],activePasscode:[32],passcodeDenied:[32],selectionPrompt:[32],checkoutLoading:[32],currentTheme:[32],openModalAdmissionId:[32]},null,{tenantId:["propsChanged"],eventId:["propsChanged"],apiUrl:["propsChanged"],passcode:["propsChanged"],couponCode:["couponCodeChanged"],initialAdmissionPrices:["couponCodeChanged"],initialPreviewQuote:["couponCodeChanged"],theme:["themeChanged"]}]]]],e))));
|
package/dist/sst-env.d.ts
CHANGED
package/dist/types/components/session-services-formatted-text/session-services-formatted-text.d.ts
CHANGED
|
@@ -10,10 +10,13 @@ export declare class SessionServicesFormattedText {
|
|
|
10
10
|
themeChanged(): void;
|
|
11
11
|
disconnectedCallback(): void;
|
|
12
12
|
private setupTheme;
|
|
13
|
+
private removeThemeListener;
|
|
14
|
+
private setupSystemTheme;
|
|
13
15
|
private handleSystemThemeChange;
|
|
14
16
|
private parseText;
|
|
15
17
|
private renderLink;
|
|
16
18
|
private renderSoundCloudEmbed;
|
|
17
19
|
private renderSegment;
|
|
20
|
+
private renderMediaSegment;
|
|
18
21
|
render(): any;
|
|
19
22
|
}
|
|
@@ -1,21 +1,41 @@
|
|
|
1
1
|
import type { DetailedEvent, OrderQuote } from "@session-services/sdk/schemas";
|
|
2
2
|
import { type EventEmitter } from "../../stencil-public-runtime";
|
|
3
|
+
import { type SelectionKey } from "./session-services-ticketing.logic";
|
|
3
4
|
export declare class SessionsTicketing {
|
|
5
|
+
host: HTMLElement;
|
|
4
6
|
tenantId: string;
|
|
5
7
|
eventId: string;
|
|
6
8
|
apiUrl: string;
|
|
7
9
|
locale: string;
|
|
8
10
|
returnUrl?: string;
|
|
11
|
+
couponCode?: string;
|
|
12
|
+
initialAdmissionPrices?: Record<string, {
|
|
13
|
+
discount: number;
|
|
14
|
+
gross: number;
|
|
15
|
+
total: number;
|
|
16
|
+
}> | string;
|
|
17
|
+
initialPreviewQuote?: OrderQuote | string;
|
|
18
|
+
passcode?: string;
|
|
19
|
+
stickyCheckout: boolean;
|
|
9
20
|
theme: "light" | "dark" | "system";
|
|
10
21
|
enableAnalytics: boolean;
|
|
11
22
|
debugAnalytics: boolean;
|
|
12
23
|
event: DetailedEvent | null;
|
|
13
|
-
selectedItems: Map<
|
|
24
|
+
selectedItems: Map<SelectionKey, number>;
|
|
14
25
|
quote: OrderQuote | null;
|
|
26
|
+
previewQuote: OrderQuote | null;
|
|
15
27
|
loading: boolean;
|
|
16
28
|
error: string | null;
|
|
17
29
|
quoteLoading: boolean;
|
|
30
|
+
previewLoading: boolean;
|
|
18
31
|
quoteError: string | null;
|
|
32
|
+
couponError: string | null;
|
|
33
|
+
couponInput: string;
|
|
34
|
+
appliedCouponCode: string;
|
|
35
|
+
passcodeInput: string;
|
|
36
|
+
activePasscode: string;
|
|
37
|
+
passcodeDenied: boolean;
|
|
38
|
+
selectionPrompt: boolean;
|
|
19
39
|
checkoutLoading: boolean;
|
|
20
40
|
currentTheme: "light" | "dark";
|
|
21
41
|
openModalAdmissionId: string | null;
|
|
@@ -31,41 +51,135 @@ export declare class SessionsTicketing {
|
|
|
31
51
|
private analytics?;
|
|
32
52
|
private mediaQueryList?;
|
|
33
53
|
private requestId;
|
|
54
|
+
private previewRequestId;
|
|
55
|
+
private quoteTimer?;
|
|
56
|
+
private promptTimer?;
|
|
34
57
|
componentWillLoad(): Promise<void>;
|
|
35
58
|
propsChanged(): Promise<void>;
|
|
59
|
+
couponCodeChanged(): Promise<void>;
|
|
36
60
|
themeChanged(): void;
|
|
37
61
|
disconnectedCallback(): void;
|
|
62
|
+
private handleDiscountQueryChange;
|
|
38
63
|
private initializeComponent;
|
|
64
|
+
private setInitialCoupon;
|
|
65
|
+
private initialCouponCode;
|
|
66
|
+
private parsedInitialPreviewQuote;
|
|
67
|
+
private parsedInitialAdmissionPrices;
|
|
68
|
+
private activeInitialPreviewQuote;
|
|
69
|
+
private activeInitialAdmissionPrices;
|
|
39
70
|
private setupTheme;
|
|
40
71
|
private handleSystemThemeChange;
|
|
41
72
|
private trackEvent;
|
|
73
|
+
private analyticsContext;
|
|
74
|
+
private activeAnalytics;
|
|
75
|
+
private analyticsEvent;
|
|
42
76
|
private getLowestPrice;
|
|
77
|
+
private getAdmissionListProducts;
|
|
43
78
|
private loadEventData;
|
|
79
|
+
private trackLoadedEvent;
|
|
80
|
+
private setupAnalytics;
|
|
81
|
+
private trackProductViewed;
|
|
44
82
|
private updateQuantity;
|
|
83
|
+
private setQuantity;
|
|
84
|
+
private setSelectedQuantity;
|
|
85
|
+
private trackQuantityChange;
|
|
86
|
+
private trackProductAdded;
|
|
87
|
+
private trackProductRemoved;
|
|
88
|
+
private getQuantityAnalytics;
|
|
45
89
|
private updateQuote;
|
|
90
|
+
private scheduleQuoteUpdate;
|
|
91
|
+
private clearQuoteTimer;
|
|
92
|
+
private clearPromptTimer;
|
|
93
|
+
private promptTicketSelection;
|
|
94
|
+
private getQuoteRequestItems;
|
|
95
|
+
private fetchCartQuote;
|
|
96
|
+
private applyQuote;
|
|
97
|
+
private handleQuoteError;
|
|
98
|
+
private updatePreviewQuote;
|
|
99
|
+
private fetchPreviewQuote;
|
|
100
|
+
private handleCouponInput;
|
|
101
|
+
private handleCouponKeyDown;
|
|
102
|
+
private applyCoupon;
|
|
103
|
+
private removeCoupon;
|
|
104
|
+
private applyCartCoupon;
|
|
105
|
+
private applyPreviewCoupon;
|
|
106
|
+
private removeCartCoupon;
|
|
107
|
+
private handleCouponError;
|
|
108
|
+
private setCouponError;
|
|
109
|
+
private trackCouponEntered;
|
|
110
|
+
private trackCouponApplied;
|
|
111
|
+
private trackCouponDenied;
|
|
112
|
+
private trackCouponRemoved;
|
|
113
|
+
private handlePasscodeInput;
|
|
114
|
+
private submitPasscode;
|
|
46
115
|
private initiateCheckout;
|
|
116
|
+
private trackCheckoutStarted;
|
|
117
|
+
private getCheckoutItems;
|
|
118
|
+
private handleCheckoutOrder;
|
|
119
|
+
private handleCheckoutError;
|
|
120
|
+
private handleStickyCheckoutClick;
|
|
121
|
+
private getCartProducts;
|
|
122
|
+
private getCheckoutProducts;
|
|
123
|
+
private getProductsForQuote;
|
|
124
|
+
private getQuoteProduct;
|
|
125
|
+
private quoteProductContext;
|
|
126
|
+
private getQuoteAdmission;
|
|
127
|
+
private getQuoteSection;
|
|
47
128
|
private formatDateTimeRange;
|
|
48
129
|
private formatPriceValue;
|
|
49
130
|
private handleQuantityDecrease;
|
|
50
131
|
private handleQuantityIncrease;
|
|
132
|
+
private handleQuantityInput;
|
|
51
133
|
private openModal;
|
|
52
134
|
private closeModal;
|
|
53
135
|
private handleModalKeyDown;
|
|
54
136
|
private handleBackdropClick;
|
|
55
137
|
private renderQuantityControls;
|
|
138
|
+
private getMaxQuantity;
|
|
139
|
+
private getSection;
|
|
56
140
|
private renderEventTimeAndLocation;
|
|
141
|
+
private renderEventTime;
|
|
142
|
+
private renderAdmissionTime;
|
|
143
|
+
private renderSectionLocation;
|
|
144
|
+
private renderEventLocation;
|
|
57
145
|
private renderPriceAndControls;
|
|
146
|
+
private renderAdmissionPrice;
|
|
147
|
+
private renderAdmissionControls;
|
|
58
148
|
private renderAdmission;
|
|
149
|
+
private getAdmissionClassName;
|
|
150
|
+
private getAdmissionAriaLabel;
|
|
151
|
+
private admissionStatusText;
|
|
152
|
+
private renderAdmissionHeader;
|
|
153
|
+
private renderMoreInfoButton;
|
|
154
|
+
private renderAdmissionBody;
|
|
59
155
|
private renderSectionHeader;
|
|
60
156
|
private renderSectionWithAdmissions;
|
|
61
157
|
private renderLoadingState;
|
|
62
158
|
private renderErrorState;
|
|
159
|
+
private renderPasscodeState;
|
|
63
160
|
private renderNotFoundState;
|
|
64
|
-
private
|
|
161
|
+
private renderCouponPanel;
|
|
65
162
|
private isCheckoutDisabled;
|
|
66
163
|
private getCheckoutButtonText;
|
|
67
|
-
private
|
|
164
|
+
private renderQuoteLoadingContent;
|
|
165
|
+
private renderCheckoutButtonContent;
|
|
166
|
+
private isStickyCheckoutDisabled;
|
|
167
|
+
private getStickyCheckoutText;
|
|
168
|
+
private renderStickyCheckoutButtonContent;
|
|
169
|
+
private getQuoteCheckoutText;
|
|
170
|
+
private getOrderTotalText;
|
|
171
|
+
private renderCheckoutActions;
|
|
172
|
+
private renderStickyCheckout;
|
|
68
173
|
private renderModal;
|
|
69
174
|
private renderTicketSections;
|
|
175
|
+
private renderTopLevelItem;
|
|
176
|
+
private renderDoorAlert;
|
|
177
|
+
private loadingView;
|
|
178
|
+
private errorView;
|
|
179
|
+
private missingEventView;
|
|
180
|
+
private pendingView;
|
|
181
|
+
private renderReadyState;
|
|
182
|
+
private renderExternalTicketing;
|
|
183
|
+
private renderUnavailableState;
|
|
70
184
|
render(): any;
|
|
71
185
|
}
|
package/dist/types/components/session-services-ticketing/session-services-ticketing.logic.d.ts
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import type { Admission, DetailedEvent, OrderQuote, Section } from "@session-services/sdk/schemas";
|
|
2
|
+
export type SelectionKey = `${string}::${string}`;
|
|
3
|
+
export type TicketingMode = "default" | "door";
|
|
4
|
+
export interface TopLevelAdmissionItem {
|
|
5
|
+
type: "admission";
|
|
6
|
+
admission: Admission;
|
|
7
|
+
}
|
|
8
|
+
export interface TopLevelSectionItem {
|
|
9
|
+
type: "section";
|
|
10
|
+
section: Section;
|
|
11
|
+
admissions: Admission[];
|
|
12
|
+
}
|
|
13
|
+
export type TopLevelItem = TopLevelAdmissionItem | TopLevelSectionItem;
|
|
14
|
+
export interface AdmissionDisplayState {
|
|
15
|
+
disabled: boolean;
|
|
16
|
+
label: {
|
|
17
|
+
text: string;
|
|
18
|
+
tone: "muted" | "success";
|
|
19
|
+
} | null;
|
|
20
|
+
maxQuantity: number;
|
|
21
|
+
postSale: boolean;
|
|
22
|
+
showScarcity: boolean;
|
|
23
|
+
soldOut: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface AdmissionPriceDisplay {
|
|
26
|
+
discounted: boolean;
|
|
27
|
+
gross?: number;
|
|
28
|
+
total: number;
|
|
29
|
+
}
|
|
30
|
+
export interface AdmissionPreviewPrice {
|
|
31
|
+
discount: number;
|
|
32
|
+
gross: number;
|
|
33
|
+
total: number;
|
|
34
|
+
}
|
|
35
|
+
export type AdmissionPriceMap = Partial<Record<SelectionKey, AdmissionPreviewPrice>>;
|
|
36
|
+
export interface TicketingState {
|
|
37
|
+
externalTicketUrl?: string;
|
|
38
|
+
isDoorOnly: boolean;
|
|
39
|
+
isEnded: boolean;
|
|
40
|
+
isUnavailableForSale: boolean;
|
|
41
|
+
showExternalTicketing: boolean;
|
|
42
|
+
showTicketing: boolean;
|
|
43
|
+
ticketHeading: string;
|
|
44
|
+
}
|
|
45
|
+
export declare function selectionKey(admissionId: string, sectionId: string | null): SelectionKey;
|
|
46
|
+
export declare function parseSelectionKey(key: SelectionKey): {
|
|
47
|
+
admissionId: string;
|
|
48
|
+
sectionId: string;
|
|
49
|
+
};
|
|
50
|
+
export declare function priceTotal(price?: Admission["price"] | OrderQuote["price"]): number;
|
|
51
|
+
export declare function discountCouponFromSearch(search: string): string;
|
|
52
|
+
export declare function eventTimeZone(event: DetailedEvent): string;
|
|
53
|
+
export declare function getTicketingState(event: DetailedEvent): TicketingState;
|
|
54
|
+
export declare function visibleAdmissions(event: DetailedEvent, mode: TicketingMode): {
|
|
55
|
+
name: string;
|
|
56
|
+
capacity: number;
|
|
57
|
+
limit: number;
|
|
58
|
+
order: number;
|
|
59
|
+
entryStartsAt: string;
|
|
60
|
+
entryEndsAt: string;
|
|
61
|
+
saleStartsAt: string;
|
|
62
|
+
saleEndsAt: string;
|
|
63
|
+
saleEndsBehavior: "SALE_ENDED" | "SOLD_OUT" | "DOOR";
|
|
64
|
+
price: {
|
|
65
|
+
base: number;
|
|
66
|
+
booking: number;
|
|
67
|
+
currency: "AUD" | "AED" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BRL" | "BSD" | "BTN" | "BWP" | "BZD" | "CAD" | "CHF" | "CLP" | "CNY" | "COP" | "CRC" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HUF" | "IDR" | "ILS" | "INR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MNT" | "MOP" | "MUR" | "MVR" | "MWK" | "MXN" | "MYR" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RWF" | "SAR" | "SBD" | "SCR" | "SEK" | "SGD" | "SHP" | "SLE" | "SRD" | "SVC" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "UYU" | "UZS" | "VND" | "VUV" | "WST" | "XAF" | "XCD" | "XOF" | "XPF" | "ZAR" | "ZMW" | "ZWL";
|
|
68
|
+
};
|
|
69
|
+
visibility: "ALWAYS" | "STACKED" | "HIDDEN";
|
|
70
|
+
teamId: string;
|
|
71
|
+
promoterId: string;
|
|
72
|
+
eventId: string;
|
|
73
|
+
eventSlug: string;
|
|
74
|
+
id?: string;
|
|
75
|
+
subtitle?: string;
|
|
76
|
+
description?: string;
|
|
77
|
+
available?: number;
|
|
78
|
+
sold?: number;
|
|
79
|
+
reserved?: number;
|
|
80
|
+
createdAt?: string;
|
|
81
|
+
updatedAt?: string;
|
|
82
|
+
passcode?: string;
|
|
83
|
+
sectionId?: string;
|
|
84
|
+
}[];
|
|
85
|
+
export declare function topLevelTicketItems(sections: Section[], admissions: Admission[]): TopLevelItem[];
|
|
86
|
+
export declare function getAdmissionDisplayState(input: {
|
|
87
|
+
admission: Admission;
|
|
88
|
+
event: DetailedEvent;
|
|
89
|
+
section?: Section;
|
|
90
|
+
sectionSoldOut?: boolean;
|
|
91
|
+
}): AdmissionDisplayState;
|
|
92
|
+
export declare function getAdmissionPriceDisplay(input: {
|
|
93
|
+
admission: Admission;
|
|
94
|
+
initialPrice?: AdmissionPreviewPrice;
|
|
95
|
+
mode: TicketingMode;
|
|
96
|
+
quoteItem?: OrderQuote["items"][number];
|
|
97
|
+
previewItem?: OrderQuote["items"][number];
|
|
98
|
+
}): AdmissionPriceDisplay;
|
|
99
|
+
export declare function quoteItemsBySelection(quote: OrderQuote | null): Map<string, {
|
|
100
|
+
id: string;
|
|
101
|
+
kind: "ADMISSION" | "ADDON";
|
|
102
|
+
quantity: number;
|
|
103
|
+
price: {
|
|
104
|
+
net: number;
|
|
105
|
+
total: number;
|
|
106
|
+
gross: number;
|
|
107
|
+
base: number;
|
|
108
|
+
booking: number;
|
|
109
|
+
refunded: number;
|
|
110
|
+
discount: number;
|
|
111
|
+
currency: "AUD" | "AED" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BRL" | "BSD" | "BTN" | "BWP" | "BZD" | "CAD" | "CHF" | "CLP" | "CNY" | "COP" | "CRC" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HUF" | "IDR" | "ILS" | "INR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MNT" | "MOP" | "MUR" | "MVR" | "MWK" | "MXN" | "MYR" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RWF" | "SAR" | "SBD" | "SCR" | "SEK" | "SGD" | "SHP" | "SLE" | "SRD" | "SVC" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "UYU" | "UZS" | "VND" | "VUV" | "WST" | "XAF" | "XCD" | "XOF" | "XPF" | "ZAR" | "ZMW" | "ZWL";
|
|
112
|
+
};
|
|
113
|
+
admissionId?: string;
|
|
114
|
+
sectionId?: string;
|
|
115
|
+
admission?: {
|
|
116
|
+
name: string;
|
|
117
|
+
capacity: number;
|
|
118
|
+
limit: number;
|
|
119
|
+
order: number;
|
|
120
|
+
entryStartsAt: string;
|
|
121
|
+
entryEndsAt: string;
|
|
122
|
+
saleStartsAt: string;
|
|
123
|
+
saleEndsAt: string;
|
|
124
|
+
saleEndsBehavior: "SALE_ENDED" | "SOLD_OUT" | "DOOR";
|
|
125
|
+
price: {
|
|
126
|
+
base: number;
|
|
127
|
+
booking: number;
|
|
128
|
+
currency: "AUD" | "AED" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BRL" | "BSD" | "BTN" | "BWP" | "BZD" | "CAD" | "CHF" | "CLP" | "CNY" | "COP" | "CRC" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HUF" | "IDR" | "ILS" | "INR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MNT" | "MOP" | "MUR" | "MVR" | "MWK" | "MXN" | "MYR" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RWF" | "SAR" | "SBD" | "SCR" | "SEK" | "SGD" | "SHP" | "SLE" | "SRD" | "SVC" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "UYU" | "UZS" | "VND" | "VUV" | "WST" | "XAF" | "XCD" | "XOF" | "XPF" | "ZAR" | "ZMW" | "ZWL";
|
|
129
|
+
};
|
|
130
|
+
visibility: "ALWAYS" | "STACKED" | "HIDDEN";
|
|
131
|
+
teamId: string;
|
|
132
|
+
promoterId: string;
|
|
133
|
+
eventId: string;
|
|
134
|
+
eventSlug: string;
|
|
135
|
+
id?: string;
|
|
136
|
+
subtitle?: string;
|
|
137
|
+
description?: string;
|
|
138
|
+
available?: number;
|
|
139
|
+
sold?: number;
|
|
140
|
+
reserved?: number;
|
|
141
|
+
createdAt?: string;
|
|
142
|
+
updatedAt?: string;
|
|
143
|
+
passcode?: string;
|
|
144
|
+
sectionId?: string;
|
|
145
|
+
};
|
|
146
|
+
section?: {
|
|
147
|
+
name: string;
|
|
148
|
+
capacity: number;
|
|
149
|
+
limit: number;
|
|
150
|
+
order: number;
|
|
151
|
+
location: {
|
|
152
|
+
createdAt: string;
|
|
153
|
+
updatedAt: string;
|
|
154
|
+
name: string;
|
|
155
|
+
address: string;
|
|
156
|
+
country: string;
|
|
157
|
+
latitude: number;
|
|
158
|
+
longitude: number;
|
|
159
|
+
timeZone: string;
|
|
160
|
+
id?: string;
|
|
161
|
+
googlePlaceId?: string;
|
|
162
|
+
city?: string;
|
|
163
|
+
state?: string;
|
|
164
|
+
postcode?: string;
|
|
165
|
+
types?: string[];
|
|
166
|
+
description?: string;
|
|
167
|
+
image?: {
|
|
168
|
+
src: string;
|
|
169
|
+
alt: string;
|
|
170
|
+
width: number;
|
|
171
|
+
height: number;
|
|
172
|
+
};
|
|
173
|
+
venueId?: string;
|
|
174
|
+
};
|
|
175
|
+
teamId: string;
|
|
176
|
+
promoterId: string;
|
|
177
|
+
eventId: string;
|
|
178
|
+
eventSlug: string;
|
|
179
|
+
id?: string;
|
|
180
|
+
createdAt?: string;
|
|
181
|
+
updatedAt?: string;
|
|
182
|
+
available?: number;
|
|
183
|
+
sold?: number;
|
|
184
|
+
reserved?: number;
|
|
185
|
+
passcode?: string;
|
|
186
|
+
};
|
|
187
|
+
}>;
|
|
188
|
+
export declare function admissionPriceSavings(price: AdmissionPriceDisplay): number;
|
|
189
|
+
export declare function previewQuoteItems(event: DetailedEvent): {
|
|
190
|
+
admissionId: string;
|
|
191
|
+
quantity: number;
|
|
192
|
+
sectionId: string;
|
|
193
|
+
}[];
|
package/dist/types/components/session-services-ticketing/session-services-ticketing.logic.test.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -23,6 +23,7 @@ export namespace Components {
|
|
|
23
23
|
* @default "https://api.session.services"
|
|
24
24
|
*/
|
|
25
25
|
"apiUrl": string;
|
|
26
|
+
"couponCode"?: string;
|
|
26
27
|
/**
|
|
27
28
|
* @default false
|
|
28
29
|
*/
|
|
@@ -32,11 +33,19 @@ export namespace Components {
|
|
|
32
33
|
*/
|
|
33
34
|
"enableAnalytics": boolean;
|
|
34
35
|
"eventId": string;
|
|
36
|
+
"initialAdmissionPrices"?: | Record<string, { discount: number; gross: number; total: number }>
|
|
37
|
+
| string;
|
|
38
|
+
"initialPreviewQuote"?: OrderQuote | string;
|
|
35
39
|
/**
|
|
36
40
|
* @default "en-US"
|
|
37
41
|
*/
|
|
38
42
|
"locale": string;
|
|
43
|
+
"passcode"?: string;
|
|
39
44
|
"returnUrl"?: string;
|
|
45
|
+
/**
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
"stickyCheckout": boolean;
|
|
40
49
|
"tenantId": string;
|
|
41
50
|
/**
|
|
42
51
|
* @default "system"
|
|
@@ -98,6 +107,7 @@ declare namespace LocalJSX {
|
|
|
98
107
|
* @default "https://api.session.services"
|
|
99
108
|
*/
|
|
100
109
|
"apiUrl"?: string;
|
|
110
|
+
"couponCode"?: string;
|
|
101
111
|
/**
|
|
102
112
|
* @default false
|
|
103
113
|
*/
|
|
@@ -107,6 +117,9 @@ declare namespace LocalJSX {
|
|
|
107
117
|
*/
|
|
108
118
|
"enableAnalytics"?: boolean;
|
|
109
119
|
"eventId": string;
|
|
120
|
+
"initialAdmissionPrices"?: | Record<string, { discount: number; gross: number; total: number }>
|
|
121
|
+
| string;
|
|
122
|
+
"initialPreviewQuote"?: OrderQuote | string;
|
|
110
123
|
/**
|
|
111
124
|
* @default "en-US"
|
|
112
125
|
*/
|
|
@@ -117,7 +130,12 @@ declare namespace LocalJSX {
|
|
|
117
130
|
checkoutUrl: string;
|
|
118
131
|
}>) => void;
|
|
119
132
|
"onErrorOccurred"?: (event: SessionServicesTicketingCustomEvent<{ error: string }>) => void;
|
|
133
|
+
"passcode"?: string;
|
|
120
134
|
"returnUrl"?: string;
|
|
135
|
+
/**
|
|
136
|
+
* @default false
|
|
137
|
+
*/
|
|
138
|
+
"stickyCheckout"?: boolean;
|
|
121
139
|
"tenantId": string;
|
|
122
140
|
/**
|
|
123
141
|
* @default "system"
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@session-services/web-elements",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.21",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
7
7
|
"types": "dist/types/components.d.ts",
|
|
@@ -75,20 +75,21 @@
|
|
|
75
75
|
"@types/jest": "^29.5.14",
|
|
76
76
|
"@types/node": "^24",
|
|
77
77
|
"jest": "^29.7.0",
|
|
78
|
-
"jest-cli": "^29.7.0",
|
|
79
78
|
"puppeteer": "^24.3.0",
|
|
79
|
+
"rollup": "^4.53.3",
|
|
80
80
|
"rollup-plugin-esbuild": "^6.2.1",
|
|
81
81
|
"typescript": "5.9.3",
|
|
82
82
|
"vitest": "4.0.15",
|
|
83
|
-
"@session-services/sdk": "0.1.
|
|
84
|
-
"@session-services/
|
|
85
|
-
"@session-services/
|
|
83
|
+
"@session-services/sdk": "0.1.21",
|
|
84
|
+
"@session-services/tsconfig": "0.1.0",
|
|
85
|
+
"@session-services/utils": "0.1.18"
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
|
88
88
|
"build": "stencil build",
|
|
89
|
-
"dev": "stencil build --dev --watch --serve",
|
|
89
|
+
"dev": "pnpm --filter @session-services/sdk build && stencil build --dev --watch --serve",
|
|
90
|
+
"dev:dist": "stencil build --watch --no-open",
|
|
90
91
|
"generate": "stencil generate",
|
|
91
|
-
"start": "stencil build --dev --watch --serve",
|
|
92
|
+
"start": "pnpm --filter @session-services/sdk build && stencil build --dev --watch --serve",
|
|
92
93
|
"clean": "git clean -xdf .cache .turbo dist node_modules",
|
|
93
94
|
"format": "biome format .",
|
|
94
95
|
"format:fix": "biome format --write .",
|