@ticketlayer/live 0.2.0 → 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/README.md CHANGED
@@ -8,11 +8,8 @@ the server (`@ticketlayer/live/server`).
8
8
  npm install @ticketlayer/live
9
9
  ```
10
10
 
11
- Not on npm yet: the package is built and versioned here but the first
12
- release waits on the `NPM_TOKEN` secret (see "Releasing"). Until then our
13
- apps use a `file:` link to this repository, and third-party pages load the
14
- CDN build. The vault page `architecture/sdk-architecture.md` lists what is
15
- on npm.
11
+ Third-party pages load the same client from the CDN build instead. The
12
+ vault page `architecture/sdk-architecture.md` lists what is on npm.
16
13
 
17
14
  ## Browser
18
15
 
@@ -28,7 +25,7 @@ const tl = await createLiveClient({
28
25
 
29
26
  The CDN build (`dist/ticketlayer.js`, served at `/v1/ticketlayer.js`) boots
30
27
  itself from `data-*` attributes on its script tag; see `src/auto.ts` and
31
- `live-elements/cdn/README.md`. `CLAUDE.md` is the working agreement.
28
+ `cdn/README.md` at the repository root. `CLAUDE.md` is the working agreement.
32
29
 
33
30
  ## React Native
34
31
 
@@ -179,19 +176,21 @@ overrides), so framework-specific fetch options pass straight through.
179
176
 
180
177
  ## Scripts
181
178
 
179
+ From the repository root, after `pnpm install`:
180
+
182
181
  ```bash
183
- npm run build # tsc -> dist/ (index.js, server.js, native/, types)
184
- npm run build:cdn # + esbuild IIFE -> dist/ticketlayer.js
185
- npm test # builds, then node --test test/*.test.mjs
186
- npm run docs:gen # typedoc -> docs-output/
182
+ pnpm --filter @ticketlayer/live build # tsc -> dist/ (index.js, server.js, native/, types)
183
+ pnpm --filter @ticketlayer/live build:cdn # + esbuild IIFE -> dist/ticketlayer.js
184
+ pnpm --filter @ticketlayer/live test # builds, then node --test test/*.test.mjs
185
+ pnpm --filter @ticketlayer/live docs:gen # typedoc -> docs-output/
187
186
  ```
188
187
 
189
188
  ## Releasing
190
189
 
191
- Versioning and publishing are driven by [changesets](.changeset/README.md):
192
- add a changeset with your change, and on merge to `main` the release workflow
193
- keeps a "Release @ticketlayer/live" pull request up to date; merging that
194
- publishes to npm with provenance. `src/client.ts` and `src/generated/` are
190
+ Versioning and publishing are driven by [changesets](../../.changeset/README.md)
191
+ for the whole workspace: add a changeset with your change, and on merge to
192
+ `main` the release workflow keeps a "Release Ticketlayer Live" pull request
193
+ up to date; merging that publishes to npm with provenance. `src/client.ts` and `src/generated/` are
195
194
  generated by `backstage-sdk-tooling` (regeneration PRs arrive automatically
196
195
  when backstage-api publishes a contract) and are shipped exactly as committed.
197
196
  The `ticketlayer` block in `package.json` records the spec version, dated API
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
@@ -1 +1 @@
1
- {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../src/auto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkC1E;;;;GAIG;AACH,wBAAgB,IAAI,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA0BtD;AAGD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAgB1E,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,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,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"}
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"}
package/dist/client.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * GENERATED FILE - do not edit by hand.
3
3
  * @ticketlayer/live client generated from the backstage sales surface
4
4
  * (spec 1.0.0) + live-api (0.1.0)
5
- * by backstage-sdk-tooling 0.1.0 on 2026-09-15T01:37:36.041Z.
5
+ * by backstage-sdk-tooling 0.1.0 on 2026-09-15T10:18:42.096Z.
6
6
  * Regenerate with `tt sdk live`.
7
7
  */
8
8
  import type { components } from './generated/types';
@@ -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,CAoEjG"}
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"}
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../src/elements.ts"],"names":[],"mappings":"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"}
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. No fees concept on
7
- * the sales surface yet, so fees=0 and total=subtotal. Money stays minor units.
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 subtotal = c.itemsSubtotal ?? c.subtotal ?? 0;
26
+ const totals = deriveCartTotals(c);
21
27
  return {
22
28
  ...c,
23
29
  items,
24
30
  itemCount,
25
- subtotal,
26
- fees: c.fees ?? 0,
27
- total: c.total ?? subtotal,
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"elements.js","sourceRoot":"","sources":["../src/elements.ts"],"names":[],"mappings":"AA6EA;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,CAAC,IAAa,EAAW,EAAE;IAC3C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,CAAC,GAAG,IAA6C,CAAC;IACxD,MAAM,KAAK,GAAmC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtE,MAAM,EAAE,GAAG,CAA4B,CAAC;QACxC,MAAM,GAAG,GAAI,EAAE,CAAC,QAAmB,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAI,EAAE,CAAC,QAAmB,IAAK,EAAE,CAAC,SAAoB,GAAG,GAAG,CAAC;QACvE,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAE,CAAC,CAAC,QAAmB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,CAAC,CAAC,aAAa,IAAK,CAA2B,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC/E,OAAO;QACL,GAAG,CAAC;QACJ,KAAK;QACL,SAAS;QACT,QAAQ;QACR,IAAI,EAAG,CAAuB,CAAC,IAAI,IAAI,CAAC;QACxC,KAAK,EAAG,CAAwB,CAAC,KAAK,IAAI,QAAQ;KACnD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,EAAmB;IACzD,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwD,CAAC;IAE/E,MAAM,OAAO,GAAG,CAAC,YAAoB,EAAE,YAAqB,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,4CAA4C,YAAY,IAAI;gBAC1D,mFAAmF,CACtF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;IAC1F,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG;QACpB,KAAK,CAAC,IAAI,CAAC,OAA+C;YACxD,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAW3B,CAAC;YACT,gEAAgE;YAChE,2EAA2E;YAC3E,uEAAuE;YACvE,yEAAyE;YACzE,eAAe;YACf,wEAAwE;YACxE,8DAA8D;YAC9D,uEAAuE;YACvE,uDAAuD;YACvD,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE;gBACrB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClB,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,GAAG,CAAC,CAAC,CAAC,SAAS;oBACb,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,EAAE;oBACnE,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,kBAAkB,EAAE,WAAoB;aACzC,CAAC,CAAC,CAAC;YACJ,IAAI,OAAO,EAAE,KAAK;gBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QAChD,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,YAAoB;YACxD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAahC,CAAC;YACT,MAAM,GAAG,GACP,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,GAAG,GAAG,GAAG,EAAE,WAAW,IAAI,EAAE,CAAC;YACnC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACpB,IAAI,GAAG;oBAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1F,OAAO;oBACL,EAAE,EAAE,EAAE,CAAC,YAAY;oBACnB,IAAI,EAAE,EAAE,CAAC,cAAc;oBACvB,WAAW,EAAE,EAAE,CAAC,WAAW;oBAC3B,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,mDAAmD;oBACxE,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,YAAY,EAAE,EAAE,CAAC,YAAY;oBAC7B,wEAAwE;oBACxE,2DAA2D;oBAC3D,WAAW,EAAE,EAAE;oBACf,SAAS,EAAE,GAAG;iBACf,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,kEAAkE;QAClE,oEAAoE;QACpE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,EAAE,EAAE,CAAC,KAAa,EAAE,EAA2B,EAAE,EAAE,CACjD,EAAE,CAAC,EAAE,CAAC,KAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,GAAG,EAAE,CAAC,KAAa,EAAE,EAA2B,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC;QAC/E,OAAO,EAAE,KAAK,EAAE,YAAoB,EAAE,QAAgB,EAAE,YAAoB,EAAE,EAAE;YAC9E,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAC9E,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtG,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,KAA8E,EAAE,EAAE;YACjG,IAAI,IAAI,GAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YACpC,KAAK,MAAM,EAAE,IAAI,KAAK;gBAAE,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;YACxG,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7E,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,YAAoB,EAAE,YAAoB,EAAE,EAAE;YAC5E,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAC9E,OAAO,SAAS,CACd,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CACtG,CAAC;QACJ,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,OAAe,EAAE,aAAqB,EAAE,EAAE;YAC3D,0EAA0E;YAC1E,0EAA0E;YAC1E,oCAAoC;YACpC,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;YACvG,OAAO,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;KACF,CAAC;IAEF,MAAM,aAAa,GAAG;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;QAC5B,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QAChD,SAAS,EAAE,CAAC,OAAe,EAAE,MAAc,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;KACrF,CAAC;IAEF,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,WAAW,GAAG;QAClB,IAAI,QAAQ;YACV,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1B,CAAC;QACD,IAAI,aAAa;YACf,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/B,CAAC;QACD,gBAAgB,EAAE,CAAC,OAA2C,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QACpG,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClD,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;KAC/B,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;KAClD,CAAC;IAEF,OAAO;QACL,gBAAgB,EAAE,GAAG,EAAE,CAAC,aAAa;QACrC,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;QACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC,aAAa;QACrC,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;QACjC,iBAAiB,EAAE,GAAG,EAAE,CAAC,cAAc;QACvC,EAAE,EAAE,CAAC,KAAa,EAAE,EAA2B,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC;QAC7E,GAAG,EAAE,CAAC,KAAa,EAAE,EAA2B,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC;QAC/E,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;YAC3B,SAAS,EAAE,CAAC,UAAwB,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;SACxG,CAAC;QACF,QAAQ,EAAE;YACR,SAAS,EAAE,CAAC,UAAwB,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC;YACpF,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;SACtD;QACD,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;KACtD,CAAC;AACJ,CAAC"}
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';
@@ -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":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA2CD,gEAAgE;AAChE,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,eAAe,EACnB,IAAI,GAAE,oBAAyB,GAC9B,MAAM,IAAI,CAqHZ"}
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,17 +1,23 @@
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
- const PRIVACY_URL = 'https://ticketlayer.com/privacy';
3
- const REPORT_URL = 'https://ticketlayer.com/report-abuse';
4
- const SITE_URL = 'https://ticketlayer.com';
5
- /** Floating-chrome markup: platform links (left) + Powered by Ticketlayer (right). */
6
- function footerHtml() {
7
- const logo = '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="display:block;">' +
8
- '<path d="M4 7.5A1.5 1.5 0 0 1 5.5 6h13A1.5 1.5 0 0 1 20 7.5v2a2 2 0 0 0 0 5v2a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 4 16.5v-2a2 2 0 0 0 0-5v-2Z" fill="currentColor"/>' +
9
- '<path d="M13 7v10" stroke="rgba(255,255,255,0.5)" stroke-width="1.2" stroke-dasharray="1.5 1.8" stroke-linecap="round"/></svg>';
10
- const link = (href, label) => `<a href="${href}" target="_blank" rel="noopener noreferrer" style="color:inherit;text-decoration:none;opacity:0.85;">${label}</a>`;
11
- return (`<div style="display:flex;gap:16px;align-items:center;">${link(PRIVACY_URL, 'Privacy Policy')}${link(REPORT_URL, 'Report Abuse')}</div>` +
12
- `<a href="${SITE_URL}" target="_blank" rel="noopener noreferrer" style="color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px;opacity:0.92;">` +
13
- `<span style="opacity:0.7;">Powered by</span>${logo}<span style="font-weight:700;letter-spacing:0.01em;">Ticketlayer</span></a>`);
14
- }
15
21
  /** Wire the modal to the bus; returns an uninstall function. */
16
22
  export function installCheckoutModal(tl, opts = {}) {
17
23
  if (typeof window === 'undefined' || typeof document === 'undefined')
@@ -53,18 +59,23 @@ export function installCheckoutModal(tl, opts = {}) {
53
59
  // Wide enough for the two-column checkout (form left, order summary right);
54
60
  // the embedded page stacks to one column on narrow viewports. Subtle theme
55
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.
56
67
  frame.style.cssText =
57
- 'width:100%;height:88vh;max-height:760px;border:1px solid var(--tl-border,#e5e7eb);' +
68
+ `width:100%;height:88vh;max-height:760px;border:1px solid var(--tl-border, ${TOKEN_DEFAULTS.border});` +
58
69
  'border-radius:16px;background:#fff;box-shadow:0 24px 64px rgba(0,0,0,0.45);';
59
- // Floating chrome: platform links far-left, "Powered by Ticketlayer" far-right.
60
- const footer = document.createElement('div');
61
- footer.style.cssText =
62
- 'display:flex;align-items:center;justify-content:space-between;gap:12px;' +
63
- 'padding:0 8px;font:500 12px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;' +
64
- 'color:rgba(255,255,255,0.78);';
65
- footer.innerHTML = footerHtml();
70
+ // No chrome of our own around the iframe.
71
+ //
72
+ // The overlay is a transport: an iframe onto the hosted checkout plus the
73
+ // postMessage bridge. It used to draw a "Powered by Ticketlayer" footer
74
+ // beneath the frame, which put attribution at the wrong layer - duplicated
75
+ // by the page inside, and absent for anyone who opens /embed/checkout
76
+ // directly rather than through this overlay. The checkout page renders it
77
+ // now, where the buyer actually is.
66
78
  wrapper.appendChild(frame);
67
- wrapper.appendChild(footer);
68
79
  overlay.appendChild(wrapper);
69
80
  overlay.addEventListener('click', (e) => {
70
81
  if (e.target === overlay || e.target === wrapper) {
@@ -1 +1 @@
1
- {"version":3,"file":"checkoutModal.js","sourceRoot":"","sources":["../../src/state/checkoutModal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkoutModal.js","sourceRoot":"","sources":["../../src/state/checkoutModal.ts"],"names":[],"mappings":"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"}