@everymatrix/lottery-game-page 0.1.20 → 0.1.22

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 (55) hide show
  1. package/dist/cjs/helper-accordion.cjs.entry.js +6 -0
  2. package/dist/cjs/helper-filters_2.cjs.entry.js +73 -2
  3. package/dist/cjs/helper-pagination.cjs.entry.js +12 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/lottery-bullet_2.cjs.entry.js +37 -1
  6. package/dist/cjs/lottery-draw-results-history.cjs.entry.js +75 -12
  7. package/dist/cjs/lottery-game-details.cjs.entry.js +33 -1
  8. package/dist/cjs/lottery-game-page.cjs.entry.js +35 -3
  9. package/dist/cjs/lottery-game-page.cjs.js +1 -1
  10. package/dist/cjs/lottery-ticket-controller.cjs.entry.js +54 -1
  11. package/dist/cjs/lottery-ticket.cjs.entry.js +54 -2
  12. package/dist/collection/components/lottery-game-page/lottery-game-page.js +9 -0
  13. package/dist/collection/utils/locale.utils.js +26 -3
  14. package/dist/components/helper-accordion2.js +6 -0
  15. package/dist/components/helper-filters2.js +26 -0
  16. package/dist/components/helper-pagination.js +12 -0
  17. package/dist/components/lottery-draw-results-history2.js +80 -14
  18. package/dist/components/lottery-draw-results2.js +47 -2
  19. package/dist/components/lottery-game-details2.js +38 -2
  20. package/dist/components/lottery-game-page.js +35 -3
  21. package/dist/components/lottery-grid2.js +42 -2
  22. package/dist/components/lottery-ticket-controller2.js +58 -2
  23. package/dist/components/lottery-ticket2.js +58 -3
  24. package/dist/esm/helper-accordion.entry.js +6 -0
  25. package/dist/esm/helper-filters_2.entry.js +73 -2
  26. package/dist/esm/helper-pagination.entry.js +12 -0
  27. package/dist/esm/loader.js +1 -1
  28. package/dist/esm/lottery-bullet_2.entry.js +37 -1
  29. package/dist/esm/lottery-draw-results-history.entry.js +75 -12
  30. package/dist/esm/lottery-game-details.entry.js +33 -1
  31. package/dist/esm/lottery-game-page.entry.js +35 -3
  32. package/dist/esm/lottery-game-page.js +1 -1
  33. package/dist/esm/lottery-ticket-controller.entry.js +54 -1
  34. package/dist/esm/lottery-ticket.entry.js +54 -2
  35. package/dist/lottery-game-page/lottery-game-page.esm.js +1 -1
  36. package/dist/lottery-game-page/p-01132729.entry.js +1 -0
  37. package/dist/lottery-game-page/p-4098d6d4.entry.js +1 -0
  38. package/dist/lottery-game-page/p-807dda48.entry.js +1 -0
  39. package/dist/lottery-game-page/p-97048566.entry.js +1 -0
  40. package/dist/lottery-game-page/p-a21ecd5f.entry.js +1 -0
  41. package/dist/lottery-game-page/p-b44e49d7.entry.js +1 -0
  42. package/dist/lottery-game-page/{p-90003eb8.entry.js → p-c8162ede.entry.js} +50 -50
  43. package/dist/lottery-game-page/p-d91fc066.entry.js +1 -0
  44. package/dist/lottery-game-page/p-fc4ea90d.entry.js +1 -0
  45. package/dist/types/Users/dragos.bodea/Documents/everymatrix-prjs/stencil/widgets-stencil/packages/lottery-game-page/.stencil/packages/lottery-game-page/stencil.config.d.ts +2 -0
  46. package/package.json +1 -1
  47. package/dist/lottery-game-page/p-13d0f256.entry.js +0 -1
  48. package/dist/lottery-game-page/p-63781a10.entry.js +0 -1
  49. package/dist/lottery-game-page/p-87298564.entry.js +0 -1
  50. package/dist/lottery-game-page/p-b49e741d.entry.js +0 -1
  51. package/dist/lottery-game-page/p-bb028d40.entry.js +0 -1
  52. package/dist/lottery-game-page/p-c0e7c864.entry.js +0 -1
  53. package/dist/lottery-game-page/p-d241f927.entry.js +0 -1
  54. package/dist/lottery-game-page/p-f9740035.entry.js +0 -1
  55. package/dist/types/Users/user/workspace/everymatrix/widgets-stencil/packages/lottery-game-page/.stencil/packages/lottery-game-page/stencil.config.d.ts +0 -2
@@ -38,8 +38,33 @@ const LotteryGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
38
38
  * Language
39
39
  */
40
40
  this.language = 'en';
41
+ /**
42
+ * Personalize grid for ticket
43
+ */
44
+ this.gridType = '';
45
+ /**
46
+ * Client custom styling via string
47
+ */
48
+ this.clientStyling = '';
49
+ /**
50
+ * Client custom styling via url content
51
+ */
52
+ this.clientStylingUrlContent = '';
41
53
  this.numbers = [];
54
+ this.limitStylingAppends = false;
42
55
  this.selectedCounter = 0;
56
+ this.setClientStyling = () => {
57
+ let sheet = document.createElement('style');
58
+ sheet.innerHTML = this.clientStyling;
59
+ this.stylingContainer.prepend(sheet);
60
+ };
61
+ this.setClientStylingURL = () => {
62
+ let cssFile = document.createElement('style');
63
+ setTimeout(() => {
64
+ cssFile.innerHTML = this.clientStylingUrlContent;
65
+ this.stylingContainer.prepend(cssFile);
66
+ }, 1);
67
+ };
43
68
  }
44
69
  connectedCallback() {
45
70
  let selected = [];
@@ -68,6 +93,17 @@ const LotteryGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
68
93
  });
69
94
  }
70
95
  }
96
+ componentDidRender() {
97
+ // start custom styling area
98
+ if (!this.limitStylingAppends && this.stylingContainer) {
99
+ if (this.clientStyling)
100
+ this.setClientStyling();
101
+ if (this.clientStylingUrlContent)
102
+ this.setClientStylingURL();
103
+ this.limitStylingAppends = true;
104
+ }
105
+ // end custom styling area
106
+ }
71
107
  lotteryBulletSelectionHandler(event) {
72
108
  this.numbers = this.numbers.map((item) => {
73
109
  if (item.number == event.detail.value) {
@@ -158,7 +194,7 @@ const LotteryGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
158
194
  }
159
195
  }
160
196
  render() {
161
- return (h("div", { class: "GridContainer" }, h("div", { class: "Grid" }, this.numbers.map((item) => h("div", null, h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected }))))));
197
+ return (h("div", { class: "GridContainer", ref: el => this.stylingContainer = el }, h("div", { class: this.gridType === 'ticket' ? 'Grid TicketGrid' : 'Grid' }, this.numbers.map((item) => h("div", null, h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))))));
162
198
  }
163
199
  static get style() { return lotteryGridCss; }
164
200
  }, [1, "lottery-grid", {
@@ -172,7 +208,11 @@ const LotteryGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
172
208
  "displaySelected": [4, "display-selected"],
173
209
  "language": [1],
174
210
  "gridIndex": [2, "grid-index"],
175
- "numbers": [32]
211
+ "gridType": [1, "grid-type"],
212
+ "clientStyling": [1, "client-styling"],
213
+ "clientStylingUrlContent": [1, "client-styling-url-content"],
214
+ "numbers": [32],
215
+ "limitStylingAppends": [32]
176
216
  }, [[0, "lotteryBulletSelection", "lotteryBulletSelectionHandler"], [4, "resetSelection", "resetSelectionHandler"], [4, "autoSelection", "autoSelectionHandler"]]]);
177
217
  function defineCustomElement() {
178
218
  if (typeof customElements === "undefined") {
@@ -4,6 +4,27 @@ import { d as defineCustomElement$3 } from './lottery-bullet2.js';
4
4
  import { d as defineCustomElement$2 } from './lottery-grid2.js';
5
5
  import { d as defineCustomElement$1 } from './lottery-ticket2.js';
6
6
 
7
+ const DEFAULT_LANGUAGE = 'en';
8
+ const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar'];
9
+ const TRANSLATIONS = {
10
+ en: {
11
+ ticket: 'Ticket',
12
+ },
13
+ ro: {
14
+ ticket: 'Bilet',
15
+ },
16
+ fr: {
17
+ ticket: 'Billet'
18
+ },
19
+ ar: {
20
+ ticket: 'تذكرة',
21
+ }
22
+ };
23
+ const translate = (key, customLang) => {
24
+ const lang = customLang;
25
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
26
+ };
27
+
7
28
  const lotteryTicketControllerCss = ":host{display:block}";
8
29
 
9
30
  const LotteryTicketController = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -52,6 +73,27 @@ const LotteryTicketController = /*@__PURE__*/ proxyCustomElement(class extends H
52
73
  * Shows the reset button
53
74
  */
54
75
  this.resetButton = false;
76
+ /**
77
+ * Client custom styling via string
78
+ */
79
+ this.clientStyling = '';
80
+ /**
81
+ * Client custom styling via url content
82
+ */
83
+ this.clientStylingUrlContent = '';
84
+ this.limitStylingAppends = false;
85
+ this.setClientStyling = () => {
86
+ let sheet = document.createElement('style');
87
+ sheet.innerHTML = this.clientStyling;
88
+ this.stylingContainer.prepend(sheet);
89
+ };
90
+ this.setClientStylingURL = () => {
91
+ let cssFile = document.createElement('style');
92
+ setTimeout(() => {
93
+ cssFile.innerHTML = this.clientStylingUrlContent;
94
+ this.stylingContainer.prepend(cssFile);
95
+ }, 1);
96
+ };
55
97
  }
56
98
  // @TODO fix the `any` type
57
99
  helperAccordionActionHandler() {
@@ -62,8 +104,19 @@ const LotteryTicketController = /*@__PURE__*/ proxyCustomElement(class extends H
62
104
  ticketId: this.ticketId
63
105
  });
64
106
  }
107
+ componentDidRender() {
108
+ // start custom styling area
109
+ if (!this.limitStylingAppends && this.stylingContainer) {
110
+ if (this.clientStyling)
111
+ this.setClientStyling();
112
+ if (this.clientStylingUrlContent)
113
+ this.setClientStylingURL();
114
+ this.limitStylingAppends = true;
115
+ }
116
+ // end custom styling area
117
+ }
65
118
  render() {
66
- return (h("div", null, h("helper-accordion", { "header-title": 'Ticket ' + this.ticketId, "header-subtitle": this.ticketDescription, footer: true, "delete-tab": true, collapsed: !this.last || this.collapsed, language: this.language }, h("div", { slot: "accordionContent" }, h("lottery-ticket", { endpoint: this.endpoint, "game-id": this.gameId, "ticket-id": this.ticketId, "number-of-grids": this.numberOfGrids, language: this.language, "reset-button": this.resetButton, "auto-pick": this.autoPick })))));
119
+ return (h("div", { class: "LotteryTicketControllerContainer", ref: el => this.stylingContainer = el }, h("helper-accordion", { "header-title": `${translate('ticket', this.language)} ${this.ticketId}`, "header-subtitle": this.ticketDescription, footer: true, "delete-tab": true, collapsed: !this.last || this.collapsed, language: this.language, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }, h("div", { slot: "accordionContent" }, h("lottery-ticket", { endpoint: this.endpoint, "game-id": this.gameId, "ticket-id": this.ticketId, "number-of-grids": this.numberOfGrids, language: this.language, "reset-button": this.resetButton, "auto-pick": this.autoPick, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent })))));
67
120
  }
68
121
  static get style() { return lotteryTicketControllerCss; }
69
122
  }, [1, "lottery-ticket-controller", {
@@ -78,7 +131,10 @@ const LotteryTicketController = /*@__PURE__*/ proxyCustomElement(class extends H
78
131
  "last": [4],
79
132
  "language": [1],
80
133
  "autoPick": [4, "auto-pick"],
81
- "resetButton": [4, "reset-button"]
134
+ "resetButton": [4, "reset-button"],
135
+ "clientStyling": [1, "client-styling"],
136
+ "clientStylingUrlContent": [1, "client-styling-url-content"],
137
+ "limitStylingAppends": [32]
82
138
  }, [[0, "helperAccordionAction", "helperAccordionActionHandler"]]]);
83
139
  function defineCustomElement() {
84
140
  if (typeof customElements === "undefined") {
@@ -25,6 +25,26 @@ const TRANSLATIONS = {
25
25
  resetButton: 'Reseteaza',
26
26
  autoButton: 'Ma simt norocos'
27
27
  },
28
+ fr: {
29
+ loading: 'Loading, please wait ...',
30
+ error: 'It was an error while trying to fetch the data',
31
+ grid: 'Grid',
32
+ multiplier: 'Multiplier',
33
+ numberOfDraws: 'Number of draws',
34
+ wagerPerDraw: 'Wager per draw',
35
+ resetButton: 'Reset',
36
+ autoButton: 'I feel lucky'
37
+ },
38
+ ar: {
39
+ loading: 'Loading, please wait ...',
40
+ error: 'It was an error while trying to fetch the data',
41
+ grid: 'Grid',
42
+ multiplier: 'Multiplier',
43
+ numberOfDraws: 'Number of draws',
44
+ wagerPerDraw: 'Wager per draw',
45
+ resetButton: 'Reset',
46
+ autoButton: 'I feel lucky'
47
+ }
28
48
  };
29
49
  const translate = (key, customLang) => {
30
50
  const lang = customLang;
@@ -63,6 +83,14 @@ const LotteryTicket = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
63
83
  * Language
64
84
  */
65
85
  this.language = 'en';
86
+ /**
87
+ * Client custom styling via string
88
+ */
89
+ this.clientStyling = '';
90
+ /**
91
+ * Client custom styling via url content
92
+ */
93
+ this.clientStylingUrlContent = '';
66
94
  this.multiplier = false;
67
95
  this.numberOfDraws = 1;
68
96
  this.isLoading = true;
@@ -70,6 +98,19 @@ const LotteryTicket = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
70
98
  this.ticketDone = false;
71
99
  this.isCustomSelect = false;
72
100
  this.amountInfo = {};
101
+ this.limitStylingAppends = false;
102
+ this.setClientStyling = () => {
103
+ let sheet = document.createElement('style');
104
+ sheet.innerHTML = this.clientStyling;
105
+ this.stylingContainer.prepend(sheet);
106
+ };
107
+ this.setClientStylingURL = () => {
108
+ let cssFile = document.createElement('style');
109
+ setTimeout(() => {
110
+ cssFile.innerHTML = this.clientStylingUrlContent;
111
+ this.stylingContainer.prepend(cssFile);
112
+ }, 1);
113
+ };
73
114
  }
74
115
  /**
75
116
  * @TODO find a better way to implement click outside the custom select, so that we don't have to use the 'data-cluster' attribute on each element
@@ -103,6 +144,17 @@ const LotteryTicket = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
103
144
  console.error('Error!', err);
104
145
  });
105
146
  }
147
+ componentDidRender() {
148
+ // start custom styling area
149
+ if (!this.limitStylingAppends && this.stylingContainer) {
150
+ if (this.clientStyling)
151
+ this.setClientStyling();
152
+ if (this.clientStylingUrlContent)
153
+ this.setClientStylingURL();
154
+ this.limitStylingAppends = true;
155
+ }
156
+ // end custom styling area
157
+ }
106
158
  multiplierChangeHandler(e) {
107
159
  this.multiplier = e.target ? e.target.checked : false;
108
160
  this.multiplierChange.emit(this.multiplier);
@@ -151,9 +203,9 @@ const LotteryTicket = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
151
203
  }
152
204
  else {
153
205
  const { rules } = this.gameData;
154
- return (h("div", { class: "TicketContainer" }, h("p", { class: "TicketTitle" }, this.gameData.name), this.resetButton && this.ticketDone &&
206
+ return (h("div", { class: "TicketContainer", ref: el => this.stylingContainer = el }, h("p", { class: "TicketTitle" }, this.gameData.name), this.resetButton && this.ticketDone &&
155
207
  h("div", { class: "ButtonContainer" }, h("a", { class: "ResetButton", onClick: () => this.toggleResetSelection() }, translate('resetButton', this.language))), this.autoPick && !this.ticketDone &&
156
- h("div", { class: "ButtonContainer" }, h("a", { class: "AutoButton", onClick: () => this.toggleAutoSelection() }, translate('autoButton', this.language))), this.grids.map((item, index) => h("div", { class: "TicketGridBullets" }, h("p", { class: "TicketGridTitle" }, translate('grid', this.language), " ", item), h("lottery-grid", { "grid-index": index, "maximum-allowed": rules.boards[index].maximumAllowed, "minimum-allowed": rules.boards[index].minimumAllowed, "total-numbers": rules.boards[index].totalNumbers, selectable: true, "reset-button": true, "auto-pick": true, "game-id": this.gameId, "ticket-id": this.ticketId, language: this.language }))), rules.multiplier &&
208
+ h("div", { class: "ButtonContainer" }, h("a", { class: "AutoButton", onClick: () => this.toggleAutoSelection() }, translate('autoButton', this.language))), this.grids.map((item, index) => h("div", { class: "TicketGridBullets" }, h("p", { class: "TicketGridTitle" }, translate('grid', this.language), " ", item), h("lottery-grid", { "grid-index": index, "maximum-allowed": rules.boards[index].maximumAllowed, "minimum-allowed": rules.boards[index].minimumAllowed, "total-numbers": rules.boards[index].totalNumbers, selectable: true, "reset-button": true, "auto-pick": true, "game-id": this.gameId, "ticket-id": this.ticketId, language: this.language, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))), rules.multiplier &&
157
209
  h("div", null, h("label", { class: "Toggle" }, h("label", { class: "Label" }, translate('multiplier', this.language), ": "), h("input", { class: "ToggleCheckbox", type: "checkbox", onInput: (e) => this.multiplierChangeHandler(e) }), h("div", { class: "ToggleSwitch" }))), this.multipleDraws &&
158
210
  h("div", { class: "TicketDraws" }, h("label", { class: "Label" }, translate('numberOfDraws', this.language), ": "), h("div", { class: "NumberInput" }, h("button", { onClick: () => this.numberOfDraws > 1 ? this.numberOfDraws-- : this.numberOfDraws = 1, class: "Minus" }, "-"), h("input", { class: "InputDefault", min: "1", value: this.numberOfDraws, type: "number" }), h("button", { onClick: () => this.numberOfDraws++, class: "Plus" }, "+"))), h("div", null, h("label", { class: "Label" }, translate('wagerPerDraw', this.language), ": "), h("div", { class: "WagerInput" }, rules.stakes.length > 1 ?
159
211
  (h("div", { "data-cluster": "SelectComponent", class: this.isCustomSelect ? "SelectWrapper SelectActive" : "SelectWrapper" }, h("div", { "data-cluster": "SelectComponent", class: "SelectButton", onClick: () => this.toggleClass() }, h("span", { "data-cluster": "SelectComponent" }, this.amountInfo.amount, " ", this.amountInfo.currency), h("span", { "data-cluster": "SelectComponent", class: "SelectExpand" }, "\u25BC")), h("div", { "data-cluster": "SelectComponent", class: "SelectContent" }, h("ul", { "data-cluster": "SelectComponent", class: "SelectOptions" }, rules.stakes.map((item) => h("li", { "data-cluster": "SelectComponent", class: this.amountInfo.amount == item.amount ? 'SelectedValue' : '', value: item.amount, onClick: () => this.setDropdownItem(item) }, item.amount, " ", item.currency)))))) : (h("div", null, h("input", { min: "1", value: rules.stakes[0].amount, type: "number", disabled: true }), h("p", { class: "WagerInputTitle" }, rules.stakes[0].currency)))))));
@@ -173,13 +225,16 @@ const LotteryTicket = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
173
225
  "resetButton": [4, "reset-button"],
174
226
  "autoPick": [4, "auto-pick"],
175
227
  "language": [1],
228
+ "clientStyling": [1, "client-styling"],
229
+ "clientStylingUrlContent": [1, "client-styling-url-content"],
176
230
  "multiplier": [32],
177
231
  "numberOfDraws": [32],
178
232
  "isLoading": [32],
179
233
  "hasErrors": [32],
180
234
  "ticketDone": [32],
181
235
  "isCustomSelect": [32],
182
- "amountInfo": [32]
236
+ "amountInfo": [32],
237
+ "limitStylingAppends": [32]
183
238
  }, [[8, "click", "checkForClickOutside"], [0, "gridFilled", "gridFilledHandler"]]]);
184
239
  function defineCustomElement() {
185
240
  if (typeof customElements === "undefined") {
@@ -9,6 +9,12 @@ const TRANSLATIONS = {
9
9
  ro: {
10
10
  deleteTicket: 'Sterge biletul'
11
11
  },
12
+ fr: {
13
+ deleteTicket: 'Supprimer le billet'
14
+ },
15
+ ar: {
16
+ deleteTicket: 'حذف التذكرة'
17
+ }
12
18
  };
13
19
  const translate = (key, customLang) => {
14
20
  const lang = customLang;
@@ -27,6 +27,32 @@ const TRANSLATIONS$1 = {
27
27
  filterModalButton: 'Cauta',
28
28
  filterOrDate: 'sau cauta dupa data'
29
29
  },
30
+ fr: {
31
+ filterOpen: 'Filter',
32
+ filterClear: 'Clear',
33
+ filterModalTicketTitle: 'Ticket Results',
34
+ filterModalDrawTitle: 'Draws Results History',
35
+ filterTicketPlaceholder: 'Search for a ticket ID',
36
+ filterDrawPlaceholder: 'Search for a draw ID',
37
+ filterDateRangePlaceholder: 'Date Range',
38
+ filterModalButton: 'Search',
39
+ filterFromCalendar: 'From',
40
+ filterToCalendar: 'To',
41
+ filterOrDate: 'or search by date'
42
+ },
43
+ ar: {
44
+ filterOpen: 'Filter',
45
+ filterClear: 'Clear',
46
+ filterModalTicketTitle: 'Ticket Results',
47
+ filterModalDrawTitle: 'Draws Results History',
48
+ filterTicketPlaceholder: 'Search for a ticket ID',
49
+ filterDrawPlaceholder: 'Search for a draw ID',
50
+ filterDateRangePlaceholder: 'Date Range',
51
+ filterModalButton: 'Search',
52
+ filterFromCalendar: 'From',
53
+ filterToCalendar: 'To',
54
+ filterOrDate: 'or search by date'
55
+ }
30
56
  };
31
57
  const translate$2 = (key, customLang) => {
32
58
  const lang = customLang;
@@ -22390,6 +22416,40 @@ const TRANSLATIONS = {
22390
22416
  ticketAmount: 'Valoarea biletului',
22391
22417
  winUpTo: 'Poti castiga'
22392
22418
  },
22419
+ fr: {
22420
+ drawResultsHeader: 'Résultats du dernier tirage',
22421
+ drawId: 'ID de tirage',
22422
+ drawName: 'Nom du jeu',
22423
+ drawDate: 'Date du tirage',
22424
+ drawNumbersGridDraw: 'Tirage des numéros Grille',
22425
+ drawNumbersGridTicket: 'Tirage des numéros Grille',
22426
+ ticketResult: 'Résultat du ticket',
22427
+ amountWon: 'Montant gagné',
22428
+ numberOfDraws: 'Nombre de tirages',
22429
+ multiplier: 'Multiplicateur',
22430
+ ticketPurchaseDate: 'Date d\'achat du billet',
22431
+ ticketStatus: 'Statut du ticket',
22432
+ ticketId: 'ID de billets',
22433
+ ticketAmount: 'Montant du billet',
22434
+ winUpTo: 'Gagnez jusqu\'à'
22435
+ },
22436
+ ar: {
22437
+ drawResultsHeader: 'نتائج آخر سحب',
22438
+ drawId: 'معرّف السحب',
22439
+ drawName: 'اسم اللعبة',
22440
+ drawDate: 'تاريخ السحب',
22441
+ drawNumbersGridDraw: 'شبكة أرقام السحب',
22442
+ drawNumbersGridTicket: 'شبكة أرقام السحب',
22443
+ ticketResult: 'نتيجة التذكرة',
22444
+ amountWon: 'المبلغ الذي تم ربحه',
22445
+ numberOfDraws: 'عدد السحوبات',
22446
+ multiplier: 'مضاعف',
22447
+ ticketPurchaseDate: 'تاريخ شراء التذكرة',
22448
+ ticketStatus: 'حالة التذكرة',
22449
+ ticketId: 'معرّف التذكرة',
22450
+ ticketAmount: 'مبلغ التذكرة',
22451
+ winUpTo: 'ربح يصل إلى'
22452
+ }
22393
22453
  };
22394
22454
  const translate = (key, customLang) => {
22395
22455
  const lang = customLang;
@@ -22488,7 +22548,8 @@ const LotteryDrawResults = class {
22488
22548
  this.ticketDataLoaded = true;
22489
22549
  }
22490
22550
  return this.ticketData;
22491
- }).then((response) => {
22551
+ })
22552
+ .then((response) => {
22492
22553
  response.forEach(ticket => {
22493
22554
  if (ticket.drawResults.length) {
22494
22555
  ticket.drawResults.forEach(draw => {
@@ -22501,13 +22562,20 @@ const LotteryDrawResults = class {
22501
22562
  if (!this.ticketDraws.some(el => el.drawId === draw.drawId)) {
22502
22563
  this.ticketDraws.push({ drawId: draw.drawId, drawNumbers: data.winningNumbers });
22503
22564
  }
22565
+ })
22566
+ .catch((err) => {
22567
+ console.log('error ', err);
22504
22568
  });
22505
22569
  });
22506
22570
  }
22507
22571
  return this.ticketDraws;
22508
22572
  });
22509
- }).then(() => {
22573
+ })
22574
+ .then(() => {
22510
22575
  this.hasDrawNumbers = true;
22576
+ })
22577
+ .catch((err) => {
22578
+ console.log('error ', err);
22511
22579
  });
22512
22580
  };
22513
22581
  this.changeBox = (index) => {
@@ -22546,6 +22614,9 @@ const LotteryDrawResults = class {
22546
22614
  Promise.all(promises)
22547
22615
  .then(() => {
22548
22616
  this.isLoading = false;
22617
+ }).catch((err) => {
22618
+ console.log('error ', err);
22619
+ this.isLoading = false;
22549
22620
  });
22550
22621
  }
22551
22622
  componentDidRender() {
@@ -28,6 +28,18 @@ const TRANSLATIONS = {
28
28
  nextPage: 'Urmatoarea',
29
29
  lastPage: 'Ultima'
30
30
  },
31
+ fr: {
32
+ firstPage: 'First',
33
+ previousPage: 'Previous',
34
+ nextPage: 'Next',
35
+ lastPage: 'Last'
36
+ },
37
+ ar: {
38
+ firstPage: 'First',
39
+ previousPage: 'Previous',
40
+ nextPage: 'Next',
41
+ lastPage: 'Last'
42
+ }
31
43
  };
32
44
  const translate = (key, customLang) => {
33
45
  const lang = customLang;
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["lottery-game-page",[[1,"lottery-game-page",{"endpoint":[1],"gameId":[1,"game-id"],"playerId":[2,"player-id"],"sessionId":[1,"session-id"],"language":[1],"autoPick":[4,"auto-pick"],"resetButton":[4,"reset-button"],"clientStyling":[1,"client-styling"],"clientStylingurl":[1,"client-stylingurl"],"clientStylingUrlContent":[32],"tickets":[32],"tabIndex":[32],"hasErrors":[32],"totalAmount":[32],"successVisible":[32],"deleteVisible":[32],"deleteEventData":[32],"daysRemaining":[32],"hoursRemaining":[32],"minutesRemaining":[32],"secondsRemaining":[32],"latestDraw":[32],"totalWinningsAmount":[32],"nextDate":[32],"isLoggedIn":[32],"loginModalVisible":[32],"limitStylingAppends":[32]},[[0,"ticketCompleted","gridFilledHandler"],[0,"gridDirty","gridDirtyHandler"],[0,"deleteTicket","deleteTicketHandler"],[0,"modalCloseEvent","modalCloseEvent"],[0,"stakeChange","stakeChangeHandler"],[0,"multiplierChange","multiplierChangeHandler"]]]]],["helper-pagination",[[1,"helper-pagination",{"firstPage":[1540,"first-page"],"previousPage":[1540,"previous-page"],"offset":[1538],"limit":[1538],"total":[1538],"language":[1],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"offsetInt":[32],"lastPage":[32],"limitInt":[32],"totalInt":[32],"pagesArray":[32],"endInt":[32],"limitStylingAppends":[32]}]]],["lottery-bullet_2",[[1,"lottery-grid",{"ticketId":[2,"ticket-id"],"totalNumbers":[2,"total-numbers"],"gameId":[1,"game-id"],"maximumAllowed":[2,"maximum-allowed"],"minimumAllowed":[2,"minimum-allowed"],"selectable":[4],"selectedNumbers":[1,"selected-numbers"],"displaySelected":[4,"display-selected"],"language":[1],"gridIndex":[2,"grid-index"],"numbers":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[1],"selectable":[4],"isSelected":[4,"is-selected"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]}]]],["helper-filters_2",[[1,"lottery-draw-results",{"endpoint":[1],"gameId":[1,"game-id"],"language":[1],"playerId":[1,"player-id"],"drawMode":[4,"draw-mode"],"drawId":[1,"draw-id"],"gameName":[1,"game-name"],"ticketDate":[1,"ticket-date"],"ticketStatus":[1,"ticket-status"],"ticketId":[1,"ticket-id"],"ticketAmount":[1,"ticket-amount"],"ticketMultiplier":[4,"ticket-multiplier"],"ticketDrawCount":[2,"ticket-draw-count"],"ticketNumbers":[1,"ticket-numbers"],"sessionId":[1,"session-id"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"multiplier":[32],"isLoading":[32],"rules":[32],"toggleDrawer":[32],"hasErrors":[32],"errorText":[32],"ticketData":[32],"ticketDataLoaded":[32],"ticketDraws":[32],"hasDrawNumbers":[32],"limitStylingAppends":[32]}],[1,"helper-filters",{"showFilterId":[4,"show-filter-id"],"activateTicketSearch":[4,"activate-ticket-search"],"gameId":[1,"game-id"],"playerId":[1,"player-id"],"session":[1],"postMessage":[4,"post-message"],"language":[1],"quickFiltersActive":[4,"quick-filters-active"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"showFilterModal":[32],"showClearButton":[32],"filterData":[32],"filterDataReset":[32],"limitStylingAppends":[32]},[[0,"modalCloseEvent","modalCloseEvent"]]]]],["lottery-draw-results-history",[[1,"lottery-draw-results-history",{"endpoint":[1],"gameId":[1,"game-id"],"numberOfResults":[2,"number-of-results"],"language":[1],"drawData":[32],"displayAllDrawsResults":[32],"showQuickFilters":[32],"winningDataSetsData":[32],"dateFiltersFrom":[32],"dateFiltersTo":[32],"isLoading":[32],"noResults":[32]},[[0,"filterDraw","filtersDrawHandler"],[0,"filterSelection","filtersHandler"],[0,"filterSelectionReset","clearFiltersHandler"]]]]],["lottery-ticket",[[1,"lottery-ticket",{"endpoint":[1],"gameId":[1,"game-id"],"numberOfGrids":[2,"number-of-grids"],"multipleDraws":[4,"multiple-draws"],"ticketId":[2,"ticket-id"],"resetButton":[4,"reset-button"],"autoPick":[4,"auto-pick"],"language":[1],"multiplier":[32],"numberOfDraws":[32],"isLoading":[32],"hasErrors":[32],"ticketDone":[32],"isCustomSelect":[32],"amountInfo":[32]},[[8,"click","checkForClickOutside"],[0,"gridFilled","gridFilledHandler"]]]]],["lottery-ticket-controller",[[1,"lottery-ticket-controller",{"endpoint":[1],"ticketId":[2,"ticket-id"],"ticketDescription":[1,"ticket-description"],"gameId":[1,"game-id"],"postMessage":[4,"post-message"],"eventName":[1,"event-name"],"collapsed":[4],"numberOfGrids":[2,"number-of-grids"],"last":[4],"language":[1],"autoPick":[4,"auto-pick"],"resetButton":[4,"reset-button"]},[[0,"helperAccordionAction","helperAccordionActionHandler"]]]]],["helper-tabs",[[1,"helper-tabs",{"disabled":[4],"label":[1],"selected":[4],"cmsEndpoint":[1,"cms-endpoint"],"selectedIndex":[1538,"selected-index"],"tabs":[16],"clientStyling":[1,"client-styling"],"clientStylingurl":[1,"client-stylingurl"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]}]]],["helper-accordion",[[1,"helper-accordion",{"ticketHistoryFlag":[4,"ticket-history-flag"],"headerTitle":[1,"header-title"],"headerSubtitle":[1,"header-subtitle"],"description":[1],"footer":[4],"deleteTab":[4,"delete-tab"],"postMessage":[4,"post-message"],"eventName":[1,"event-name"],"collapsed":[4],"language":[1],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"showContent":[32],"limitStylingAppends":[32]}]]],["helper-tab",[[1,"helper-tab",{"selectedIndex":[2,"selected-index"],"cmsEndpoint":[1,"cms-endpoint"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"tabContent":[32],"limitStylingAppends":[32]}]]],["lottery-game-details",[[1,"lottery-game-details"]]],["helper-modal",[[1,"helper-modal",{"titleModal":[1,"title-modal"],"visible":[1540],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
13
+ return bootstrapLazy([["lottery-game-page",[[1,"lottery-game-page",{"endpoint":[1],"gameId":[1,"game-id"],"playerId":[2,"player-id"],"sessionId":[1,"session-id"],"language":[1],"autoPick":[4,"auto-pick"],"resetButton":[4,"reset-button"],"clientStyling":[1,"client-styling"],"clientStylingurl":[1,"client-stylingurl"],"clientStylingUrlContent":[32],"tickets":[32],"tabIndex":[32],"hasErrors":[32],"totalAmount":[32],"successVisible":[32],"deleteVisible":[32],"deleteEventData":[32],"daysRemaining":[32],"hoursRemaining":[32],"minutesRemaining":[32],"secondsRemaining":[32],"latestDraw":[32],"totalWinningsAmount":[32],"nextDate":[32],"isLoggedIn":[32],"loginModalVisible":[32],"limitStylingAppends":[32]},[[0,"ticketCompleted","gridFilledHandler"],[0,"gridDirty","gridDirtyHandler"],[0,"deleteTicket","deleteTicketHandler"],[0,"modalCloseEvent","modalCloseEvent"],[0,"stakeChange","stakeChangeHandler"],[0,"multiplierChange","multiplierChangeHandler"]]]]],["helper-pagination",[[1,"helper-pagination",{"firstPage":[1540,"first-page"],"previousPage":[1540,"previous-page"],"offset":[1538],"limit":[1538],"total":[1538],"language":[1],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"offsetInt":[32],"lastPage":[32],"limitInt":[32],"totalInt":[32],"pagesArray":[32],"endInt":[32],"limitStylingAppends":[32]}]]],["lottery-bullet_2",[[1,"lottery-grid",{"ticketId":[2,"ticket-id"],"totalNumbers":[2,"total-numbers"],"gameId":[1,"game-id"],"maximumAllowed":[2,"maximum-allowed"],"minimumAllowed":[2,"minimum-allowed"],"selectable":[4],"selectedNumbers":[1,"selected-numbers"],"displaySelected":[4,"display-selected"],"language":[1],"gridIndex":[2,"grid-index"],"gridType":[1,"grid-type"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"numbers":[32],"limitStylingAppends":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[1],"selectable":[4],"isSelected":[4,"is-selected"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]}]]],["helper-filters_2",[[1,"lottery-draw-results",{"endpoint":[1],"gameId":[1,"game-id"],"language":[1],"playerId":[1,"player-id"],"drawMode":[4,"draw-mode"],"drawId":[1,"draw-id"],"gameName":[1,"game-name"],"ticketDate":[1,"ticket-date"],"ticketStatus":[1,"ticket-status"],"ticketId":[1,"ticket-id"],"ticketAmount":[1,"ticket-amount"],"ticketMultiplier":[4,"ticket-multiplier"],"ticketDrawCount":[2,"ticket-draw-count"],"ticketNumbers":[1,"ticket-numbers"],"sessionId":[1,"session-id"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"multiplier":[32],"isLoading":[32],"rules":[32],"toggleDrawer":[32],"hasErrors":[32],"errorText":[32],"ticketData":[32],"ticketDataLoaded":[32],"ticketDraws":[32],"hasDrawNumbers":[32],"limitStylingAppends":[32]}],[1,"helper-filters",{"showFilterId":[4,"show-filter-id"],"activateTicketSearch":[4,"activate-ticket-search"],"gameId":[1,"game-id"],"playerId":[1,"player-id"],"session":[1],"postMessage":[4,"post-message"],"language":[1],"quickFiltersActive":[4,"quick-filters-active"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"showFilterModal":[32],"showClearButton":[32],"filterData":[32],"filterDataReset":[32],"limitStylingAppends":[32]},[[0,"modalCloseEvent","modalCloseEvent"]]]]],["lottery-draw-results-history",[[1,"lottery-draw-results-history",{"endpoint":[1],"gameId":[1,"game-id"],"numberOfResults":[2,"number-of-results"],"language":[1],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"drawData":[32],"displayAllDrawsResults":[32],"showQuickFilters":[32],"winningDataSetsData":[32],"dateFiltersFrom":[32],"dateFiltersTo":[32],"isLoading":[32],"noResults":[32],"limitStylingAppends":[32]},[[0,"filterSelection","filtersHandler"],[0,"filterSelectionReset","clearFiltersHandler"]]]]],["lottery-ticket",[[1,"lottery-ticket",{"endpoint":[1],"gameId":[1,"game-id"],"numberOfGrids":[2,"number-of-grids"],"multipleDraws":[4,"multiple-draws"],"ticketId":[2,"ticket-id"],"resetButton":[4,"reset-button"],"autoPick":[4,"auto-pick"],"language":[1],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"multiplier":[32],"numberOfDraws":[32],"isLoading":[32],"hasErrors":[32],"ticketDone":[32],"isCustomSelect":[32],"amountInfo":[32],"limitStylingAppends":[32]},[[8,"click","checkForClickOutside"],[0,"gridFilled","gridFilledHandler"]]]]],["lottery-ticket-controller",[[1,"lottery-ticket-controller",{"endpoint":[1],"ticketId":[2,"ticket-id"],"ticketDescription":[1,"ticket-description"],"gameId":[1,"game-id"],"postMessage":[4,"post-message"],"eventName":[1,"event-name"],"collapsed":[4],"numberOfGrids":[2,"number-of-grids"],"last":[4],"language":[1],"autoPick":[4,"auto-pick"],"resetButton":[4,"reset-button"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]},[[0,"helperAccordionAction","helperAccordionActionHandler"]]]]],["helper-tabs",[[1,"helper-tabs",{"disabled":[4],"label":[1],"selected":[4],"cmsEndpoint":[1,"cms-endpoint"],"selectedIndex":[1538,"selected-index"],"tabs":[16],"clientStyling":[1,"client-styling"],"clientStylingurl":[1,"client-stylingurl"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]}]]],["helper-accordion",[[1,"helper-accordion",{"ticketHistoryFlag":[4,"ticket-history-flag"],"headerTitle":[1,"header-title"],"headerSubtitle":[1,"header-subtitle"],"description":[1],"footer":[4],"deleteTab":[4,"delete-tab"],"postMessage":[4,"post-message"],"eventName":[1,"event-name"],"collapsed":[4],"language":[1],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"showContent":[32],"limitStylingAppends":[32]}]]],["helper-tab",[[1,"helper-tab",{"selectedIndex":[2,"selected-index"],"cmsEndpoint":[1,"cms-endpoint"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"tabContent":[32],"limitStylingAppends":[32]}]]],["lottery-game-details",[[1,"lottery-game-details",{"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]}]]],["helper-modal",[[1,"helper-modal",{"titleModal":[1,"title-modal"],"visible":[1540],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
14
14
  });
15
15
  };
16
16
 
@@ -101,8 +101,33 @@ const LotteryGrid = class {
101
101
  * Language
102
102
  */
103
103
  this.language = 'en';
104
+ /**
105
+ * Personalize grid for ticket
106
+ */
107
+ this.gridType = '';
108
+ /**
109
+ * Client custom styling via string
110
+ */
111
+ this.clientStyling = '';
112
+ /**
113
+ * Client custom styling via url content
114
+ */
115
+ this.clientStylingUrlContent = '';
104
116
  this.numbers = [];
117
+ this.limitStylingAppends = false;
105
118
  this.selectedCounter = 0;
119
+ this.setClientStyling = () => {
120
+ let sheet = document.createElement('style');
121
+ sheet.innerHTML = this.clientStyling;
122
+ this.stylingContainer.prepend(sheet);
123
+ };
124
+ this.setClientStylingURL = () => {
125
+ let cssFile = document.createElement('style');
126
+ setTimeout(() => {
127
+ cssFile.innerHTML = this.clientStylingUrlContent;
128
+ this.stylingContainer.prepend(cssFile);
129
+ }, 1);
130
+ };
106
131
  }
107
132
  connectedCallback() {
108
133
  let selected = [];
@@ -131,6 +156,17 @@ const LotteryGrid = class {
131
156
  });
132
157
  }
133
158
  }
159
+ componentDidRender() {
160
+ // start custom styling area
161
+ if (!this.limitStylingAppends && this.stylingContainer) {
162
+ if (this.clientStyling)
163
+ this.setClientStyling();
164
+ if (this.clientStylingUrlContent)
165
+ this.setClientStylingURL();
166
+ this.limitStylingAppends = true;
167
+ }
168
+ // end custom styling area
169
+ }
134
170
  lotteryBulletSelectionHandler(event) {
135
171
  this.numbers = this.numbers.map((item) => {
136
172
  if (item.number == event.detail.value) {
@@ -221,7 +257,7 @@ const LotteryGrid = class {
221
257
  }
222
258
  }
223
259
  render() {
224
- return (h("div", { class: "GridContainer" }, h("div", { class: "Grid" }, this.numbers.map((item) => h("div", null, h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected }))))));
260
+ return (h("div", { class: "GridContainer", ref: el => this.stylingContainer = el }, h("div", { class: this.gridType === 'ticket' ? 'Grid TicketGrid' : 'Grid' }, this.numbers.map((item) => h("div", null, h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))))));
225
261
  }
226
262
  };
227
263
  LotteryGrid.style = lotteryGridCss;