@ticketlayer/live 0.3.2 → 0.4.0
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/auto.d.ts +5 -0
- package/dist/auto.d.ts.map +1 -1
- package/dist/auto.js +7 -0
- package/dist/auto.js.map +1 -1
- package/dist/core/cartTotals.d.ts +72 -0
- package/dist/core/cartTotals.d.ts.map +1 -0
- package/dist/core/cartTotals.js +110 -0
- package/dist/core/cartTotals.js.map +1 -0
- package/dist/createLiveClient.d.ts.map +1 -1
- package/dist/createLiveClient.js +7 -0
- package/dist/createLiveClient.js.map +1 -1
- package/dist/elements.d.ts.map +1 -1
- package/dist/elements.js +15 -6
- package/dist/elements.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/state/checkoutModal.d.ts +0 -18
- package/dist/state/checkoutModal.d.ts.map +1 -1
- package/dist/state/checkoutModal.js +25 -1
- package/dist/state/checkoutModal.js.map +1 -1
- package/dist/state/loadElements.d.ts +13 -1
- package/dist/state/loadElements.d.ts.map +1 -1
- package/dist/state/loadElements.js +90 -1
- package/dist/state/loadElements.js.map +1 -1
- package/dist/state/theme.d.ts +13 -13
- package/dist/state/theme.d.ts.map +1 -1
- package/dist/state/theme.js +18 -34
- package/dist/state/theme.js.map +1 -1
- package/dist/ticketlayer.js +3 -3
- package/dist/ticketlayer.js.map +4 -4
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -1
package/dist/auto.d.ts
CHANGED
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
* data-api-url="https://live-api.ticketlayer.com"
|
|
9
9
|
* data-checkout-base="https://checkout.ticketlayer.com"></script>
|
|
10
10
|
*
|
|
11
|
+
* `data-elements-url` and `data-elements-integrity` travel together and are
|
|
12
|
+
* what an installed site is pinned with (the Webflow Integration Service
|
|
13
|
+
* writes both). An exact-version `data-elements-url` without the hash is
|
|
14
|
+
* refused rather than loaded unverified - see state/loadElements.ts.
|
|
15
|
+
*
|
|
11
16
|
* On load it boots a Live client from the script tag's data-* attributes:
|
|
12
17
|
* publishes `window.Ticketlayer` (so `@ticketlayer/elements` bind), injects the
|
|
13
18
|
* Elements bundle, and installs the hosted iframe checkout modal. Plain HTML
|
package/dist/auto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../src/auto.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../src/auto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAoC1E;;;;GAIG;AACH,wBAAgB,IAAI,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA2BtD;AAGD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/auto.js
CHANGED
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
* data-api-url="https://live-api.ticketlayer.com"
|
|
9
9
|
* data-checkout-base="https://checkout.ticketlayer.com"></script>
|
|
10
10
|
*
|
|
11
|
+
* `data-elements-url` and `data-elements-integrity` travel together and are
|
|
12
|
+
* what an installed site is pinned with (the Webflow Integration Service
|
|
13
|
+
* writes both). An exact-version `data-elements-url` without the hash is
|
|
14
|
+
* refused rather than loaded unverified - see state/loadElements.ts.
|
|
15
|
+
*
|
|
11
16
|
* On load it boots a Live client from the script tag's data-* attributes:
|
|
12
17
|
* publishes `window.Ticketlayer` (so `@ticketlayer/elements` bind), injects the
|
|
13
18
|
* Elements bundle, and installs the hosted iframe checkout modal. Plain HTML
|
|
@@ -34,6 +39,7 @@ function readConfig() {
|
|
|
34
39
|
publishableKey: d.publishableKey,
|
|
35
40
|
apiUrl: d.apiUrl,
|
|
36
41
|
elementsUrl: d.elementsUrl,
|
|
42
|
+
elementsIntegrity: d.elementsIntegrity,
|
|
37
43
|
checkoutBase: d.checkoutBase,
|
|
38
44
|
// Inject @ticketlayer/elements unless explicitly opted out (data-elements="false").
|
|
39
45
|
autoElements: d.elements !== 'false',
|
|
@@ -63,6 +69,7 @@ export function boot() {
|
|
|
63
69
|
publishableKey: cfg.publishableKey,
|
|
64
70
|
elements: cfg.autoElements,
|
|
65
71
|
...(cfg.elementsUrl ? { elementsUrl: cfg.elementsUrl } : {}),
|
|
72
|
+
...(cfg.elementsIntegrity ? { elementsIntegrity: cfg.elementsIntegrity } : {}),
|
|
66
73
|
checkout: { mode: 'modal', ...(cfg.checkoutBase ? { embedBaseUrl: cfg.checkoutBase } : {}) },
|
|
67
74
|
}).catch((err) => {
|
|
68
75
|
console.error('[ticketlayer] Failed to initialise:', err);
|
package/dist/auto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto.js","sourceRoot":"","sources":["../src/auto.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auto.js","sourceRoot":"","sources":["../src/auto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAiB1E,sEAAsE;AACtE,SAAS,UAAU;IACjB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,EAAE,GACL,QAAQ,CAAC,aAA0C;QACpD,QAAQ,CAAC,aAAa,CAAoB,8BAA8B,CAAC,CAAC;IAC5E,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACrB,OAAO;QACL,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;QACtC,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,oFAAoF;QACpF,YAAY,EAAE,CAAC,CAAC,QAAQ,KAAK,OAAO;KACrC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI;IAClB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,MAA+B,CAAC;IAC1C,IAAI,CAAC,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,EAAE,cAAc;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAiC;IACzF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC3F,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC7B,OAAO,EAAE,GAAG,CAAC,MAAM;QACnB,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,QAAQ,EAAE,GAAG,CAAC,YAAY;QAC1B,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;KAC7F,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAE7C,qBAAqB;AACrB,KAAK,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cart money, read from the response rather than assumed.
|
|
3
|
+
*
|
|
4
|
+
* The Elements connector used to publish `fees: 0` and `total = subtotal` on
|
|
5
|
+
* every cart, which is a claim the client had no business making: a channel
|
|
6
|
+
* with a fee profile charges a booking fee at checkout, so a cart that says
|
|
7
|
+
* "fees 0, total = subtotal" tells the buyer a total they will not be charged.
|
|
8
|
+
* This module reads whatever the sales surface reports and says plainly when
|
|
9
|
+
* it reports nothing.
|
|
10
|
+
*
|
|
11
|
+
* ## What the surface reports today
|
|
12
|
+
*
|
|
13
|
+
* `SalesCart` (backstage-api `src/domains/sales/http/views/index.ts`, mirrored
|
|
14
|
+
* byte for byte by live-api) is `{ id, status, currency, expiresAt, orderId,
|
|
15
|
+
* items[], itemsSubtotal }`. There is no fee field, no discount field and no
|
|
16
|
+
* total: fees are computed when the cart is checked out, from the channel's
|
|
17
|
+
* fee profile, and land on the ORDER (`totalFees` plus a `type: 'fee'` line
|
|
18
|
+
* item named after the profile's `serviceFeeLabel`). So on today's responses
|
|
19
|
+
* this returns `hasFees: false` and no fee line is rendered - which is correct,
|
|
20
|
+
* and unlike `fees: 0` it does not assert that the buyer pays no fee. The
|
|
21
|
+
* moment a cart response carries the fields, the cart shows the line with no
|
|
22
|
+
* further change here.
|
|
23
|
+
*
|
|
24
|
+
* ## Money
|
|
25
|
+
*
|
|
26
|
+
* Integer minor units everywhere on this platform (2500 = 25.00), so the
|
|
27
|
+
* arithmetic here is integer addition only. A value that is not an integer is
|
|
28
|
+
* not minor units, so it is treated as ABSENT rather than rounded or floated:
|
|
29
|
+
* money never goes through floating point in this module.
|
|
30
|
+
*/
|
|
31
|
+
/** Shown when the surface names no fee of its own. */
|
|
32
|
+
export declare const FEE_LABEL_FALLBACK = "Booking fee";
|
|
33
|
+
export interface CartTotals {
|
|
34
|
+
/** ISO currency code as the cart reports it, or null when it has none yet. */
|
|
35
|
+
currency: string | null;
|
|
36
|
+
/** Ticket lines, in minor units. */
|
|
37
|
+
subtotal: number;
|
|
38
|
+
/** Fees the surface reports, in minor units. 0 when it reports none. */
|
|
39
|
+
fees: number;
|
|
40
|
+
/** Discount the surface reports, as a positive magnitude in minor units. */
|
|
41
|
+
discount: number;
|
|
42
|
+
/** What the buyer pays: the server's figure whenever it gives one. */
|
|
43
|
+
total: number;
|
|
44
|
+
/**
|
|
45
|
+
* Whether to render a fee line. A fee of zero is not the same as no fee:
|
|
46
|
+
* see {@link expressesFee}.
|
|
47
|
+
*/
|
|
48
|
+
hasFees: boolean;
|
|
49
|
+
/** The fee's name as the surface gives it, or null when it names none. */
|
|
50
|
+
feeLabel: string | null;
|
|
51
|
+
/** True when the total came from the response rather than being derived. */
|
|
52
|
+
totalFromServer: boolean;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Minor units, or null when the value is not minor units. Integers and
|
|
56
|
+
* all-digit strings only: a decimal like 12.5 or "12.50" is a major-unit
|
|
57
|
+
* amount or a rounding error waiting to happen, and either way it is not
|
|
58
|
+
* something this module will do arithmetic on.
|
|
59
|
+
*/
|
|
60
|
+
export declare function minorUnits(value: unknown): number | null;
|
|
61
|
+
/**
|
|
62
|
+
* Read `subtotal`, `fees`, `discount` and `total` off a cart-shaped response.
|
|
63
|
+
*
|
|
64
|
+
* Field names are backstage-api's, because live-api never reshapes a body:
|
|
65
|
+
* `itemsSubtotal` is what the cart view calls its ticket subtotal today, and
|
|
66
|
+
* `totalFees` / `totalDiscounts` / `total` are what the order view calls the
|
|
67
|
+
* rest - the names a cart view would reuse when it starts carrying them.
|
|
68
|
+
* `fees`, `discount` and `subtotal` are accepted as aliases so a host that
|
|
69
|
+
* already massaged the shape keeps working.
|
|
70
|
+
*/
|
|
71
|
+
export declare function deriveCartTotals(cart: unknown): CartTotals;
|
|
72
|
+
//# sourceMappingURL=cartTotals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cartTotals.d.ts","sourceRoot":"","sources":["../../src/core/cartTotals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,4EAA4E;IAC5E,eAAe,EAAE,OAAO,CAAC;CAC1B;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIxD;AAsBD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CA4C1D"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cart money, read from the response rather than assumed.
|
|
3
|
+
*
|
|
4
|
+
* The Elements connector used to publish `fees: 0` and `total = subtotal` on
|
|
5
|
+
* every cart, which is a claim the client had no business making: a channel
|
|
6
|
+
* with a fee profile charges a booking fee at checkout, so a cart that says
|
|
7
|
+
* "fees 0, total = subtotal" tells the buyer a total they will not be charged.
|
|
8
|
+
* This module reads whatever the sales surface reports and says plainly when
|
|
9
|
+
* it reports nothing.
|
|
10
|
+
*
|
|
11
|
+
* ## What the surface reports today
|
|
12
|
+
*
|
|
13
|
+
* `SalesCart` (backstage-api `src/domains/sales/http/views/index.ts`, mirrored
|
|
14
|
+
* byte for byte by live-api) is `{ id, status, currency, expiresAt, orderId,
|
|
15
|
+
* items[], itemsSubtotal }`. There is no fee field, no discount field and no
|
|
16
|
+
* total: fees are computed when the cart is checked out, from the channel's
|
|
17
|
+
* fee profile, and land on the ORDER (`totalFees` plus a `type: 'fee'` line
|
|
18
|
+
* item named after the profile's `serviceFeeLabel`). So on today's responses
|
|
19
|
+
* this returns `hasFees: false` and no fee line is rendered - which is correct,
|
|
20
|
+
* and unlike `fees: 0` it does not assert that the buyer pays no fee. The
|
|
21
|
+
* moment a cart response carries the fields, the cart shows the line with no
|
|
22
|
+
* further change here.
|
|
23
|
+
*
|
|
24
|
+
* ## Money
|
|
25
|
+
*
|
|
26
|
+
* Integer minor units everywhere on this platform (2500 = 25.00), so the
|
|
27
|
+
* arithmetic here is integer addition only. A value that is not an integer is
|
|
28
|
+
* not minor units, so it is treated as ABSENT rather than rounded or floated:
|
|
29
|
+
* money never goes through floating point in this module.
|
|
30
|
+
*/
|
|
31
|
+
/** Shown when the surface names no fee of its own. */
|
|
32
|
+
export const FEE_LABEL_FALLBACK = 'Booking fee';
|
|
33
|
+
const bag = (v) => (v && typeof v === 'object' ? v : {});
|
|
34
|
+
/**
|
|
35
|
+
* Minor units, or null when the value is not minor units. Integers and
|
|
36
|
+
* all-digit strings only: a decimal like 12.5 or "12.50" is a major-unit
|
|
37
|
+
* amount or a rounding error waiting to happen, and either way it is not
|
|
38
|
+
* something this module will do arithmetic on.
|
|
39
|
+
*/
|
|
40
|
+
export function minorUnits(value) {
|
|
41
|
+
if (typeof value === 'number')
|
|
42
|
+
return Number.isInteger(value) ? value : null;
|
|
43
|
+
if (typeof value === 'string' && /^-?\d+$/.test(value))
|
|
44
|
+
return Number(value);
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const lineType = (line) => (typeof line.type === 'string' ? line.type : 'ticket');
|
|
48
|
+
/** Ticket lines: everything the surface has not typed as a fee, tax or discount. */
|
|
49
|
+
const isTicketLine = (line) => !['fee', 'tax', 'discount'].includes(lineType(line));
|
|
50
|
+
/**
|
|
51
|
+
* The rule, in one place.
|
|
52
|
+
*
|
|
53
|
+
* Render a fee line when the response EXPRESSES a fee: a fee figure above
|
|
54
|
+
* zero, or a fee the surface has named (a `type: 'fee'` line, or a fee label)
|
|
55
|
+
* even when it computes to zero. A response with no fee figure at all, or a
|
|
56
|
+
* bare zero nothing names, expresses no fee and renders no line - a channel
|
|
57
|
+
* with no fee profile looks exactly as it does today, and we never invent a
|
|
58
|
+
* "Booking fee 0.00" row the surface did not put there.
|
|
59
|
+
*/
|
|
60
|
+
function expressesFee(fees, named) {
|
|
61
|
+
if (fees === null)
|
|
62
|
+
return named;
|
|
63
|
+
return fees > 0 || named;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Read `subtotal`, `fees`, `discount` and `total` off a cart-shaped response.
|
|
67
|
+
*
|
|
68
|
+
* Field names are backstage-api's, because live-api never reshapes a body:
|
|
69
|
+
* `itemsSubtotal` is what the cart view calls its ticket subtotal today, and
|
|
70
|
+
* `totalFees` / `totalDiscounts` / `total` are what the order view calls the
|
|
71
|
+
* rest - the names a cart view would reuse when it starts carrying them.
|
|
72
|
+
* `fees`, `discount` and `subtotal` are accepted as aliases so a host that
|
|
73
|
+
* already massaged the shape keeps working.
|
|
74
|
+
*/
|
|
75
|
+
export function deriveCartTotals(cart) {
|
|
76
|
+
const c = bag(cart);
|
|
77
|
+
const lines = Array.isArray(c.items) ? c.items.map(bag) : [];
|
|
78
|
+
const subtotal = minorUnits(c.itemsSubtotal) ??
|
|
79
|
+
minorUnits(c.subtotal) ??
|
|
80
|
+
lines.filter(isTicketLine).reduce((sum, line) => sum + (minorUnits(line.subtotal) ?? 0), 0);
|
|
81
|
+
const feeLines = lines.filter((line) => lineType(line) === 'fee');
|
|
82
|
+
const feeLineTotal = feeLines.length
|
|
83
|
+
? feeLines.reduce((sum, line) => sum + (minorUnits(line.subtotal) ?? 0), 0)
|
|
84
|
+
: null;
|
|
85
|
+
const fees = minorUnits(c.totalFees) ?? minorUnits(c.fees) ?? feeLineTotal;
|
|
86
|
+
const labelled = typeof c.feeLabel === 'string' && c.feeLabel ? c.feeLabel : null;
|
|
87
|
+
const namedLine = feeLines.map((line) => line.name).find((n) => typeof n === 'string' && n);
|
|
88
|
+
const feeLabel = labelled ?? namedLine ?? null;
|
|
89
|
+
const discountLines = lines.filter((line) => lineType(line) === 'discount');
|
|
90
|
+
const discountLineTotal = discountLines.length
|
|
91
|
+
? discountLines.reduce((sum, line) => sum + Math.abs(minorUnits(line.subtotal) ?? 0), 0)
|
|
92
|
+
: null;
|
|
93
|
+
const discount = minorUnits(c.totalDiscounts) ?? minorUnits(c.discount) ?? discountLineTotal;
|
|
94
|
+
const tax = minorUnits(c.totalTax) ?? 0;
|
|
95
|
+
// The server's total is what the buyer is charged. Only derive one when the
|
|
96
|
+
// response carries none, and say which happened so a caller can tell.
|
|
97
|
+
const serverTotal = minorUnits(c.total);
|
|
98
|
+
const total = serverTotal ?? subtotal + (fees ?? 0) + tax - (discount ?? 0);
|
|
99
|
+
return {
|
|
100
|
+
currency: typeof c.currency === 'string' ? c.currency : null,
|
|
101
|
+
subtotal,
|
|
102
|
+
fees: fees ?? 0,
|
|
103
|
+
discount: discount ?? 0,
|
|
104
|
+
total,
|
|
105
|
+
hasFees: expressesFee(fees, feeLabel !== null || feeLines.length > 0),
|
|
106
|
+
feeLabel,
|
|
107
|
+
totalFromServer: serverTotal !== null,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=cartTotals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cartTotals.js","sourceRoot":"","sources":["../../src/core/cartTotals.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLiveClient.d.ts","sourceRoot":"","sources":["../src/createLiveClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAI3F,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE3F,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB,EAAE,mBAAmB;IACpF,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,oBAAoB,CAAC;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"createLiveClient.d.ts","sourceRoot":"","sources":["../src/createLiveClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAI3F,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE3F,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB,EAAE,mBAAmB;IACpF,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,oBAAoB,CAAC;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CA2EjG"}
|
package/dist/createLiveClient.js
CHANGED
|
@@ -66,6 +66,13 @@ export async function createLiveClient(options) {
|
|
|
66
66
|
if (options.buyModal !== false && options.publish !== false && typeof window !== 'undefined') {
|
|
67
67
|
installBuyModal(tl);
|
|
68
68
|
}
|
|
69
|
+
// loadElements REJECTS when the network or the bundle fails, which is
|
|
70
|
+
// logged and survivable, and THROWS synchronously when the options ask for
|
|
71
|
+
// something that cannot be verified (an exact-version elementsUrl with no
|
|
72
|
+
// elementsIntegrity, a hash with no URL). That throw is deliberately outside
|
|
73
|
+
// the catch: a host that pinned the bundle and lost the hash gets a failed
|
|
74
|
+
// createLiveClient, not a quietly unverified checkout. See
|
|
75
|
+
// state/loadElements.ts for the rule in full.
|
|
69
76
|
const elementsLoad = loadElements(options).catch((err) => {
|
|
70
77
|
console.error('[live] Elements auto-load failed', err);
|
|
71
78
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLiveClient.js","sourceRoot":"","sources":["../src/createLiveClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createLiveClient.js","sourceRoot":"","sources":["../src/createLiveClient.ts"],"names":[],"mappings":"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"}
|
package/dist/elements.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../src/elements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../src/elements.ts"],"names":[],"mappings":"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"}
|
package/dist/elements.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { deriveCartTotals } from './core/cartTotals.js';
|
|
1
2
|
/**
|
|
2
3
|
* Adapt the sales-surface cart view to the shape Elements consume. The sales
|
|
3
4
|
* view exposes `itemsSubtotal` + per-item `subtotal`; the components (tl-cart,
|
|
4
5
|
* badges) were written against `subtotal`/`total`/`fees` + per-item
|
|
5
6
|
* `totalPrice`. Add those aliases (and itemCount) without dropping the
|
|
6
|
-
* originals - otherwise tl-cart formats undefined → £NaN.
|
|
7
|
-
*
|
|
7
|
+
* originals - otherwise tl-cart formats undefined → £NaN.
|
|
8
|
+
*
|
|
9
|
+
* The money comes from {@link deriveCartTotals}, which reads the response
|
|
10
|
+
* instead of asserting `fees: 0`: `fees`, `discount` and `feeLabel` are
|
|
11
|
+
* whatever the surface reports, `hasFees` is the render-a-fee-line rule, and
|
|
12
|
+
* `total` is the server's figure whenever the response carries one. Money
|
|
13
|
+
* stays minor units.
|
|
8
14
|
*/
|
|
9
15
|
const withCount = (cart) => {
|
|
10
16
|
if (!cart || typeof cart !== 'object')
|
|
@@ -17,14 +23,17 @@ const withCount = (cart) => {
|
|
|
17
23
|
return { ...it, totalPrice: it.totalPrice ?? line };
|
|
18
24
|
});
|
|
19
25
|
const itemCount = items.reduce((sum, i) => sum + (i.quantity ?? 0), 0);
|
|
20
|
-
const
|
|
26
|
+
const totals = deriveCartTotals(c);
|
|
21
27
|
return {
|
|
22
28
|
...c,
|
|
23
29
|
items,
|
|
24
30
|
itemCount,
|
|
25
|
-
subtotal,
|
|
26
|
-
fees:
|
|
27
|
-
|
|
31
|
+
subtotal: totals.subtotal,
|
|
32
|
+
fees: totals.fees,
|
|
33
|
+
discount: totals.discount,
|
|
34
|
+
total: totals.total,
|
|
35
|
+
hasFees: totals.hasFees,
|
|
36
|
+
feeLabel: totals.feeLabel,
|
|
28
37
|
};
|
|
29
38
|
};
|
|
30
39
|
export function createElementsConnector(tl) {
|
package/dist/elements.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elements.js","sourceRoot":"","sources":["../src/elements.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"elements.js","sourceRoot":"","sources":["../src/elements.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export { createLiveClient, TicketlayerLive, type CreateLiveClientOptions, type PresaleRedemption, } from './createLiveClient.js';
|
|
13
13
|
export type { LiveEvent } from './state/emitter.js';
|
|
14
|
+
export { ElementsIntegrityError, type LoadElementsOptions } from './state/loadElements.js';
|
|
14
15
|
export { createElementsConnector, type ElementsConnector, type ModalOptions, } from './elements.js';
|
|
16
|
+
export { deriveCartTotals, minorUnits, FEE_LABEL_FALLBACK, type CartTotals, } from './core/cartTotals.js';
|
|
15
17
|
export { getPublishedClient, TICKETLAYER_GLOBAL_KEY, TICKETLAYER_READY_EVENT, type TicketlayerGlobal, } from './state/registry.js';
|
|
16
18
|
export { installCheckoutModal, type CheckoutModalOptions } from './state/checkoutModal.js';
|
|
17
19
|
export { installBuyModal, type BuyModalOptions } from './state/buyModal.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,mBAAmB,sBAAsB,CAAC;AAK1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,KAAK,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AACrC,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACrC,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;AACzE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACzD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC9C,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACrC,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACrD,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACxC,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAChD,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAC/C,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,mBAAmB,sBAAsB,CAAC;AAK1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,KAAK,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AACrC,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACrC,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;AACzE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACzD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC9C,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACrC,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACrD,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACxC,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAChD,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAC/C,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
* @ticketlayer/elements; native apps use the headless client + webview checkout.
|
|
11
11
|
*/
|
|
12
12
|
export { createLiveClient, TicketlayerLive, } from './createLiveClient.js';
|
|
13
|
+
export { ElementsIntegrityError } from './state/loadElements.js';
|
|
13
14
|
export { createElementsConnector, } from './elements.js';
|
|
15
|
+
export { deriveCartTotals, minorUnits, FEE_LABEL_FALLBACK, } from './core/cartTotals.js';
|
|
14
16
|
export { getPublishedClient, TICKETLAYER_GLOBAL_KEY, TICKETLAYER_READY_EVENT, } from './state/registry.js';
|
|
15
17
|
export { installCheckoutModal } from './state/checkoutModal.js';
|
|
16
18
|
export { installBuyModal } from './state/buyModal.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,GAGxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAA6B,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAwB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAA4B,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EACL,uBAAuB,GAGxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAA6B,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAwB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,aAAa,CAAC"}
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Checkout modal manager (third-party embeds).
|
|
3
|
-
*
|
|
4
|
-
* On a third-party site, Elements build the cart in-page and emit
|
|
5
|
-
* `ui:checkout-requested`. This opens the hosted checkout in an iframe overlay
|
|
6
|
-
* pointing at HBO's `/embed/checkout`, handing off the current session token so
|
|
7
|
-
* the iframe sees the same cart (and so card data stays on HBO's origin - PCI
|
|
8
|
-
* isolation). It bridges the `tl:*` postMessage protocol back to the caller's
|
|
9
|
-
* onComplete/onError/onClose callbacks (which rode in on the intent payload).
|
|
10
|
-
*
|
|
11
|
-
* The iframe URL carries `parent_origin=<this page's origin>` so HBO can pin
|
|
12
|
-
* its postMessage target to us (it never posts to '*'), and incoming messages
|
|
13
|
-
* are only accepted from the checkout's own origin. The message set is
|
|
14
|
-
* documented in HBO's docs/embed-checkout-contract.md.
|
|
15
|
-
*
|
|
16
|
-
* HBO itself does NOT use this - it handles `ui:checkout-requested` by
|
|
17
|
-
* navigating in-page to /checkout.
|
|
18
|
-
*/
|
|
19
1
|
import type { TicketlayerLive } from '../createLiveClient.js';
|
|
20
2
|
export interface CheckoutModalOptions {
|
|
21
3
|
/** Base URL of the HBO instance serving /embed/checkout. Defaults to origin. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkoutModal.d.ts","sourceRoot":"","sources":["../../src/state/checkoutModal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkoutModal.d.ts","sourceRoot":"","sources":["../../src/state/checkoutModal.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAyBD,gEAAgE;AAChE,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,eAAe,EACnB,IAAI,GAAE,oBAAyB,GAC9B,MAAM,IAAI,CAyHZ"}
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checkout modal manager (third-party embeds).
|
|
3
|
+
*
|
|
4
|
+
* On a third-party site, Elements build the cart in-page and emit
|
|
5
|
+
* `ui:checkout-requested`. This opens the hosted checkout in an iframe overlay
|
|
6
|
+
* pointing at HBO's `/embed/checkout`, handing off the current session token so
|
|
7
|
+
* the iframe sees the same cart (and so card data stays on HBO's origin - PCI
|
|
8
|
+
* isolation). It bridges the `tl:*` postMessage protocol back to the caller's
|
|
9
|
+
* onComplete/onError/onClose callbacks (which rode in on the intent payload).
|
|
10
|
+
*
|
|
11
|
+
* The iframe URL carries `parent_origin=<this page's origin>` so HBO can pin
|
|
12
|
+
* its postMessage target to us (it never posts to '*'), and incoming messages
|
|
13
|
+
* are only accepted from the checkout's own origin. The message set is
|
|
14
|
+
* documented in HBO's docs/embed-checkout-contract.md.
|
|
15
|
+
*
|
|
16
|
+
* HBO itself does NOT use this - it handles `ui:checkout-requested` by
|
|
17
|
+
* navigating in-page to /checkout.
|
|
18
|
+
*/
|
|
19
|
+
import { TOKEN_DEFAULTS } from '@ticketlayer/theme';
|
|
1
20
|
const OVERLAY_ID = 'tl-checkout-overlay';
|
|
2
21
|
/** Wire the modal to the bus; returns an uninstall function. */
|
|
3
22
|
export function installCheckoutModal(tl, opts = {}) {
|
|
@@ -40,8 +59,13 @@ export function installCheckoutModal(tl, opts = {}) {
|
|
|
40
59
|
// Wide enough for the two-column checkout (form left, order summary right);
|
|
41
60
|
// the embedded page stacks to one column on narrow viewports. Subtle theme
|
|
42
61
|
// border (matches the buy-tickets modal) + a soft lift off the backdrop.
|
|
62
|
+
//
|
|
63
|
+
// This one keeps a fallback, unlike the Elements' stylesheets: the overlay
|
|
64
|
+
// is drawn on a host page that may have no Elements and therefore no token
|
|
65
|
+
// stylesheet at all. The fallback is still not a second source - it is read
|
|
66
|
+
// from the same token table.
|
|
43
67
|
frame.style.cssText =
|
|
44
|
-
|
|
68
|
+
`width:100%;height:88vh;max-height:760px;border:1px solid var(--tl-border, ${TOKEN_DEFAULTS.border});` +
|
|
45
69
|
'border-radius:16px;background:#fff;box-shadow:0 24px 64px rgba(0,0,0,0.45);';
|
|
46
70
|
// No chrome of our own around the iframe.
|
|
47
71
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkoutModal.js","sourceRoot":"","sources":["../../src/state/checkoutModal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkoutModal.js","sourceRoot":"","sources":["../../src/state/checkoutModal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
export interface LoadElementsOptions {
|
|
2
2
|
/** Enable runtime injection (default false - most hosts import Elements directly). */
|
|
3
3
|
elements?: boolean;
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Override the Elements ESM bundle URL: a pinned CDN build, or a local dist
|
|
6
|
+
* in dev. An exact-version URL must come with `elementsIntegrity`.
|
|
7
|
+
*/
|
|
5
8
|
elementsUrl?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Subresource integrity for `elementsUrl`, as `/versions.json` publishes it
|
|
11
|
+
* (`sha384-...`). Required for an exact-version URL, refused without one.
|
|
12
|
+
*/
|
|
13
|
+
elementsIntegrity?: string;
|
|
14
|
+
}
|
|
15
|
+
/** Thrown when the options ask for something that cannot be verified. */
|
|
16
|
+
export declare class ElementsIntegrityError extends Error {
|
|
17
|
+
constructor(message: string);
|
|
6
18
|
}
|
|
7
19
|
export declare function loadElements(opts?: LoadElementsOptions): Promise<void>;
|
|
8
20
|
//# sourceMappingURL=loadElements.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadElements.d.ts","sourceRoot":"","sources":["../../src/state/loadElements.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loadElements.d.ts","sourceRoot":"","sources":["../../src/state/loadElements.ts"],"names":[],"mappings":"AAkEA,MAAM,WAAW,mBAAmB;IAClC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,yEAAyE;AACzE,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAID,wBAAgB,YAAY,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsE1E"}
|