@ticketlayer/elements 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/README.md +16 -15
- package/dist/cjs/{index-DfzcrE9-.js → index-I9CoYv3k.js} +277 -1798
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/money-BtmM2gt-.js +118 -0
- package/dist/cjs/{order-summary-ZMkJ5bez.js → order-summary-X3TlZxc2.js} +34 -0
- package/dist/cjs/ticketlayer-elements.cjs.js +3 -3
- package/dist/cjs/tl-buy-modal.cjs.entry.js +3 -3
- package/dist/cjs/tl-buy-tickets-button.cjs.entry.js +10 -7
- package/dist/cjs/tl-buy-tickets-wrapper.cjs.entry.js +2 -2
- package/dist/cjs/tl-cart-badge.cjs.entry.js +2 -2
- package/dist/cjs/tl-cart-drawer.cjs.entry.js +2 -2
- package/dist/cjs/tl-cart.cjs.entry.js +10 -4
- package/dist/cjs/tl-checkout-wrapper.cjs.entry.js +2 -2
- package/dist/cjs/tl-event-card.cjs.entry.js +4 -3
- package/dist/cjs/tl-event-list.cjs.entry.js +2 -2
- package/dist/cjs/tl-login.cjs.entry.js +4 -3
- package/dist/cjs/tl-my-orders.cjs.entry.js +4 -3
- package/dist/cjs/tl-occurrence-selector_2.cjs.entry.js +454 -122
- package/dist/cjs/tl-order-confirmation.cjs.entry.js +11 -8
- package/dist/cjs/tl-order-tickets_2.cjs.entry.js +3 -3
- package/dist/cjs/tl-promo-code.cjs.entry.js +4 -3
- package/dist/cjs/tl-seat-map.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/tl-buy-modal/tl-buy-modal.css +12 -13
- package/dist/collection/components/tl-buy-modal/tl-buy-modal.js +1 -1
- package/dist/collection/components/tl-buy-tickets-button/tl-buy-tickets-button.css +4 -4
- package/dist/collection/components/tl-buy-tickets-button/tl-buy-tickets-button.js +11 -8
- package/dist/collection/components/tl-buy-tickets-wrapper/tl-buy-tickets-wrapper.css +2 -2
- package/dist/collection/components/tl-cart/tl-cart.css +52 -51
- package/dist/collection/components/tl-cart/tl-cart.js +10 -4
- package/dist/collection/components/tl-cart-badge/tl-cart-badge.css +11 -11
- package/dist/collection/components/tl-cart-drawer/tl-cart-drawer.css +6 -6
- package/dist/collection/components/tl-checkout-wrapper/tl-checkout-wrapper.css +2 -2
- package/dist/collection/components/tl-event-card/tl-event-card.css +22 -22
- package/dist/collection/components/tl-event-card/tl-event-card.js +1 -1
- package/dist/collection/components/tl-event-list/tl-event-list.css +17 -17
- package/dist/collection/components/tl-login/tl-login.css +26 -26
- package/dist/collection/components/tl-login/tl-login.js +1 -1
- package/dist/collection/components/tl-my-orders/tl-my-orders.css +40 -40
- package/dist/collection/components/tl-occurrence-selector/tl-occurrence-selector.css +54 -65
- package/dist/collection/components/tl-occurrence-selector/tl-occurrence-selector.js +2 -2
- package/dist/collection/components/tl-order-confirmation/tl-order-confirmation.css +38 -38
- package/dist/collection/components/tl-order-confirmation/tl-order-confirmation.js +8 -6
- package/dist/collection/components/tl-order-tickets/tl-order-tickets.css +9 -9
- package/dist/collection/components/tl-promo-code/tl-promo-code.css +25 -25
- package/dist/collection/components/tl-promo-code/tl-promo-code.js +1 -1
- package/dist/collection/components/tl-seat-map/tl-seat-map.css +10 -10
- package/dist/collection/components/tl-ticket/tl-ticket.css +13 -13
- package/dist/collection/components/tl-ticket/tl-ticket.js +1 -1
- package/dist/collection/components/tl-ticket-selector/tl-ticket-selector.css +74 -49
- package/dist/collection/components/tl-ticket-selector/tl-ticket-selector.js +73 -127
- package/dist/collection/utils/cart-totals.js +9 -0
- package/dist/collection/utils/order-summary.js +36 -0
- package/dist/components/money.js +1 -0
- package/dist/components/order-summary.js +1 -1
- package/dist/components/tl-buy-modal.js +1 -1
- package/dist/components/tl-buy-tickets-button.js +1 -1
- package/dist/components/tl-buy-tickets-wrapper2.js +1 -1
- package/dist/components/tl-cart-badge.js +1 -1
- package/dist/components/tl-cart-drawer.js +1 -1
- package/dist/components/tl-cart2.js +1 -1
- package/dist/components/tl-checkout-wrapper2.js +1 -1
- package/dist/components/tl-event-card2.js +1 -1
- package/dist/components/tl-event-list.js +1 -1
- package/dist/components/tl-login2.js +1 -1
- package/dist/components/tl-my-orders.js +1 -1
- package/dist/components/tl-occurrence-selector2.js +1 -1
- package/dist/components/tl-order-confirmation.js +1 -1
- package/dist/components/tl-order-tickets2.js +1 -1
- package/dist/components/tl-promo-code.js +1 -1
- package/dist/components/tl-seat-map.js +1 -1
- package/dist/components/tl-ticket-selector2.js +1 -1
- package/dist/components/tl-ticket2.js +1 -1
- package/dist/elements.docs.d.ts +26 -0
- package/dist/elements.docs.json +35 -17
- package/dist/esm/{index-Ba-RZTFI.js → index-OoYV1faY.js} +277 -1798
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/money-4ig0-WB6.js +112 -0
- package/dist/esm/{order-summary-BGekdjN9.js → order-summary-DiDtvfZM.js} +34 -1
- package/dist/esm/ticketlayer-elements.js +4 -4
- package/dist/esm/tl-buy-modal.entry.js +3 -3
- package/dist/esm/tl-buy-tickets-button.entry.js +10 -7
- package/dist/esm/tl-buy-tickets-wrapper.entry.js +2 -2
- package/dist/esm/tl-cart-badge.entry.js +2 -2
- package/dist/esm/tl-cart-drawer.entry.js +2 -2
- package/dist/esm/tl-cart.entry.js +10 -4
- package/dist/esm/tl-checkout-wrapper.entry.js +2 -2
- package/dist/esm/tl-event-card.entry.js +4 -3
- package/dist/esm/tl-event-list.entry.js +2 -2
- package/dist/esm/tl-login.entry.js +4 -3
- package/dist/esm/tl-my-orders.entry.js +4 -3
- package/dist/esm/tl-occurrence-selector_2.entry.js +455 -123
- package/dist/esm/tl-order-confirmation.entry.js +11 -8
- package/dist/esm/tl-order-tickets_2.entry.js +3 -3
- package/dist/esm/tl-promo-code.entry.js +4 -3
- package/dist/esm/tl-seat-map.entry.js +2 -2
- package/dist/ticketlayer-elements/index.esm.js +1 -1
- package/dist/ticketlayer-elements/p-0814420f.entry.js +1 -0
- package/dist/ticketlayer-elements/p-0acabc26.entry.js +1 -0
- package/dist/ticketlayer-elements/{p-9372ff1f.entry.js → p-109a3feb.entry.js} +1 -1
- package/dist/ticketlayer-elements/{p-41d22d7c.entry.js → p-1a4ba71c.entry.js} +1 -1
- package/dist/ticketlayer-elements/p-318965c1.entry.js +1 -0
- package/dist/ticketlayer-elements/p-347c7fd1.entry.js +1 -0
- package/dist/ticketlayer-elements/p-3649c26d.entry.js +1 -0
- package/dist/ticketlayer-elements/p-40260cc9.entry.js +1 -0
- package/dist/ticketlayer-elements/p-4ig0-WB6.js +1 -0
- package/dist/ticketlayer-elements/p-55fd2f9f.entry.js +1 -0
- package/dist/ticketlayer-elements/p-62ee659b.entry.js +1 -0
- package/dist/ticketlayer-elements/{p-f446310d.entry.js → p-7d4ecc2b.entry.js} +1 -1
- package/dist/ticketlayer-elements/p-7f0abf95.entry.js +1 -0
- package/dist/ticketlayer-elements/p-BXpVGW51.js +1 -0
- package/dist/ticketlayer-elements/p-OoYV1faY.js +3 -0
- package/dist/ticketlayer-elements/p-a3c1b26c.entry.js +1 -0
- package/dist/ticketlayer-elements/p-ac264adc.entry.js +1 -0
- package/dist/ticketlayer-elements/{p-82752e3b.entry.js → p-aeb4c6fb.entry.js} +1 -1
- package/dist/ticketlayer-elements/{p-9c9072c8.entry.js → p-ba62541f.entry.js} +1 -1
- package/dist/ticketlayer-elements/ticketlayer-elements.css +1 -1
- package/dist/ticketlayer-elements/ticketlayer-elements.esm.js +1 -1
- package/dist/types/components/tl-cart/tl-cart.d.ts +10 -0
- package/dist/types/components/tl-ticket-selector/tl-ticket-selector.d.ts +40 -29
- package/dist/types/components.d.ts +165 -36
- package/dist/types/stencil-public-runtime.d.ts +97 -57
- package/dist/types/utils/cart-totals.d.ts +10 -0
- package/dist/types/utils/order-summary.d.ts +34 -0
- package/elements.catalogue.json +91 -22
- package/loader/index.d.ts +1 -1
- package/package.json +31 -32
- package/dist/ticketlayer-elements/p-0291df4c.entry.js +0 -1
- package/dist/ticketlayer-elements/p-11273f8f.entry.js +0 -1
- package/dist/ticketlayer-elements/p-340ab4f5.entry.js +0 -1
- package/dist/ticketlayer-elements/p-7ff43848.entry.js +0 -1
- package/dist/ticketlayer-elements/p-976770f3.entry.js +0 -1
- package/dist/ticketlayer-elements/p-9a903ff6.entry.js +0 -1
- package/dist/ticketlayer-elements/p-BGekdjN9.js +0 -1
- package/dist/ticketlayer-elements/p-Ba-RZTFI.js +0 -2
- package/dist/ticketlayer-elements/p-a5c90b68.entry.js +0 -1
- package/dist/ticketlayer-elements/p-b6d479ad.entry.js +0 -1
- package/dist/ticketlayer-elements/p-eb640760.entry.js +0 -1
- package/dist/ticketlayer-elements/p-f5846f61.entry.js +0 -1
- package/dist/ticketlayer-elements/p-fb9444c4.entry.js +0 -1
|
@@ -1,26 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* TlOccurrenceSelector Styles
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* --tl-background: Background colour (default: #ffffff)
|
|
8
|
-
* --tl-foreground: Main text colour (default: #0f172a)
|
|
9
|
-
* --tl-muted: Muted background (default: #f1f5f9)
|
|
10
|
-
* --tl-muted-foreground: Muted text (default: #64748b)
|
|
11
|
-
* --tl-border: Border colour (default: #e2e8f0)
|
|
12
|
-
* --tl-radius: Border radius (default: 0.5rem)
|
|
13
|
-
* --tl-font-family: Font family (default: system-ui)
|
|
3
|
+
*
|
|
4
|
+
* The --tl-* tokens this reads, and their defaults, are declared once in
|
|
5
|
+
* @ticketlayer/theme (packages/theme/tokens.json) and shipped in the global
|
|
6
|
+
* stylesheet. There is nothing to repeat here.
|
|
14
7
|
*/
|
|
15
8
|
|
|
16
9
|
:host {
|
|
17
|
-
/* Don't redefine CSS variables - let them inherit from parent document */
|
|
18
|
-
/* Only define local fallback for radius mapping */
|
|
19
|
-
--tl-radius: var(--tl-radius-md, 0.5rem);
|
|
20
|
-
|
|
21
10
|
display: block;
|
|
22
|
-
font-family: var(--tl-font-family
|
|
23
|
-
color: var(--tl-foreground
|
|
11
|
+
font-family: var(--tl-font-family);
|
|
12
|
+
color: var(--tl-foreground);
|
|
24
13
|
}
|
|
25
14
|
|
|
26
15
|
* {
|
|
@@ -37,7 +26,7 @@
|
|
|
37
26
|
.no-occurrences {
|
|
38
27
|
text-align: center;
|
|
39
28
|
padding: 3rem 1rem;
|
|
40
|
-
color: var(--tl-muted-foreground
|
|
29
|
+
color: var(--tl-muted-foreground);
|
|
41
30
|
}
|
|
42
31
|
|
|
43
32
|
/* =========================================================================
|
|
@@ -56,8 +45,8 @@
|
|
|
56
45
|
align-items: flex-start;
|
|
57
46
|
width: 100%;
|
|
58
47
|
padding: 1rem 1.25rem;
|
|
59
|
-
background: var(--tl-background
|
|
60
|
-
border: 1px solid var(--tl-border
|
|
48
|
+
background: var(--tl-background);
|
|
49
|
+
border: 1px solid var(--tl-border);
|
|
61
50
|
border-radius: var(--tl-radius);
|
|
62
51
|
text-align: left;
|
|
63
52
|
cursor: pointer;
|
|
@@ -66,8 +55,8 @@
|
|
|
66
55
|
}
|
|
67
56
|
|
|
68
57
|
.occurrence-item:hover:not(:disabled) {
|
|
69
|
-
border-color: var(--tl-primary
|
|
70
|
-
background: color-mix(in srgb, var(--tl-primary
|
|
58
|
+
border-color: var(--tl-primary);
|
|
59
|
+
background: color-mix(in srgb, var(--tl-primary) 5%, var(--tl-background));
|
|
71
60
|
}
|
|
72
61
|
|
|
73
62
|
.occurrence-item:focus-visible {
|
|
@@ -78,12 +67,12 @@
|
|
|
78
67
|
.occurrence-item:disabled {
|
|
79
68
|
cursor: not-allowed;
|
|
80
69
|
opacity: 0.6;
|
|
81
|
-
background: var(--tl-muted
|
|
70
|
+
background: var(--tl-muted);
|
|
82
71
|
}
|
|
83
72
|
|
|
84
73
|
.occurrence-item.sold-out {
|
|
85
74
|
opacity: 0.6;
|
|
86
|
-
background: var(--tl-muted
|
|
75
|
+
background: var(--tl-muted);
|
|
87
76
|
}
|
|
88
77
|
|
|
89
78
|
.occurrence-info {
|
|
@@ -93,7 +82,7 @@
|
|
|
93
82
|
.occurrence-date {
|
|
94
83
|
font-weight: 600;
|
|
95
84
|
font-size: 0.9375rem;
|
|
96
|
-
color: var(--tl-foreground
|
|
85
|
+
color: var(--tl-foreground);
|
|
97
86
|
margin-bottom: 0.25rem;
|
|
98
87
|
}
|
|
99
88
|
|
|
@@ -120,7 +109,7 @@
|
|
|
120
109
|
|
|
121
110
|
.status-arrow {
|
|
122
111
|
font-size: 1.25rem;
|
|
123
|
-
color: var(--tl-primary
|
|
112
|
+
color: var(--tl-primary);
|
|
124
113
|
}
|
|
125
114
|
|
|
126
115
|
/* =========================================================================
|
|
@@ -136,7 +125,7 @@
|
|
|
136
125
|
.slots-date-header {
|
|
137
126
|
font-size: 1.125rem;
|
|
138
127
|
font-weight: 600;
|
|
139
|
-
color: var(--tl-foreground
|
|
128
|
+
color: var(--tl-foreground);
|
|
140
129
|
padding-bottom: 0.5rem;
|
|
141
130
|
border-bottom: 1px solid var(--tl-border);
|
|
142
131
|
}
|
|
@@ -153,8 +142,8 @@
|
|
|
153
142
|
align-items: center;
|
|
154
143
|
justify-content: center;
|
|
155
144
|
padding: 0.75rem 0.5rem;
|
|
156
|
-
background: var(--tl-background
|
|
157
|
-
border: 1px solid var(--tl-border
|
|
145
|
+
background: var(--tl-background);
|
|
146
|
+
border: 1px solid var(--tl-border);
|
|
158
147
|
border-radius: var(--tl-radius);
|
|
159
148
|
cursor: pointer;
|
|
160
149
|
transition: all 0.15s ease;
|
|
@@ -163,8 +152,8 @@
|
|
|
163
152
|
}
|
|
164
153
|
|
|
165
154
|
.time-slot:hover:not(:disabled) {
|
|
166
|
-
border-color: var(--tl-primary
|
|
167
|
-
background: color-mix(in srgb, var(--tl-primary
|
|
155
|
+
border-color: var(--tl-primary);
|
|
156
|
+
background: color-mix(in srgb, var(--tl-primary) 5%, var(--tl-background));
|
|
168
157
|
}
|
|
169
158
|
|
|
170
159
|
.time-slot:focus-visible {
|
|
@@ -175,18 +164,18 @@
|
|
|
175
164
|
.time-slot:disabled {
|
|
176
165
|
cursor: not-allowed;
|
|
177
166
|
opacity: 0.6;
|
|
178
|
-
background: var(--tl-muted
|
|
167
|
+
background: var(--tl-muted);
|
|
179
168
|
}
|
|
180
169
|
|
|
181
170
|
.time-slot.sold-out {
|
|
182
171
|
opacity: 0.6;
|
|
183
|
-
background: var(--tl-muted
|
|
172
|
+
background: var(--tl-muted);
|
|
184
173
|
}
|
|
185
174
|
|
|
186
175
|
.slot-time {
|
|
187
176
|
font-size: 0.9375rem;
|
|
188
177
|
font-weight: 600;
|
|
189
|
-
color: var(--tl-foreground
|
|
178
|
+
color: var(--tl-foreground);
|
|
190
179
|
}
|
|
191
180
|
|
|
192
181
|
.slot-sold-out {
|
|
@@ -230,7 +219,7 @@
|
|
|
230
219
|
}
|
|
231
220
|
|
|
232
221
|
.calendar-panel {
|
|
233
|
-
border: 1px solid var(--tl-border
|
|
222
|
+
border: 1px solid var(--tl-border);
|
|
234
223
|
border-radius: var(--tl-radius);
|
|
235
224
|
padding: 1rem;
|
|
236
225
|
}
|
|
@@ -246,7 +235,7 @@
|
|
|
246
235
|
.month-label {
|
|
247
236
|
font-size: 1rem;
|
|
248
237
|
font-weight: 600;
|
|
249
|
-
color: var(--tl-foreground
|
|
238
|
+
color: var(--tl-foreground);
|
|
250
239
|
flex: 1;
|
|
251
240
|
}
|
|
252
241
|
|
|
@@ -262,16 +251,16 @@
|
|
|
262
251
|
width: 1.75rem;
|
|
263
252
|
height: 1.75rem;
|
|
264
253
|
padding: 0;
|
|
265
|
-
background: var(--tl-background
|
|
266
|
-
border: 1px solid var(--tl-border
|
|
254
|
+
background: var(--tl-background);
|
|
255
|
+
border: 1px solid var(--tl-border);
|
|
267
256
|
border-radius: var(--tl-radius);
|
|
268
257
|
cursor: pointer;
|
|
269
258
|
transition: all 0.15s ease;
|
|
270
|
-
color: var(--tl-foreground
|
|
259
|
+
color: var(--tl-foreground);
|
|
271
260
|
}
|
|
272
261
|
|
|
273
262
|
.nav-button:hover:not(:disabled) {
|
|
274
|
-
background: var(--tl-muted
|
|
263
|
+
background: var(--tl-muted);
|
|
275
264
|
}
|
|
276
265
|
|
|
277
266
|
.nav-button:disabled {
|
|
@@ -309,7 +298,7 @@
|
|
|
309
298
|
justify-content: center;
|
|
310
299
|
aspect-ratio: 1;
|
|
311
300
|
padding: 0.1875rem;
|
|
312
|
-
background: var(--tl-background
|
|
301
|
+
background: var(--tl-background);
|
|
313
302
|
border: 1px solid transparent;
|
|
314
303
|
border-radius: var(--tl-radius);
|
|
315
304
|
cursor: default;
|
|
@@ -317,7 +306,7 @@
|
|
|
317
306
|
font-family: inherit;
|
|
318
307
|
font-size: 0.9375rem;
|
|
319
308
|
font-weight: 500;
|
|
320
|
-
color: var(--tl-foreground
|
|
309
|
+
color: var(--tl-foreground);
|
|
321
310
|
}
|
|
322
311
|
|
|
323
312
|
.calendar-day.other-month {
|
|
@@ -327,35 +316,35 @@
|
|
|
327
316
|
|
|
328
317
|
.calendar-day.has-occurrences {
|
|
329
318
|
cursor: pointer;
|
|
330
|
-
background: color-mix(in srgb, var(--tl-primary
|
|
319
|
+
background: color-mix(in srgb, var(--tl-primary) 10%, var(--tl-background));
|
|
331
320
|
border-color: transparent;
|
|
332
321
|
font-weight: 600;
|
|
333
|
-
color: var(--tl-primary
|
|
322
|
+
color: var(--tl-primary);
|
|
334
323
|
}
|
|
335
324
|
|
|
336
325
|
.calendar-day.has-occurrences:hover {
|
|
337
|
-
background: color-mix(in srgb, var(--tl-primary
|
|
326
|
+
background: color-mix(in srgb, var(--tl-primary) 18%, var(--tl-background));
|
|
338
327
|
border-color: transparent;
|
|
339
328
|
}
|
|
340
329
|
|
|
341
330
|
.calendar-day.has-occurrences.sold-out {
|
|
342
|
-
background: var(--tl-muted
|
|
331
|
+
background: var(--tl-muted);
|
|
343
332
|
border-color: transparent;
|
|
344
333
|
}
|
|
345
334
|
|
|
346
335
|
.calendar-day.has-occurrences.sold-out:hover {
|
|
347
|
-
background: color-mix(in srgb, var(--tl-muted
|
|
336
|
+
background: color-mix(in srgb, var(--tl-muted) 80%, var(--tl-background));
|
|
348
337
|
border-color: transparent;
|
|
349
338
|
}
|
|
350
339
|
|
|
351
340
|
.calendar-day.selected {
|
|
352
|
-
background: var(--tl-primary
|
|
353
|
-
border-color: var(--tl-primary
|
|
354
|
-
color: var(--tl-primary-foreground
|
|
341
|
+
background: var(--tl-primary);
|
|
342
|
+
border-color: var(--tl-primary);
|
|
343
|
+
color: var(--tl-primary-foreground);
|
|
355
344
|
}
|
|
356
345
|
|
|
357
346
|
.calendar-day.selected:hover {
|
|
358
|
-
background: color-mix(in srgb, var(--tl-primary
|
|
347
|
+
background: color-mix(in srgb, var(--tl-primary) 90%, black);
|
|
359
348
|
}
|
|
360
349
|
|
|
361
350
|
.calendar-day.selected .occurrence-dot {
|
|
@@ -394,7 +383,7 @@
|
|
|
394
383
|
align-items: center;
|
|
395
384
|
justify-content: center;
|
|
396
385
|
color: var(--tl-muted-foreground);
|
|
397
|
-
background: var(--tl-muted
|
|
386
|
+
background: var(--tl-muted);
|
|
398
387
|
border-radius: var(--tl-radius);
|
|
399
388
|
padding: 2rem 1rem;
|
|
400
389
|
text-align: center;
|
|
@@ -405,7 +394,7 @@
|
|
|
405
394
|
.selected-date-header {
|
|
406
395
|
font-size: 0.9375rem;
|
|
407
396
|
font-weight: 600;
|
|
408
|
-
color: var(--tl-foreground
|
|
397
|
+
color: var(--tl-foreground);
|
|
409
398
|
padding-bottom: 0.625rem;
|
|
410
399
|
margin-bottom: 0.625rem;
|
|
411
400
|
}
|
|
@@ -422,8 +411,8 @@
|
|
|
422
411
|
justify-content: space-between;
|
|
423
412
|
width: 100%;
|
|
424
413
|
padding: 0.625rem 0.875rem;
|
|
425
|
-
background: var(--tl-background
|
|
426
|
-
border: 1px solid var(--tl-border
|
|
414
|
+
background: var(--tl-background);
|
|
415
|
+
border: 1px solid var(--tl-border);
|
|
427
416
|
border-radius: var(--tl-radius);
|
|
428
417
|
text-align: left;
|
|
429
418
|
cursor: pointer;
|
|
@@ -432,8 +421,8 @@
|
|
|
432
421
|
}
|
|
433
422
|
|
|
434
423
|
.time-slot-item:hover:not(:disabled) {
|
|
435
|
-
border-color: var(--tl-primary
|
|
436
|
-
background: color-mix(in srgb, var(--tl-primary
|
|
424
|
+
border-color: var(--tl-primary);
|
|
425
|
+
background: color-mix(in srgb, var(--tl-primary) 5%, var(--tl-background));
|
|
437
426
|
}
|
|
438
427
|
|
|
439
428
|
.time-slot-item:focus-visible {
|
|
@@ -444,12 +433,12 @@
|
|
|
444
433
|
.time-slot-item:disabled {
|
|
445
434
|
cursor: not-allowed;
|
|
446
435
|
opacity: 0.6;
|
|
447
|
-
background: var(--tl-muted
|
|
436
|
+
background: var(--tl-muted);
|
|
448
437
|
}
|
|
449
438
|
|
|
450
439
|
.time-slot-item.sold-out {
|
|
451
440
|
opacity: 0.6;
|
|
452
|
-
background: var(--tl-muted
|
|
441
|
+
background: var(--tl-muted);
|
|
453
442
|
}
|
|
454
443
|
|
|
455
444
|
.time-slot-item .slot-time {
|
|
@@ -538,7 +527,7 @@
|
|
|
538
527
|
}
|
|
539
528
|
|
|
540
529
|
.skeleton {
|
|
541
|
-
background: var(--tl-muted
|
|
530
|
+
background: var(--tl-muted);
|
|
542
531
|
border-radius: var(--tl-radius);
|
|
543
532
|
animation: skeleton-pulse 1.5s ease-in-out infinite;
|
|
544
533
|
}
|
|
@@ -557,7 +546,7 @@
|
|
|
557
546
|
|
|
558
547
|
/* Skeleton for calendar view */
|
|
559
548
|
.skeleton-calendar {
|
|
560
|
-
border: 1px solid var(--tl-border
|
|
549
|
+
border: 1px solid var(--tl-border);
|
|
561
550
|
border-radius: var(--tl-radius);
|
|
562
551
|
padding: 1rem;
|
|
563
552
|
min-height: 350px;
|
|
@@ -629,7 +618,7 @@
|
|
|
629
618
|
}
|
|
630
619
|
|
|
631
620
|
.error-message {
|
|
632
|
-
color: var(--tl-foreground
|
|
621
|
+
color: var(--tl-foreground);
|
|
633
622
|
font-size: 0.9375rem;
|
|
634
623
|
max-width: 400px;
|
|
635
624
|
}
|
|
@@ -637,8 +626,8 @@
|
|
|
637
626
|
.retry-button {
|
|
638
627
|
margin-top: 0.5rem;
|
|
639
628
|
padding: 0.625rem 1.25rem;
|
|
640
|
-
background: var(--tl-primary
|
|
641
|
-
color: var(--tl-primary-foreground
|
|
629
|
+
background: var(--tl-primary);
|
|
630
|
+
color: var(--tl-primary-foreground);
|
|
642
631
|
border: none;
|
|
643
632
|
border-radius: var(--tl-radius);
|
|
644
633
|
font-family: inherit;
|
|
@@ -649,7 +638,7 @@
|
|
|
649
638
|
}
|
|
650
639
|
|
|
651
640
|
.retry-button:hover {
|
|
652
|
-
background: color-mix(in srgb, var(--tl-primary
|
|
641
|
+
background: color-mix(in srgb, var(--tl-primary) 90%, black);
|
|
653
642
|
}
|
|
654
643
|
|
|
655
644
|
.retry-button:focus-visible {
|
|
@@ -647,7 +647,7 @@ export class TlOccurrenceSelector {
|
|
|
647
647
|
"references": {
|
|
648
648
|
"TlOccurrenceSelectorTheme": {
|
|
649
649
|
"location": "local",
|
|
650
|
-
"path": "/home/runner/work/live
|
|
650
|
+
"path": "/home/runner/work/live/live/packages/elements/src/components/tl-occurrence-selector/tl-occurrence-selector.tsx",
|
|
651
651
|
"id": "src/components/tl-occurrence-selector/tl-occurrence-selector.tsx::TlOccurrenceSelectorTheme"
|
|
652
652
|
}
|
|
653
653
|
}
|
|
@@ -691,7 +691,7 @@ export class TlOccurrenceSelector {
|
|
|
691
691
|
"references": {
|
|
692
692
|
"TlOccurrence": {
|
|
693
693
|
"location": "local",
|
|
694
|
-
"path": "/home/runner/work/live
|
|
694
|
+
"path": "/home/runner/work/live/live/packages/elements/src/components/tl-occurrence-selector/tl-occurrence-selector.tsx",
|
|
695
695
|
"id": "src/components/tl-occurrence-selector/tl-occurrence-selector.tsx::TlOccurrence"
|
|
696
696
|
}
|
|
697
697
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: block;
|
|
3
|
-
font-family: var(--tl-font-family
|
|
4
|
-
color: var(--tl-foreground
|
|
3
|
+
font-family: var(--tl-font-family);
|
|
4
|
+
color: var(--tl-foreground);
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
.confirmation {
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
.check {
|
|
12
12
|
width: 4rem;
|
|
13
13
|
height: 4rem;
|
|
14
|
-
margin: 0 auto var(--tl-spacing-4
|
|
14
|
+
margin: 0 auto var(--tl-spacing-4);
|
|
15
15
|
display: flex;
|
|
16
16
|
align-items: center;
|
|
17
17
|
justify-content: center;
|
|
18
18
|
border-radius: 9999px;
|
|
19
|
-
background: var(--tl-success
|
|
20
|
-
color: var(--tl-success-foreground
|
|
19
|
+
background: var(--tl-success);
|
|
20
|
+
color: var(--tl-success-foreground);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
.check svg {
|
|
@@ -26,49 +26,49 @@
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.title {
|
|
29
|
-
margin: 0 0 var(--tl-spacing-2
|
|
29
|
+
margin: 0 0 var(--tl-spacing-2);
|
|
30
30
|
font-size: 1.875rem;
|
|
31
31
|
font-weight: 700;
|
|
32
32
|
line-height: 1.2;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
.lead {
|
|
36
|
-
margin: 0 0 var(--tl-spacing-6
|
|
37
|
-
color: var(--tl-muted-foreground
|
|
36
|
+
margin: 0 0 var(--tl-spacing-6);
|
|
37
|
+
color: var(--tl-muted-foreground);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.error {
|
|
41
|
-
margin: 0 0 var(--tl-spacing-6
|
|
41
|
+
margin: 0 0 var(--tl-spacing-6);
|
|
42
42
|
font-size: 0.875rem;
|
|
43
|
-
color: var(--tl-error
|
|
43
|
+
color: var(--tl-error);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
.summary {
|
|
47
47
|
text-align: left;
|
|
48
|
-
padding: var(--tl-spacing-6
|
|
49
|
-
margin-bottom: var(--tl-spacing-6
|
|
50
|
-
background: var(--tl-muted
|
|
51
|
-
border: 1px solid var(--tl-border
|
|
52
|
-
border-radius: var(--tl-radius-lg
|
|
48
|
+
padding: var(--tl-spacing-6);
|
|
49
|
+
margin-bottom: var(--tl-spacing-6);
|
|
50
|
+
background: var(--tl-muted);
|
|
51
|
+
border: 1px solid var(--tl-border);
|
|
52
|
+
border-radius: var(--tl-radius-lg);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
.rows {
|
|
56
56
|
display: grid;
|
|
57
|
-
gap: var(--tl-spacing-2
|
|
58
|
-
margin: 0 0 var(--tl-spacing-4
|
|
59
|
-
padding: 0 0 var(--tl-spacing-4
|
|
60
|
-
border-bottom: 1px solid var(--tl-border
|
|
57
|
+
gap: var(--tl-spacing-2);
|
|
58
|
+
margin: 0 0 var(--tl-spacing-4);
|
|
59
|
+
padding: 0 0 var(--tl-spacing-4);
|
|
60
|
+
border-bottom: 1px solid var(--tl-border);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
.row {
|
|
64
64
|
display: flex;
|
|
65
65
|
justify-content: space-between;
|
|
66
|
-
gap: var(--tl-spacing-4
|
|
66
|
+
gap: var(--tl-spacing-4);
|
|
67
67
|
font-size: 0.875rem;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
.row dt {
|
|
71
|
-
color: var(--tl-muted-foreground
|
|
71
|
+
color: var(--tl-muted-foreground);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
.row dd {
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
.reference {
|
|
81
|
-
font-family: var(--tl-font-family-mono
|
|
81
|
+
font-family: var(--tl-font-family-mono);
|
|
82
82
|
font-weight: 600;
|
|
83
83
|
}
|
|
84
84
|
|
|
@@ -87,40 +87,40 @@
|
|
|
87
87
|
margin: 0;
|
|
88
88
|
padding: 0;
|
|
89
89
|
display: grid;
|
|
90
|
-
gap: var(--tl-spacing-2
|
|
90
|
+
gap: var(--tl-spacing-2);
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
.line {
|
|
94
94
|
display: flex;
|
|
95
95
|
justify-content: space-between;
|
|
96
|
-
gap: var(--tl-spacing-4
|
|
96
|
+
gap: var(--tl-spacing-4);
|
|
97
97
|
font-size: 0.875rem;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
.totals {
|
|
101
|
-
margin-top: var(--tl-spacing-3
|
|
102
|
-
padding-top: var(--tl-spacing-3
|
|
103
|
-
border-top: 1px solid var(--tl-border
|
|
101
|
+
margin-top: var(--tl-spacing-3);
|
|
102
|
+
padding-top: var(--tl-spacing-3);
|
|
103
|
+
border-top: 1px solid var(--tl-border);
|
|
104
104
|
display: grid;
|
|
105
|
-
gap: var(--tl-spacing-1
|
|
105
|
+
gap: var(--tl-spacing-1);
|
|
106
106
|
font-size: 0.875rem;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
.total-row {
|
|
110
110
|
display: flex;
|
|
111
111
|
justify-content: space-between;
|
|
112
|
-
color: var(--tl-muted-foreground
|
|
112
|
+
color: var(--tl-muted-foreground);
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
.total-row.discount {
|
|
116
|
-
color: var(--tl-success
|
|
116
|
+
color: var(--tl-success);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
.total-row.total {
|
|
120
|
-
margin-top: var(--tl-spacing-1
|
|
120
|
+
margin-top: var(--tl-spacing-1);
|
|
121
121
|
font-size: 1rem;
|
|
122
122
|
font-weight: 600;
|
|
123
|
-
color: var(--tl-foreground
|
|
123
|
+
color: var(--tl-foreground);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
.tickets {
|
|
@@ -128,24 +128,24 @@
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
.subtitle {
|
|
131
|
-
margin: 0 0 var(--tl-spacing-4
|
|
131
|
+
margin: 0 0 var(--tl-spacing-4);
|
|
132
132
|
font-size: 1.125rem;
|
|
133
133
|
font-weight: 600;
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
.hint {
|
|
137
|
-
margin: var(--tl-spacing-3
|
|
137
|
+
margin: var(--tl-spacing-3) 0 0;
|
|
138
138
|
font-size: 0.75rem;
|
|
139
|
-
color: var(--tl-muted-foreground
|
|
139
|
+
color: var(--tl-muted-foreground);
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
/* Skeleton */
|
|
143
143
|
.skeleton-line,
|
|
144
144
|
.skeleton-block {
|
|
145
|
-
background: var(--tl-secondary
|
|
146
|
-
border-radius: var(--tl-radius-md
|
|
145
|
+
background: var(--tl-secondary);
|
|
146
|
+
border-radius: var(--tl-radius-md);
|
|
147
147
|
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
148
|
-
margin: 0 auto var(--tl-spacing-3
|
|
148
|
+
margin: 0 auto var(--tl-spacing-3);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
.skeleton-line {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { onSDKEvent, whenSDK } from "../../utils/sdk-connector";
|
|
3
|
-
import { errorMessage, formatDateTime, formatPrice, orderCustomerEmail, orderEventName, resolveOccurrence, ticketItems, } from "../../utils/order-summary";
|
|
3
|
+
import { errorMessage, formatDateTime, formatPrice, orderCustomerEmail, orderEventName, orderTotals, resolveOccurrence, ticketItems, } from "../../utils/order-summary";
|
|
4
4
|
/**
|
|
5
5
|
* tl-order-confirmation - the "thank you" page block: order reference,
|
|
6
6
|
* customer email, event and date, ticket lines, totals, then the tickets
|
|
@@ -120,12 +120,14 @@ export class TlOrderConfirmation {
|
|
|
120
120
|
const startsAt = this.occurrence?.startsAt;
|
|
121
121
|
return (h("dl", { class: "rows" }, h("div", { class: "row" }, h("dt", null, "Order reference"), h("dd", { class: "reference" }, order.orderNumber)), email && (h("div", { class: "row" }, h("dt", null, "Email"), h("dd", null, email))), eventName && (h("div", { class: "row" }, h("dt", null, "Event"), h("dd", null, eventName))), startsAt && (h("div", { class: "row" }, h("dt", null, "Date"), h("dd", null, formatDateTime(startsAt))))));
|
|
122
122
|
}
|
|
123
|
+
// Money comes from orderTotals: the booking fee is its own row named after
|
|
124
|
+
// the channel's fee profile, the subtotal is the ticket lines alone (the
|
|
125
|
+
// order's own `subtotal` folds the fee line into it) and the total is the
|
|
126
|
+
// order's figure, so what is shown is what was charged.
|
|
123
127
|
renderTotals(order) {
|
|
124
|
-
const
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
const discounts = Number(order.totalDiscounts) || 0;
|
|
128
|
-
return (h("div", { class: "totals" }, h("div", { class: "total-row" }, h("span", null, "Subtotal"), h("span", null, formatPrice(order.subtotal, c))), fees > 0 && (h("div", { class: "total-row" }, h("span", null, "Fees"), h("span", null, formatPrice(order.totalFees, c)))), tax > 0 && (h("div", { class: "total-row" }, h("span", null, "Tax"), h("span", null, formatPrice(order.totalTax, c)))), discounts > 0 && (h("div", { class: "total-row discount" }, h("span", null, "Discount"), h("span", null, "-", formatPrice(order.totalDiscounts, c)))), h("div", { class: "total-row total" }, h("span", null, "Total"), h("span", null, formatPrice(order.total, c)))));
|
|
128
|
+
const totals = orderTotals(order);
|
|
129
|
+
const c = totals.currency;
|
|
130
|
+
return (h("div", { class: "totals" }, h("div", { class: "total-row" }, h("span", null, "Subtotal"), h("span", null, formatPrice(totals.subtotal, c))), totals.showFee && (h("div", { class: "total-row fee" }, h("span", null, totals.feeLabel), h("span", null, formatPrice(totals.fees, c)))), totals.tax > 0 && (h("div", { class: "total-row" }, h("span", null, "Tax"), h("span", null, formatPrice(totals.tax, c)))), totals.discount > 0 && (h("div", { class: "total-row discount" }, h("span", null, "Discount"), h("span", null, "-", formatPrice(totals.discount, c)))), h("div", { class: "total-row total" }, h("span", null, "Total"), h("span", null, formatPrice(totals.total, c)))));
|
|
129
131
|
}
|
|
130
132
|
render() {
|
|
131
133
|
if (this.paymentFailed) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: block;
|
|
3
|
-
font-family: var(--tl-font-family
|
|
3
|
+
font-family: var(--tl-font-family);
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.grid {
|
|
7
7
|
display: grid;
|
|
8
|
-
gap: var(--tl-spacing-4
|
|
8
|
+
gap: var(--tl-spacing-4);
|
|
9
9
|
grid-template-columns: 1fr;
|
|
10
10
|
}
|
|
11
11
|
|
|
@@ -19,28 +19,28 @@
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
.state {
|
|
22
|
-
padding: var(--tl-spacing-6
|
|
22
|
+
padding: var(--tl-spacing-6);
|
|
23
23
|
text-align: center;
|
|
24
|
-
color: var(--tl-muted-foreground
|
|
24
|
+
color: var(--tl-muted-foreground);
|
|
25
25
|
font-size: 0.875rem;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.state.error {
|
|
29
|
-
color: var(--tl-error
|
|
29
|
+
color: var(--tl-error);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
.state.issuing {
|
|
33
33
|
display: flex;
|
|
34
34
|
align-items: center;
|
|
35
35
|
justify-content: center;
|
|
36
|
-
gap: var(--tl-spacing-2
|
|
36
|
+
gap: var(--tl-spacing-2);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.spinner {
|
|
40
40
|
width: 0.875rem;
|
|
41
41
|
height: 0.875rem;
|
|
42
|
-
border: 2px solid var(--tl-border
|
|
43
|
-
border-top-color: var(--tl-primary
|
|
42
|
+
border: 2px solid var(--tl-border);
|
|
43
|
+
border-top-color: var(--tl-primary);
|
|
44
44
|
border-radius: 50%;
|
|
45
45
|
animation: tl-spin 0.7s linear infinite;
|
|
46
46
|
flex: none;
|
|
@@ -57,6 +57,6 @@
|
|
|
57
57
|
@media (prefers-reduced-motion: reduce) {
|
|
58
58
|
.spinner {
|
|
59
59
|
animation: none;
|
|
60
|
-
border-top-color: var(--tl-border
|
|
60
|
+
border-top-color: var(--tl-border);
|
|
61
61
|
}
|
|
62
62
|
}
|