@everymatrix/lottery-game-page 0.0.3 → 0.0.6

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.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +9 -2
  3. package/dist/cjs/index-379e8fc6.js +0 -1239
  4. package/dist/cjs/index.cjs.js +0 -2
  5. package/dist/cjs/loader.cjs.js +0 -21
  6. package/dist/cjs/lottery-game-page.cjs.entry.js +0 -319
  7. package/dist/cjs/lottery-game-page.cjs.js +0 -19
  8. package/dist/collection/collection-manifest.json +0 -12
  9. package/dist/collection/components/lottery-game-page/lottery-game-page.css +0 -305
  10. package/dist/collection/components/lottery-game-page/lottery-game-page.js +0 -498
  11. package/dist/collection/index.js +0 -1
  12. package/dist/collection/utils/locale.utils.js +0 -50
  13. package/dist/collection/utils/utils.js +0 -12
  14. package/dist/components/index.d.ts +0 -22
  15. package/dist/components/index.js +0 -2
  16. package/dist/components/lottery-game-page.d.ts +0 -11
  17. package/dist/components/lottery-game-page.js +0 -355
  18. package/dist/esm/index-6305dd53.js +0 -1212
  19. package/dist/esm/index.js +0 -1
  20. package/dist/esm/loader.js +0 -17
  21. package/dist/esm/lottery-game-page.entry.js +0 -315
  22. package/dist/esm/lottery-game-page.js +0 -17
  23. package/dist/esm/polyfills/core-js.js +0 -11
  24. package/dist/esm/polyfills/css-shim.js +0 -1
  25. package/dist/esm/polyfills/dom.js +0 -79
  26. package/dist/esm/polyfills/es5-html-element.js +0 -1
  27. package/dist/esm/polyfills/index.js +0 -34
  28. package/dist/esm/polyfills/system.js +0 -6
  29. package/dist/index.cjs.js +0 -1
  30. package/dist/index.js +0 -1
  31. package/dist/lottery-game-page/index.esm.js +0 -0
  32. package/dist/lottery-game-page/lottery-game-page.esm.js +0 -1
  33. package/dist/lottery-game-page/p-6325d9be.js +0 -2
  34. package/dist/lottery-game-page/p-ea3ef00f.entry.js +0 -1
  35. package/dist/stencil.config.js +0 -22
  36. package/dist/types/Users/user/workspace/everymatrix/widgets-stencil/packages/lottery-game-page/.stencil/packages/lottery-game-page/stencil.config.d.ts +0 -2
  37. package/dist/types/components/lottery-game-page/lottery-game-page.d.ts +0 -75
  38. package/dist/types/components.d.ts +0 -93
  39. package/dist/types/index.d.ts +0 -1
  40. package/dist/types/stencil-public-runtime.d.ts +0 -1565
  41. package/dist/types/utils/locale.utils.d.ts +0 -1
  42. package/dist/types/utils/utils.d.ts +0 -7
  43. package/loader/cdn.js +0 -3
  44. package/loader/index.cjs.js +0 -3
  45. package/loader/index.d.ts +0 -12
  46. package/loader/index.es2017.js +0 -3
  47. package/loader/index.js +0 -4
  48. package/loader/package.json +0 -10
@@ -1,355 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, getAssetPath, h } from '@stencil/core/internal/client';
2
- import '@everymatrix/lottery-ticket-controller';
3
- import '@everymatrix/helper-modal';
4
- import '@everymatrix/lottery-game-details';
5
- import '@everymatrix/lottery-draw-results-history';
6
- import '@everymatrix/lottery-draw-results';
7
-
8
- const DEFAULT_LANGUAGE = 'en';
9
- const SUPPORTED_LANGUAGES = ['ro', 'en'];
10
- const TRANSLATIONS = {
11
- en: {
12
- error: 'Error',
13
- title: 'Chrono',
14
- backButton: 'Back',
15
- lobbyButton: 'Lobby',
16
- prize: 'Prize',
17
- winUpTo: 'Win up to',
18
- nextDraw: 'Next draw in: ',
19
- buy: 'Buy tickets',
20
- viewLatest: 'View latest results',
21
- createTicket: 'Create Ticket',
22
- modalSuccess: 'Purchase will be successfull soon!',
23
- deleteTicketModalTitle: 'Delete Ticket',
24
- deleteTicketModalText: 'Are you sure you want to delete this ticket?',
25
- deleteTicketModalCancel: 'Cancel',
26
- deleteTicketModalConfirm: 'Delete',
27
- orderSummaryTitle: 'Order Summary',
28
- orderSummaryTickets: 'Ticket',
29
- orderSummaryTotal: 'Total',
30
- orderSummarySubmit: 'Submit'
31
- },
32
- ro: {
33
- error: 'Eroare',
34
- title: 'Loto 6/49',
35
- backButton: 'Inapoi',
36
- lobbyButton: 'Lobby',
37
- prize: 'MARELE JACKPOT OMG',
38
- winUpTo: 'Castiga pana la',
39
- nextDraw: 'In cat timp devii milionar daca cumperi acum!!!',
40
- buy: 'Cumpara bilet',
41
- viewLatest: 'Ultimile extrageri',
42
- createTicket: 'Creeaza bilet',
43
- modalSuccess: 'Achiziția va avea succes în curând!',
44
- deleteTicketModalTitle: 'Sterge biletul',
45
- deleteTicketModalText: 'Esti sigur ca vrei sa stergi acest bilet?',
46
- deleteTicketModalCancel: 'Anuleaza',
47
- deleteTicketModalConfirm: 'Sterge',
48
- orderSummaryTitle: 'Rezumat comanda',
49
- orderSummaryTickets: 'Bilet',
50
- orderSummaryTotal: 'Total',
51
- orderSummarySubmit: 'Trimite'
52
- },
53
- };
54
- const translate = (key, customLang) => {
55
- const lang = customLang;
56
- return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
57
- };
58
-
59
- /**
60
- * @name isMobile
61
- * @description A method that returns if the browser used to access the app is from a mobile device or not
62
- * @param {String} userAgent window.navigator.userAgent
63
- * @returns {Boolean} true or false
64
- */
65
- const isMobile = (userAgent) => {
66
- return !!(userAgent.toLowerCase().match(/android/i) ||
67
- userAgent.toLowerCase().match(/blackberry|bb/i) ||
68
- userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
69
- userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
70
- };
71
-
72
- const lotteryGamePageCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.GamePage .GridBanner{background-color:#009993;background-repeat:no-repeat;background-position:center;color:#111;padding:0 20px 10px;height:220px;display:flex;flex-direction:column;justify-content:space-between}.GamePage .GridBanner .BannerButtonsWrapper{display:flex;justify-content:space-between;padding-top:16px}.GamePage .GridBanner .BannerButtonsWrapper .BannerBackButton,.GamePage .GridBanner .BannerButtonsWrapper .BannerLobbyButton{background:#fff;border:1px solid #D4D4D4;border-radius:4px;padding:7px 15px;font-size:12px;text-transform:uppercase;width:80px}.GamePage .GridBanner .GridBannerArea{padding-top:30px;display:flex;flex-direction:column;align-items:center}.GamePage .TotalWinnings{color:#00958f;font-size:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.GamePage .TotalWinnings span{font-size:22px;font-weight:700}.GamePage .NextDraw{color:#00958f;font-size:24px;font-weight:600;margin:0 auto;text-align:center;text-transform:capitalize;display:flex;justify-content:center;align-items:center;flex-direction:column}.GamePage .NextDraw .BannerText{font-weight:400;font-size:18px}.GamePage .NextDraw .BannerCountdown{font-size:22px;color:#00958f;display:flex;gap:20px}.GamePage .Tabs{display:flex;justify-content:center;gap:10px}.GamePage .Tabs .TabButton{border-radius:4px;cursor:pointer;padding:8px 0;width:50%;max-width:200px;border:1px solid #00958f;background:#F1F1F1;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.GamePage .Tabs .TabButton.Active{background:#00958f;color:#FFF}.NextDrawWrapper{padding:10px 15px;background:#fff}.NextDrawWrapper .BannerText{font-size:16px;font-weight:700;text-align:center}.NextDrawWrapper .BannerCountdown{font-size:22px;display:flex;gap:8px;color:#009993;font-weight:bolder;justify-content:center}.GamePageContent{padding:10px 15px;max-width:1200px;margin:0 auto}.GameDetails{padding-bottom:10px;margin-bottom:20px;border-bottom:1px solid #e9e9e9}.CreateNewTicket{background:#004D4A;height:100px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.CreateNewTicket button{cursor:pointer;display:inline-block;border-radius:50%;width:40px;height:40px;margin:5px;border:1px solid #FFF;background:#FFF;color:#004D4A;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.CreateNewTicket button:hover{background:#F1F1F1}.CreateNewTicket span{display:inline-block;font-size:12px;text-align:center;margin:0 auto;color:#FFF}.OrderSummary{min-width:200px;border-radius:4px;display:flex;flex-direction:column;justify-content:center;margin-top:20px;background:#fff}.OrderSummary .OrderSummaryTitle{font-size:16px;color:#009993;text-transform:uppercase;text-align:center}.OrderSummary .Ticket{display:inline-block;color:#000;font-size:14px;height:50px;border-bottom:solid 1px #D4D4D4;line-height:50px}.OrderSummary .Ticket span{text-align:right}.OrderSummary .Total{display:inline-block;color:#000;font-size:14px;height:50px;line-height:50px}.OrderSummary .Total span{text-align:right}.ButtonWrapper{display:flex;align-items:center;justify-content:center}.ButtonWrapper .Button{cursor:pointer;border-radius:4px;padding:8px 60px;width:max-content;margin:5px;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0;background:#009993;border:1px solid #009993;color:#FFF}.ButtonWrapper .Button:hover{background:#00ABA4}.SubmitModalSuccess{text-align:center;font-size:18px;padding:20px}.DeleteTicketModalWrapper{padding:20px;text-align:center}.DeleteTicketModalWrapper .DeleteTicketModalTitle{font-size:16px;color:#00958f;font-weight:400;text-transform:uppercase;margin:20px 0 40px}.DeleteTicketModalWrapper .DeleteTicketModalText{font-size:14px;color:#000;line-height:22px;margin-bottom:40px}.DeleteTicketModalWrapper .DeleteTicketModalButtons{display:flex;gap:10px;justify-content:center}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalConfirm{cursor:pointer;border-radius:4px;padding:8px 25px;width:max-content;margin:5px;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0;background:#FF3D00;border:1px solid #FF3D00;color:#FFF}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalConfirm:hover{background:#FF6536;border:1px solid #FF3D00}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalCancel{cursor:pointer;width:max-content;border-radius:4px;padding:10px 25px;margin:5px;border:1px solid #00958f;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalCancel:hover{background:#F1F1F1}@media (min-width: 1200px){.GamePageContent .TicketsWrapper{float:left;width:49%}.GamePageContent .GameDetails{float:right;width:49%}.GamePageContent .OrderSummary{float:right;width:49%}}";
73
-
74
- const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
75
- constructor() {
76
- super();
77
- this.__registerHost();
78
- this.__attachShadow();
79
- /**
80
- * Language of the widget
81
- */
82
- this.language = 'en';
83
- /**
84
- * Shows the auto-pick button
85
- */
86
- this.autoPick = false;
87
- /**
88
- * Shows the reset button
89
- */
90
- this.resetButton = false;
91
- this.tickets = [];
92
- this.tabIndex = 0;
93
- this.hasErrors = false;
94
- this.totalAmount = 0;
95
- this.successVisible = false;
96
- this.deleteVisible = false;
97
- this.latestDraw = {};
98
- this.totalWinningsAmount = 0;
99
- // @TODO fix any type
100
- this.userAgent = window.navigator.userAgent;
101
- this.multiplier = false;
102
- this.quickPick = false;
103
- }
104
- // @TODO fix `any` type later, I'm lazy now
105
- connectedCallback() {
106
- this.getGameDetails();
107
- this.getDraws();
108
- }
109
- countdownLogic(date) {
110
- this.interval = setInterval(() => {
111
- this.daysRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / (1000 * 60 * 60 * 24));
112
- this.hoursRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / (1000 * 60 * 60) - this.daysRemaining * 24);
113
- this.minutesRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / (1000 * 60) - this.daysRemaining * 24 * 60 - this.hoursRemaining * 60);
114
- this.secondsRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / 1000 - this.daysRemaining * 24 * 60 * 60 - this.hoursRemaining * 60 * 60 - this.minutesRemaining * 60);
115
- }, 1000);
116
- }
117
- disconnectedCallback() {
118
- clearInterval(this.interval);
119
- }
120
- getGameDetails() {
121
- let url = new URL(`${this.endpoint}/games/${this.gameId}`);
122
- fetch(url.href)
123
- .then((res) => {
124
- if (res.status >= 300) {
125
- this.hasErrors = true;
126
- throw new Error('There was an error while fetching the data');
127
- }
128
- return res.json();
129
- })
130
- .then((data) => {
131
- this.gameData = data;
132
- this.basicStake = this.gameData.rules.stakes[0].amount;
133
- let draws = this.gameData.draws.filter((item) => !item.winningNumbers);
134
- console.log('draws', draws);
135
- this.nextDraw = draws[0].id;
136
- this.createNewTicket();
137
- })
138
- .catch((err) => {
139
- this.hasErrors = true;
140
- console.log('Error', err);
141
- });
142
- }
143
- calculateTotalAmount() {
144
- const { currency } = this.gameData.rules.stakes[0];
145
- this.totalAmount = 0;
146
- this.tickets.forEach((item) => {
147
- if (item.completed) {
148
- this.totalAmount += item.amount * item.stake;
149
- }
150
- });
151
- this.currency = currency;
152
- }
153
- // @TODO CustomEvent type
154
- gridFilledHandler(event) {
155
- // @TODO item ts
156
- this.tickets = this.tickets.map((item) => {
157
- if (item.ticketId == event.detail.id) {
158
- let arr = item.selectedNumbers || [];
159
- arr[event.detail.index] = event.detail.selectedNumbers.map((item) => parseInt(item, 10));
160
- return {
161
- gameId: item.gameId,
162
- ticketId: item.ticketId,
163
- completed: true,
164
- amount: event.detail.draws,
165
- stake: item.stake,
166
- selectedNumbers: arr
167
- };
168
- }
169
- return item;
170
- });
171
- this.calculateTotalAmount();
172
- }
173
- // @TODO fix any type
174
- gridDirtyHandler(event) {
175
- // @TODO item ts
176
- this.tickets = this.tickets.map((item) => {
177
- if (item.gameId == event.detail.id) {
178
- return {
179
- gameId: item.gameId,
180
- ticketId: item.ticketId,
181
- completed: false,
182
- amount: item.amount,
183
- stake: item.stake,
184
- grids: []
185
- };
186
- }
187
- return item;
188
- });
189
- }
190
- // @TODO CustomEvent type
191
- deleteTicketHandler(event) {
192
- this.deleteVisible = true;
193
- this.deleteEventData = event;
194
- }
195
- modalCloseEvent() {
196
- this.deleteVisible = false;
197
- }
198
- stakeChangeHandler(event) {
199
- const { ticketId, stake } = event.detail;
200
- this.tickets[ticketId - 1].stake = stake;
201
- this.calculateTotalAmount();
202
- }
203
- multiplierChangeHandler(event) {
204
- this.multiplier = event.detail;
205
- }
206
- getDraws() {
207
- // append from query param with the current date value in order to get the next draw
208
- let url = new URL(`${this.endpoint}/games/${this.gameId}/draws`);
209
- let drawOptions = {
210
- method: "GET",
211
- headers: {
212
- 'Content-Type': "application/json",
213
- 'Accept': 'application/json',
214
- },
215
- };
216
- fetch(url.href, drawOptions)
217
- .then((response) => {
218
- return response.json();
219
- })
220
- .then((data) => {
221
- var _a;
222
- let upcoming = data.items.filter((item) => {
223
- if (Date.parse(item.date) > new Date().getTime()) {
224
- return !item.winningNumbers;
225
- }
226
- });
227
- let past = data.items.filter((item) => item.winningNumbers);
228
- this.latestDraw = upcoming[0];
229
- this.nextDate = this.latestDraw.date;
230
- this.countdownLogic(this.nextDate);
231
- this.lastDrawId = past[past.length - 1].id;
232
- // calculate total winnings
233
- // @TODO fix any type
234
- (_a = this.latestDraw) === null || _a === void 0 ? void 0 : _a.prizes.forEach((element) => {
235
- this.totalWinningsAmount += JSON.parse(element.amount);
236
- });
237
- });
238
- }
239
- ;
240
- // @TODO fix any type
241
- confirmDeleteTicketHandler(event) {
242
- // @TODO fix any type
243
- this.tickets = this.tickets.filter((item) => {
244
- if (item.ticketId == event.detail.ticketId) {
245
- return false;
246
- }
247
- return true;
248
- });
249
- this.calculateTotalAmount();
250
- this.deleteVisible = false;
251
- }
252
- createNewTicket() {
253
- this.tickets = [
254
- ...this.tickets,
255
- { gameId: this.gameId, ticketId: this.tickets.length + 1, completed: false, amount: 1, stake: this.basicStake, grids: [] }
256
- ];
257
- }
258
- submitTickets() {
259
- let url = new URL(`${this.endpoint}/tickets`);
260
- // @TODO Body TS type
261
- let body = {
262
- gameId: this.gameId,
263
- tickets: []
264
- };
265
- console.log('body', body);
266
- this.tickets.forEach((item) => {
267
- body.tickets.push({
268
- startingDrawId: this.nextDraw,
269
- amount: item.stake,
270
- gameId: this.gameId,
271
- currency: this.currency,
272
- selection: item.selectedNumbers,
273
- multiplier: this.multiplier,
274
- drawCount: item.amount,
275
- quickPick: this.quickPick,
276
- });
277
- });
278
- // @TODO Options TS type
279
- let options = {
280
- method: 'POST',
281
- headers: {
282
- 'Content-Type': 'application/json',
283
- 'Accept': 'application/json',
284
- 'Authorization': `Bearer ${this.sessionId}`
285
- },
286
- body: JSON.stringify(body)
287
- };
288
- fetch(url.href, options)
289
- .then((res) => {
290
- if (res.status > 300) {
291
- throw new Error('err');
292
- }
293
- return res.json();
294
- })
295
- .then((data) => {
296
- console.log('data', data);
297
- });
298
- this.successVisible = true;
299
- }
300
- render() {
301
- const backgroundSrc = getAssetPath('./static/chrono_lottery_mobile.png');
302
- const backgroundDesktopSrc = getAssetPath('./static/chrono_desktop.png');
303
- if (this.hasErrors) {
304
- return (h("div", { class: "GamePage" }, h("div", { class: "Title" }, translate('error', this.language))));
305
- }
306
- return (
307
- /* Game details */
308
- h("div", { class: "GamePage" }, h("div", { class: "GridBanner", style: { backgroundImage: isMobile(this.userAgent) ? `url(${backgroundSrc})` : `url(${backgroundDesktopSrc})` } }, h("div", { class: "BannerButtonsWrapper" }, h("button", { class: "BannerBackButton" }, h("span", { class: "BannerBackButtonArrow" }, "\u1438 "), translate('backButton', this.language)), h("button", { class: "BannerLobbyButton" }, translate('lobbyButton', this.language))), h("div", { class: "Tabs" }, h("div", { class: 'TabButton' + (this.tabIndex == 0 ? ' Active' : ''), onClick: () => this.tabIndex = 0 }, translate('buy', this.language)), h("div", { class: 'TabButton' + (this.tabIndex == 1 ? ' Active' : ''), onClick: () => this.tabIndex = 1 }, translate('viewLatest', this.language)))), h("div", { class: "NextDrawWrapper" }, h("div", { class: "TotalWinnings" }, translate('winUpTo', this.language), ": ", h("span", null, "$", this.totalWinningsAmount.toLocaleString('en-US', { maximumFractionDigits: 2 }))), h("div", { class: "NextDraw" }, h("p", { class: "BannerText" }, translate('nextDraw', this.language)), h("div", { class: "BannerCountdown" }, h("span", { class: "CountdownDays" }, this.daysRemaining, "D"), h("span", { class: "CountdownHours" }, this.hoursRemaining, "H"), h("span", { class: "CountdownMinutes" }, this.minutesRemaining, "M"), h("span", { class: "CountdownSeconds" }, this.secondsRemaining, "S")))), this.tabIndex == 0 &&
309
- h("div", { class: "GamePageContent" }, h("div", { class: "GameDetails" }, h("lottery-game-details", null)), h("div", { class: "TicketsWrapper" }, this.tickets.map((item) => h("lottery-ticket-controller", { endpoint: this.endpoint, "ticket-id": item.ticketId, "game-id": item.gameId, collapsed: false, last: true, language: this.language, "auto-pick": this.autoPick, "reset-button": this.resetButton })), h("div", { class: "CreateNewTicket" }, h("button", { onClick: () => this.createNewTicket() }, "+"), h("span", null, translate('createTicket', this.language)))), h("div", { class: "OrderSummary" }, h("h3", { class: "OrderSummaryTitle" }, translate('orderSummaryTitle', this.language)), h("div", { class: "Ticket" }, translate('orderSummaryTickets', this.language), ": ", h("span", null, this.tickets.length)), h("div", { class: "Total" }, translate('orderSummaryTotal', this.language), ": ", h("span", null, this.totalAmount, " ", this.currency)), h("div", { class: "ButtonWrapper" }, h("span", { class: "Button", onClick: () => this.submitTickets() }, translate('orderSummarySubmit', this.language))))), this.tabIndex == 1 &&
310
- h("div", null, h("lottery-draw-results", { endpoint: this.endpoint, "game-id": this.gameId, language: this.language, "draw-id": this.lastDrawId, "draw-mode": true }), h("lottery-draw-results-history", { endpoint: this.endpoint, "game-id": this.gameId, language: this.language })), h("helper-modal", { "title-modal": "Success", visible: this.successVisible }, h("p", { class: "SubmitModalSuccess" }, translate('modalSuccess', this.language))), h("helper-modal", { "title-modal": "Delete Ticket", visible: this.deleteVisible }, h("div", { class: "DeleteTicketModalWrapper" }, h("h3", { class: "DeleteTicketModalTitle" }, translate('deleteTicketModalTitle', this.language)), h("p", { class: "DeleteTicketModalText" }, translate('deleteTicketModalText', this.language)), h("div", { class: "DeleteTicketModalButtons" }, h("button", { class: "DeleteTicketModalCancel", onClick: () => this.modalCloseEvent() }, translate('deleteTicketModalCancel', this.language)), h("button", { class: "DeleteTicketModalConfirm", onClick: () => this.confirmDeleteTicketHandler(this.deleteEventData) }, translate('deleteTicketModalConfirm', this.language)))))));
311
- }
312
- static get assetsDirs() { return ["static"]; }
313
- get element() { return this; }
314
- static get style() { return lotteryGamePageCss; }
315
- }, [1, "lottery-game-page", {
316
- "endpoint": [1],
317
- "gameId": [1, "game-id"],
318
- "playerId": [2, "player-id"],
319
- "sessionId": [1, "session-id"],
320
- "language": [1],
321
- "autoPick": [4, "auto-pick"],
322
- "resetButton": [4, "reset-button"],
323
- "tickets": [32],
324
- "tabIndex": [32],
325
- "hasErrors": [32],
326
- "totalAmount": [32],
327
- "successVisible": [32],
328
- "deleteVisible": [32],
329
- "deleteEventData": [32],
330
- "daysRemaining": [32],
331
- "hoursRemaining": [32],
332
- "minutesRemaining": [32],
333
- "secondsRemaining": [32],
334
- "latestDraw": [32],
335
- "totalWinningsAmount": [32],
336
- "nextDate": [32]
337
- }, [[0, "ticketCompleted", "gridFilledHandler"], [0, "gridDirty", "gridDirtyHandler"], [0, "deleteTicket", "deleteTicketHandler"], [0, "modalCloseEvent", "modalCloseEvent"], [0, "stakeChange", "stakeChangeHandler"], [0, "multiplierChange", "multiplierChangeHandler"]]]);
338
- function defineCustomElement$1() {
339
- if (typeof customElements === "undefined") {
340
- return;
341
- }
342
- const components = ["lottery-game-page"];
343
- components.forEach(tagName => { switch (tagName) {
344
- case "lottery-game-page":
345
- if (!customElements.get(tagName)) {
346
- customElements.define(tagName, LotteryGamePage$1);
347
- }
348
- break;
349
- } });
350
- }
351
-
352
- const LotteryGamePage = LotteryGamePage$1;
353
- const defineCustomElement = defineCustomElement$1;
354
-
355
- export { LotteryGamePage, defineCustomElement };