@everymatrix/lottery-draw-results 1.44.0 → 1.45.2

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 (52) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  2. package/dist/cjs/index-e39715e5.js +1279 -0
  3. package/dist/cjs/loader.cjs.js +6 -12
  4. package/dist/cjs/lottery-bullet_3.cjs.entry.js +436 -516
  5. package/dist/cjs/lottery-draw-results.cjs.js +16 -10
  6. package/dist/collection/collection-manifest.json +3 -3
  7. package/dist/collection/components/lottery-draw-results/index.js +1 -0
  8. package/dist/collection/components/lottery-draw-results/lottery-draw-results.js +484 -608
  9. package/dist/collection/utils/locale.utils.js +87 -87
  10. package/dist/collection/utils/utils.js +1 -1
  11. package/dist/esm/app-globals-0f993ce5.js +3 -0
  12. package/dist/esm/index-cb2f9906.js +1252 -0
  13. package/dist/esm/loader.js +6 -12
  14. package/dist/esm/lottery-bullet_3.entry.js +436 -516
  15. package/dist/esm/lottery-draw-results.js +13 -10
  16. package/dist/lottery-draw-results/lottery-draw-results.esm.js +1 -1
  17. package/dist/lottery-draw-results/p-43abc07f.js +2 -0
  18. package/dist/lottery-draw-results/p-a12b1856.entry.js +1 -0
  19. package/dist/lottery-draw-results/p-e1255160.js +1 -0
  20. package/dist/stencil.config.dev.js +17 -0
  21. package/dist/stencil.config.js +14 -19
  22. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/lottery-draw-results/.stencil/packages/stencil/lottery-draw-results/stencil.config.d.ts +2 -0
  23. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/lottery-draw-results/.stencil/packages/stencil/lottery-draw-results/stencil.config.dev.d.ts +2 -0
  24. package/dist/types/components/lottery-draw-results/index.d.ts +1 -0
  25. package/dist/types/components/lottery-draw-results/lottery-draw-results.d.ts +95 -95
  26. package/dist/types/stencil-public-runtime.d.ts +142 -33
  27. package/loader/cdn.js +1 -3
  28. package/loader/index.cjs.js +1 -3
  29. package/loader/index.d.ts +13 -1
  30. package/loader/index.es2017.js +1 -3
  31. package/loader/index.js +1 -3
  32. package/loader/package.json +1 -0
  33. package/package.json +9 -2
  34. package/dist/cjs/index-40e6760b.js +0 -1252
  35. package/dist/components/index.d.ts +0 -26
  36. package/dist/components/index.js +0 -1
  37. package/dist/components/lottery-bullet.js +0 -6
  38. package/dist/components/lottery-bullet2.js +0 -91
  39. package/dist/components/lottery-draw-results.d.ts +0 -11
  40. package/dist/components/lottery-draw-results.js +0 -346
  41. package/dist/components/lottery-grid.js +0 -6
  42. package/dist/components/lottery-grid2.js +0 -245
  43. package/dist/esm/index-3c2823a2.js +0 -1226
  44. package/dist/esm/polyfills/core-js.js +0 -11
  45. package/dist/esm/polyfills/css-shim.js +0 -1
  46. package/dist/esm/polyfills/dom.js +0 -79
  47. package/dist/esm/polyfills/es5-html-element.js +0 -1
  48. package/dist/esm/polyfills/index.js +0 -34
  49. package/dist/esm/polyfills/system.js +0 -6
  50. package/dist/lottery-draw-results/p-0eb80b2e.js +0 -1
  51. package/dist/lottery-draw-results/p-ca18f246.entry.js +0 -1
  52. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/lottery-draw-results/.stencil/packages/lottery-draw-results/stencil.config.d.ts +0 -2
@@ -1,558 +1,478 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-3c2823a2.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-cb2f9906.js';
2
2
 
3
- const lotteryBulletCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}@-webkit-keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.22) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.2) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@-webkit-keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}.Circle{-webkit-animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;cursor:pointer;color:#000000;display:block;height:30px;width:30px;margin:0;display:flex;align-items:center;justify-content:center;justify-content:center;align-items:center;border:solid 2px #ffffff;background:radial-gradient(circle at top, white 0%, white 100%);font-weight:bold;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.5);user-select:none;font-size:16px;line-height:16px;font-weight:600;position:relative}.Circle:hover{-webkit-animation:hover-rotate 0.4s linear both;animation:hover-rotate 0.4s linear both;background:radial-gradient(circle at top, white 0%, #f1f1f1 100%)}.Circle.Selected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#ffffff;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #00958f}.Circle.Disabled{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;background:#D4D4D4;border:solid 2px #D4D4D4;cursor:default}.Circle.DisabledSelected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #D4D4D4;cursor:default}";
3
+ const lotteryBulletCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}@-webkit-keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.22) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.2) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@-webkit-keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}.Circle{-webkit-animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;cursor:pointer;color:#000000;display:block;height:30px;width:30px;margin:0;display:flex;align-items:center;justify-content:center;justify-content:center;align-items:center;border:solid 2px #ffffff;background:radial-gradient(circle at top, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);font-weight:bold;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.5);user-select:none;font-size:16px;line-height:16px;font-weight:600;position:relative}.Circle:hover{-webkit-animation:hover-rotate 0.4s linear both;animation:hover-rotate 0.4s linear both;background:radial-gradient(circle at top, rgb(255, 255, 255) 0%, rgb(241, 241, 241) 100%)}.Circle.Selected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#ffffff;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #00958f}.Circle.Disabled{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;background:#D4D4D4;border:solid 2px #D4D4D4;cursor:default}.Circle.DisabledSelected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #D4D4D4;cursor:default}";
4
+ const LotteryBulletStyle0 = lotteryBulletCss;
4
5
 
5
6
  const LotteryBullet = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.bulletEvent = createEvent(this, "lotteryBulletSelection", 7);
9
- /**
10
- * Value of the bullet
11
- */
12
- this.value = '0';
13
- /**
14
- * Marks if the bullet should be selectable
15
- */
16
- this.selectable = true;
17
- /**
18
- * Marks if the bullet should be selected
19
- */
20
- this.isSelected = false;
21
- /**
22
- * Client custom styling via string
23
- */
24
- this.clientStyling = '';
25
- /**
26
- * Client custom styling via url content
27
- */
28
- this.clientStylingUrlContent = '';
29
- this.limitStylingAppends = false;
30
- this.select = () => {
31
- if (this.selectable) {
32
- this.isSelected = !this.isSelected;
33
- this.bulletEvent.emit({
34
- value: this.value,
35
- selected: this.isSelected
36
- });
37
- }
38
- };
39
- this.setClientStyling = () => {
40
- let sheet = document.createElement('style');
41
- sheet.innerHTML = this.clientStyling;
42
- this.stylingContainer.prepend(sheet);
43
- };
44
- this.setClientStylingURL = () => {
45
- let cssFile = document.createElement('style');
46
- setTimeout(() => {
47
- cssFile.innerHTML = this.clientStylingUrlContent;
48
- this.stylingContainer.prepend(cssFile);
49
- }, 1);
50
- };
51
- }
52
- componentDidRender() {
53
- // start custom styling area
54
- if (!this.limitStylingAppends && this.stylingContainer) {
55
- if (this.clientStyling)
56
- this.setClientStyling();
57
- if (this.clientStylingUrlContent)
58
- this.setClientStylingURL();
59
- this.limitStylingAppends = true;
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.bulletEvent = createEvent(this, "lotteryBulletSelection", 7);
10
+ this.select = () => {
11
+ if (this.selectable) {
12
+ this.isSelected = !this.isSelected;
13
+ this.bulletEvent.emit({
14
+ value: this.value,
15
+ selected: this.isSelected
16
+ });
17
+ }
18
+ };
19
+ this.setClientStyling = () => {
20
+ let sheet = document.createElement('style');
21
+ sheet.innerHTML = this.clientStyling;
22
+ this.stylingContainer.prepend(sheet);
23
+ };
24
+ this.setClientStylingURL = () => {
25
+ let cssFile = document.createElement('style');
26
+ setTimeout(() => {
27
+ cssFile.innerHTML = this.clientStylingUrlContent;
28
+ this.stylingContainer.prepend(cssFile);
29
+ }, 1);
30
+ };
31
+ this.value = '0';
32
+ this.selectable = true;
33
+ this.isSelected = false;
34
+ this.clientStyling = '';
35
+ this.clientStylingUrlContent = '';
36
+ this.limitStylingAppends = false;
37
+ }
38
+ componentDidRender() {
39
+ // start custom styling area
40
+ if (!this.limitStylingAppends && this.stylingContainer) {
41
+ if (this.clientStyling)
42
+ this.setClientStyling();
43
+ if (this.clientStylingUrlContent)
44
+ this.setClientStylingURL();
45
+ this.limitStylingAppends = true;
46
+ }
47
+ // end custom styling area
48
+ }
49
+ render() {
50
+ return (h("div", { key: 'af3601684ecf1f39d65fc9461430cba96b9e4b8c', class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : ''), onClick: () => this.select(), ref: el => this.stylingContainer = el }, this.value));
60
51
  }
61
- // end custom styling area
62
- }
63
- render() {
64
- return (h("div", { class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : ''), onClick: () => this.select(), ref: el => this.stylingContainer = el }, this.value));
65
- }
66
52
  };
67
- LotteryBullet.style = lotteryBulletCss;
53
+ LotteryBullet.style = LotteryBulletStyle0;
68
54
 
69
55
  const DEFAULT_LANGUAGE = 'en';
70
56
  const SUPPORTED_LANGUAGES = ['ro', 'en', 'hr'];
71
57
  const TRANSLATIONS = {
72
- en: {
73
- drawResultsHeader: 'Last draw results',
74
- drawId: 'Draw ID',
75
- drawName: 'Game name',
76
- drawDate: 'Draw Date',
77
- drawNumbersGridDraw: 'Draw numbers Grid ',
78
- drawNumbersGridTicket: 'Draw numbers Grid ',
79
- ticketResult: 'Ticket result',
80
- amountWon: 'Amount won',
81
- numberOfDraws: 'Number of draws',
82
- multiplier: 'Multiplier:',
83
- ticketPurchaseDate: 'Ticket Purchase Date',
84
- ticketStatus: 'Ticket Status',
85
- ticketId: 'Ticket ID',
86
- ticketAmount: 'Ticket Amount',
87
- winUpTo: 'Win up to',
88
- },
89
- ro: {
90
- drawResultsHeader: 'Ultimele rezultate extragere',
91
- drawId: 'Id extragere',
92
- drawName: 'Numele jocului',
93
- drawDate: 'Data extragerii',
94
- drawNumbersGridDraw: 'Numerele extrase Grid',
95
- drawNumbersGridTicket: 'Numerele extrase Grid',
96
- ticketResult: 'Rezultatul biletului',
97
- amountWon: 'Suma castigata',
98
- numberOfDraws: 'Numarul de extrageri',
99
- multiplier: 'Multiplicator:',
100
- ticketPurchaseDate: 'Data achizitionarii biletului',
101
- ticketStatus: 'Statusul biletului',
102
- ticketId: 'Id biletul',
103
- ticketAmount: 'Valoarea biletului',
104
- winUpTo: 'Poti castiga'
105
- },
106
- fr: {
107
- drawResultsHeader: 'Résultats du dernier tirage',
108
- drawId: 'ID de tirage',
109
- drawName: 'Nom du jeu',
110
- drawDate: 'Date du tirage',
111
- drawNumbersGridDraw: 'Tirage des numéros Grille',
112
- drawNumbersGridTicket: 'Tirage des numéros Grille',
113
- ticketResult: 'Résultat du ticket',
114
- amountWon: 'Montant gagné',
115
- numberOfDraws: 'Nombre de tirages',
116
- multiplier: 'Multiplicateur',
117
- ticketPurchaseDate: 'Date d\'achat du billet',
118
- ticketStatus: 'Statut du ticket',
119
- ticketId: 'ID de billets',
120
- ticketAmount: 'Montant du billet',
121
- winUpTo: 'Gagnez jusqu\'à'
122
- },
123
- ar: {
124
- drawResultsHeader: 'نتائج آخر سحب',
125
- drawId: 'معرّف السحب',
126
- drawName: 'اسم اللعبة',
127
- drawDate: 'تاريخ السحب',
128
- drawNumbersGridDraw: 'شبكة أرقام السحب',
129
- drawNumbersGridTicket: 'شبكة أرقام السحب',
130
- ticketResult: 'نتيجة التذكرة',
131
- amountWon: 'المبلغ الذي تم ربحه',
132
- numberOfDraws: 'عدد السحوبات',
133
- multiplier: 'مضاعف',
134
- ticketPurchaseDate: 'تاريخ شراء التذكرة',
135
- ticketStatus: 'حالة التذكرة',
136
- ticketId: 'معرّف التذكرة',
137
- ticketAmount: 'مبلغ التذكرة',
138
- winUpTo: 'ربح يصل إلى'
139
- },
140
- hr: {
141
- drawResultsHeader: 'Rezultati posljednjeg izvlačenja',
142
- drawId: 'ID izvlačenja',
143
- drawName: 'Naziv igre',
144
- drawDate: 'Datum izvlačenja',
145
- drawNumbersGridDraw: 'Tablica izvučenih brojeva',
146
- drawNumbersGridTicket: 'Tablica izvučenih brojeva',
147
- ticketResult: 'Rezultat listića',
148
- amountWon: 'Osvojeni iznos',
149
- numberOfDraws: 'Broj izvlačenja',
150
- multiplier: 'Multiplikator',
151
- ticketPurchaseDate: 'Datum uplate listića',
152
- ticketStatus: 'Status listića',
153
- ticketId: 'ID listića',
154
- ticketAmount: 'Iznos listića',
155
- winUpTo: 'Osvoji do'
156
- },
58
+ en: {
59
+ drawResultsHeader: 'Last draw results',
60
+ drawId: 'Draw ID',
61
+ drawName: 'Game name',
62
+ drawDate: 'Draw Date',
63
+ drawNumbersGridDraw: 'Draw numbers Grid ',
64
+ drawNumbersGridTicket: 'Draw numbers Grid ',
65
+ ticketResult: 'Ticket result',
66
+ amountWon: 'Amount won',
67
+ numberOfDraws: 'Number of draws',
68
+ multiplier: 'Multiplier:',
69
+ ticketPurchaseDate: 'Ticket Purchase Date',
70
+ ticketStatus: 'Ticket Status',
71
+ ticketId: 'Ticket ID',
72
+ ticketAmount: 'Ticket Amount',
73
+ winUpTo: 'Win up to',
74
+ },
75
+ ro: {
76
+ drawResultsHeader: 'Ultimele rezultate extragere',
77
+ drawId: 'Id extragere',
78
+ drawName: 'Numele jocului',
79
+ drawDate: 'Data extragerii',
80
+ drawNumbersGridDraw: 'Numerele extrase Grid',
81
+ drawNumbersGridTicket: 'Numerele extrase Grid',
82
+ ticketResult: 'Rezultatul biletului',
83
+ amountWon: 'Suma castigata',
84
+ numberOfDraws: 'Numarul de extrageri',
85
+ multiplier: 'Multiplicator:',
86
+ ticketPurchaseDate: 'Data achizitionarii biletului',
87
+ ticketStatus: 'Statusul biletului',
88
+ ticketId: 'Id biletul',
89
+ ticketAmount: 'Valoarea biletului',
90
+ winUpTo: 'Poti castiga'
91
+ },
92
+ fr: {
93
+ drawResultsHeader: 'Résultats du dernier tirage',
94
+ drawId: 'ID de tirage',
95
+ drawName: 'Nom du jeu',
96
+ drawDate: 'Date du tirage',
97
+ drawNumbersGridDraw: 'Tirage des numéros Grille',
98
+ drawNumbersGridTicket: 'Tirage des numéros Grille',
99
+ ticketResult: 'Résultat du ticket',
100
+ amountWon: 'Montant gagné',
101
+ numberOfDraws: 'Nombre de tirages',
102
+ multiplier: 'Multiplicateur',
103
+ ticketPurchaseDate: 'Date d\'achat du billet',
104
+ ticketStatus: 'Statut du ticket',
105
+ ticketId: 'ID de billets',
106
+ ticketAmount: 'Montant du billet',
107
+ winUpTo: 'Gagnez jusqu\'à'
108
+ },
109
+ ar: {
110
+ drawResultsHeader: 'نتائج آخر سحب',
111
+ drawId: 'معرّف السحب',
112
+ drawName: 'اسم اللعبة',
113
+ drawDate: 'تاريخ السحب',
114
+ drawNumbersGridDraw: 'شبكة أرقام السحب',
115
+ drawNumbersGridTicket: 'شبكة أرقام السحب',
116
+ ticketResult: 'نتيجة التذكرة',
117
+ amountWon: 'المبلغ الذي تم ربحه',
118
+ numberOfDraws: 'عدد السحوبات',
119
+ multiplier: 'مضاعف',
120
+ ticketPurchaseDate: 'تاريخ شراء التذكرة',
121
+ ticketStatus: 'حالة التذكرة',
122
+ ticketId: 'معرّف التذكرة',
123
+ ticketAmount: 'مبلغ التذكرة',
124
+ winUpTo: 'ربح يصل إلى'
125
+ },
126
+ hr: {
127
+ drawResultsHeader: 'Rezultati posljednjeg izvlačenja',
128
+ drawId: 'ID izvlačenja',
129
+ drawName: 'Naziv igre',
130
+ drawDate: 'Datum izvlačenja',
131
+ drawNumbersGridDraw: 'Tablica izvučenih brojeva',
132
+ drawNumbersGridTicket: 'Tablica izvučenih brojeva',
133
+ ticketResult: 'Rezultat listića',
134
+ amountWon: 'Osvojeni iznos',
135
+ numberOfDraws: 'Broj izvlačenja',
136
+ multiplier: 'Multiplikator',
137
+ ticketPurchaseDate: 'Datum uplate listića',
138
+ ticketStatus: 'Status listića',
139
+ ticketId: 'ID listića',
140
+ ticketAmount: 'Iznos listića',
141
+ winUpTo: 'Osvoji do'
142
+ },
157
143
  };
158
144
  const translate = (key, customLang) => {
159
- const lang = customLang;
160
- return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
145
+ const lang = customLang;
146
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
161
147
  };
162
148
 
163
149
  const lotteryDrawResultsCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.TicketInfo{display:flex;flex-direction:row;gap:15px;background-color:#009993;color:#fff;padding:12px;font-size:14px}.DrawResultsArea{margin-top:15px}.DrawResultsArea.TicketDraws .Content{padding:0;border:0}.DrawResultsArea.TicketDraws .DrawResultsBody{padding:0;margin-bottom:5px;border-radius:0;border:0}.DrawResultsSection{max-width:600px;margin:0px auto;border-radius:4px}.DrawResultsHeader{display:flex;justify-content:space-between;padding:10px 20px;background-color:#009993;color:#fff;font-size:14px;border-radius:4px 4px 0 0}.DrawResultsHeader h4{text-transform:uppercase;font-weight:400;margin:0;padding-top:15px}.DrawResultsBody{padding:20px;margin-bottom:5px;border-radius:0 0 4px 4px;border:1px solid #009993}.DrawResultsBody>div{margin:10px 0}.DrawResultsBody .NumberOfDrawsContainer{display:table;width:100%}.DrawNumbersGrid{display:flex;flex-direction:column;gap:5px}.DrawNumbersGrid label{display:block;margin-bottom:7px}.Toggle{cursor:pointer;display:inline-block}.ToggleSwitch{display:inline-block;background:#ccc;border-radius:16px;width:58px;height:24px;position:relative;vertical-align:middle;transition:background 0.25s}.ToggleSwitch:before,.ToggleSwitch:after{content:\"\"}.ToggleSwitch:before{display:block;background:linear-gradient(to bottom, #fff 0%, #eee 100%);border-radius:50%;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.25);width:16px;height:16px;position:absolute;top:4px;left:4px;transition:left 0.25s}.Toggle:hover .ToggleSwitch:before{background:linear-gradient(to bottom, #fff 0%, #fff 100%);box-shadow:0 0 0 1px rgba(0, 0, 0, 0.5)}.ToggleCheckbox:checked+.ToggleSwitch{background:#56c080}.ToggleCheckbox:checked+.ToggleSwitch:before{left:38px}.ToggleCheckbox{position:absolute;visibility:hidden}.Label{position:relative}.DrawTicketsContainer{display:flex;flex-direction:column;margin:20px auto 0}.DrawMultipler{margin-top:15px}.ExpandableBoxes{position:relative;display:flex;flex-direction:column;border:1px solid #ccc;border-radius:5px;background-color:white}.ExpandableBox{border-bottom:1px solid #ccc;transition:height 300ms ease-in-out;overflow:hidden;height:80px}.ExpandableBox:last-child{border-bottom:0}.ExpandableBoxHeader{position:relative;list-style:none;outline:0;cursor:pointer;text-transform:uppercase;transition:color 300ms ease-in-out;margin-bottom:24px;margin-left:5px}.ShowBox>.ExpandableBoxHeader{color:#009993}.ExpandableBoxHeader::-webkit-details-marker{display:none}.ExpandableBoxHeader:before,.ExpandableBoxHeader:after{content:\"\";position:absolute}.ExpandableBoxHeader:before{right:21px;top:50%;height:2px;margin-top:-1px;width:16px;background:#009993}.ExpandableBoxHeader:after{right:28px;top:50%;height:16px;margin-top:-8px;width:2px;margin-left:-1px;background:#009993;transition:all 300ms ease-in-out}.ShowBox .ExpandableBoxHeader:after{opacity:0;transform:translateY(25%)}.ExpandableBoxBody{padding-top:0;font-weight:lighter;margin-left:5px}.ExpandableBox.ShowBox{height:300px}";
150
+ const LotteryDrawResultsStyle0 = lotteryDrawResultsCss;
164
151
 
165
152
  const LotteryDrawResults = class {
166
- constructor(hostRef) {
167
- registerInstance(this, hostRef);
168
- /**
169
- * Language of the widget
170
- */
171
- this.language = 'en';
172
- /**
173
- * Shows only the last draw
174
- */
175
- this.drawMode = false;
176
- /**
177
- * The drawID (option)
178
- */
179
- this.drawId = '';
180
- /**
181
- * The game name
182
- */
183
- this.gameName = '';
184
- /**
185
- * The ticket submission date
186
- */
187
- this.ticketDate = '';
188
- /**
189
- * The ticket status
190
- */
191
- this.ticketStatus = '';
192
- /**
193
- * The ticket id
194
- */
195
- this.ticketId = '';
196
- /**
197
- * The ticket amount
198
- */
199
- this.ticketAmount = '';
200
- /**
201
- * The ticket multiplier
202
- */
203
- this.ticketMultiplier = false;
204
- /**
205
- * The ticket draw count
206
- */
207
- this.ticketDrawCount = 0;
208
- /**
209
- * The ticket winning numbers
210
- */
211
- this.ticketNumbers = '';
212
- /**
213
- * The session id
214
- */
215
- this.sessionId = '';
216
- /**
217
- * Client custom styling via string
218
- */
219
- this.clientStyling = '';
220
- /**
221
- * Client custom styling via url content
222
- */
223
- this.clientStylingUrlContent = '';
224
- /**
225
- * Data showing the ticket's draw results details
226
- */
227
- this.ticketDrawData = '';
228
- this.multiplier = 3;
229
- this.isLoading = true;
230
- this.hasErrors = false;
231
- this.errorText = '';
232
- this.ticketData = [];
233
- this.ticketDataLoaded = false;
234
- this.ticketDraws = [];
235
- this.toggleDrawer = [false];
236
- this.limitStylingAppends = false;
237
- this.ticketDrawDetails = [];
238
- this.ticketDrawDetailsFlag = true;
239
- this.setClientStyling = () => {
240
- let sheet = document.createElement('style');
241
- sheet.innerHTML = this.clientStyling;
242
- this.stylingContainer.prepend(sheet);
243
- };
244
- this.setClientStylingURL = () => {
245
- let cssFile = document.createElement('style');
246
- setTimeout(() => {
247
- cssFile.innerHTML = this.clientStylingUrlContent;
248
- this.stylingContainer.prepend(cssFile);
249
- }, 1);
250
- };
251
- }
252
- connectedCallback() {
253
- let promises = [];
254
- // Split ticket numbers for each grid
255
- if (this.ticketNumbers) {
256
- this.gridNumbers = JSON.parse(this.ticketNumbers);
257
- }
258
- if (this.drawId) {
259
- promises.push(this.getDrawData());
260
- }
261
- Promise.all(promises)
262
- .then(() => {
263
- this.isLoading = false;
264
- }).catch((err) => {
265
- console.log('error ', err);
266
- this.isLoading = false;
267
- });
268
- }
269
- componentWillRender() {
270
- if (this.ticketDrawData && this.ticketDrawDetailsFlag) {
271
- this.ticketDrawDetails = JSON.parse(this.ticketDrawData);
272
- this.ticketDrawDetails.forEach((drawDetail) => {
273
- this.getDrawData(drawDetail.drawId).then((drawData) => drawDetail.drawData = drawData);
274
- });
275
- this.ticketDrawDetailsFlag = false;
153
+ constructor(hostRef) {
154
+ registerInstance(this, hostRef);
155
+ this.ticketDrawDetails = [];
156
+ this.ticketDrawDetailsFlag = true;
157
+ this.setClientStyling = () => {
158
+ let sheet = document.createElement('style');
159
+ sheet.innerHTML = this.clientStyling;
160
+ this.stylingContainer.prepend(sheet);
161
+ };
162
+ this.setClientStylingURL = () => {
163
+ let cssFile = document.createElement('style');
164
+ setTimeout(() => {
165
+ cssFile.innerHTML = this.clientStylingUrlContent;
166
+ this.stylingContainer.prepend(cssFile);
167
+ }, 1);
168
+ };
169
+ this.endpoint = undefined;
170
+ this.gameId = undefined;
171
+ this.language = 'en';
172
+ this.playerId = undefined;
173
+ this.drawMode = false;
174
+ this.drawId = '';
175
+ this.gameName = '';
176
+ this.ticketDate = '';
177
+ this.ticketStatus = '';
178
+ this.ticketId = '';
179
+ this.ticketAmount = '';
180
+ this.ticketMultiplier = false;
181
+ this.ticketDrawCount = 0;
182
+ this.ticketNumbers = '';
183
+ this.sessionId = '';
184
+ this.clientStyling = '';
185
+ this.clientStylingUrlContent = '';
186
+ this.ticketDrawData = '';
187
+ this.multiplier = 3;
188
+ this.isLoading = true;
189
+ this.hasErrors = false;
190
+ this.errorText = '';
191
+ this.ticketData = [];
192
+ this.ticketDataLoaded = false;
193
+ this.ticketDraws = [];
194
+ this.toggleDrawer = [false];
195
+ this.limitStylingAppends = false;
196
+ this.drawData = undefined;
276
197
  }
277
- }
278
- componentDidRender() {
279
- // start custom styling area
280
- if (!this.limitStylingAppends && this.stylingContainer) {
281
- if (this.clientStyling)
282
- this.setClientStyling();
283
- if (this.clientStylingUrlContent)
284
- this.setClientStylingURL();
285
- this.limitStylingAppends = true;
198
+ connectedCallback() {
199
+ let promises = [];
200
+ // Split ticket numbers for each grid
201
+ if (this.ticketNumbers) {
202
+ this.gridNumbers = JSON.parse(this.ticketNumbers);
203
+ }
204
+ if (this.drawId) {
205
+ promises.push(this.getDrawData());
206
+ }
207
+ Promise.all(promises)
208
+ .then(() => {
209
+ this.isLoading = false;
210
+ }).catch((err) => {
211
+ console.log('error ', err);
212
+ this.isLoading = false;
213
+ });
286
214
  }
287
- // end custom styling area
288
- }
289
- getDrawData(drawId) {
290
- this.isLoading = true;
291
- return new Promise((resolve, reject) => {
292
- let url = new URL(`${this.endpoint}/games/${this.gameId}/draws/${drawId ? drawId : this.drawId}`);
293
- fetch(url.href)
294
- .then((response) => {
295
- // @TODO EXCEPTIONS
296
- return response.json();
297
- })
298
- .then((data) => {
299
- if (drawId) {
300
- resolve(data);
215
+ componentWillRender() {
216
+ if (this.ticketDrawData && this.ticketDrawDetailsFlag) {
217
+ this.ticketDrawDetails = JSON.parse(this.ticketDrawData);
218
+ this.ticketDrawDetails.forEach((drawDetail) => {
219
+ this.getDrawData(drawDetail.drawId).then((drawData) => drawDetail.drawData = drawData);
220
+ });
221
+ this.ticketDrawDetailsFlag = false;
301
222
  }
302
- else {
303
- this.drawData = data;
304
- resolve(true);
223
+ }
224
+ componentDidRender() {
225
+ // start custom styling area
226
+ if (!this.limitStylingAppends && this.stylingContainer) {
227
+ if (this.clientStyling)
228
+ this.setClientStyling();
229
+ if (this.clientStylingUrlContent)
230
+ this.setClientStylingURL();
231
+ this.limitStylingAppends = true;
305
232
  }
306
- this.isLoading = false;
307
- })
308
- .catch((err) => {
309
- reject(err);
310
- this.isLoading = false;
311
- });
312
- });
313
- }
314
- drawerToggle(index) {
315
- this.toggleDrawer = this.toggleDrawer.map((item, itemIndex) => {
316
- if (itemIndex == index) {
317
- return !item;
318
- }
319
- return item;
320
- });
321
- if (index >= this.toggleDrawer.length) {
322
- this.toggleDrawer.push(true);
233
+ // end custom styling area
323
234
  }
324
- }
325
- render() {
326
- if (this.isLoading) {
327
- return (h("p", null, "Loading, please wait ..."));
235
+ getDrawData(drawId) {
236
+ this.isLoading = true;
237
+ return new Promise((resolve, reject) => {
238
+ let url = new URL(`${this.endpoint}/games/${this.gameId}/draws/${drawId ? drawId : this.drawId}`);
239
+ fetch(url.href)
240
+ .then((response) => {
241
+ // @TODO EXCEPTIONS
242
+ return response.json();
243
+ })
244
+ .then((data) => {
245
+ if (drawId) {
246
+ resolve(data);
247
+ }
248
+ else {
249
+ this.drawData = data;
250
+ resolve(true);
251
+ }
252
+ this.isLoading = false;
253
+ })
254
+ .catch((err) => {
255
+ reject(err);
256
+ this.isLoading = false;
257
+ });
258
+ });
328
259
  }
329
- else if (this.hasErrors) {
330
- h("p", null, this.errorText);
260
+ drawerToggle(index) {
261
+ this.toggleDrawer = this.toggleDrawer.map((item, itemIndex) => {
262
+ if (itemIndex == index) {
263
+ return !item;
264
+ }
265
+ return item;
266
+ });
267
+ if (index >= this.toggleDrawer.length) {
268
+ this.toggleDrawer.push(true);
269
+ }
331
270
  }
332
- else {
333
- return (h("section", { class: "DrawResultsSection", ref: el => this.stylingContainer = el }, this.drawMode ?
334
- h("div", { class: "DrawResultsArea" }, this.drawData &&
335
- h("div", null, h("div", { class: "DrawResultsHeader" }, h("span", null, translate('drawId', this.language), ": ", this.drawData.id), h("span", null, translate('drawDate', this.language), ": ", this.drawData.date.slice(0, 10))), h("div", { class: "DrawResultsBody" }, h("div", { class: "DrawNumbersGrid" }, h("p", null, translate('drawNumbersGridDraw', this.language), "0:"), h("div", { class: "BulletContainer" }, h("lottery-grid", { "selected-numbers": this.drawData.winningNumbers.join(','), "display-selected": true, selectable: false, language: this.language, "grid-type": 'ticket', "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent })), h("div", { class: "DrawMultipler" }, h("label", { class: "Label" }, translate('multiplier', this.language), " ", this.multiplier))))))
336
- :
337
- h("div", { class: "DrawResultsArea TicketDraws" }, h("div", { class: "DrawResultsBody" }, h("div", { class: "TicketIdContainer" }, h("label", { class: "Label" }, translate('ticketId', this.language), ": ", h("span", null, this.ticketId))), h("div", { class: "TicketAmountContainer" }, h("label", { class: "Label" }, translate('ticketAmount', this.language), " ", h("span", null, this.ticketAmount))), h("div", { class: "DrawNumbersGrid" }, this.gridNumbers.map((grid, index) => h("div", null, h("label", { class: "Label" }, translate('drawNumbersGridTicket', this.language), " ", String.fromCharCode(index + 65), ":"), h("div", { class: "BulletContainer" }, h("lottery-grid", { "selected-numbers": grid.join(','), selectable: false, "display-selected": true, language: this.language, "grid-type": 'ticket', "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))))), h("div", { class: "DrawMultipler" }, h("label", { class: "Label" }, translate('multiplier', this.language), " ", JSON.stringify(this.ticketMultiplier))), h("div", { class: "NumberOfDrawsContainer" }, h("label", { class: "Label" }, translate('numberOfDraws', this.language), ": ", this.ticketDrawCount), h("div", { class: "DrawTicketsContainer" }, this.ticketDrawDetails && this.ticketDrawDetails.length > 0 &&
338
- h("div", { class: "ExpandableBoxes" }, this.ticketDrawDetails.map((drawDetail, index) => {
339
- var _a, _b, _c, _d, _e;
340
- return h("div", { class: { 'ExpandableBox': true, 'ShowBox': this.toggleDrawer[index] }, onClick: () => this.drawerToggle(index) }, h("div", { class: "ExpandableBoxHeader" }, h("div", { class: "TicketResultContainer" }, h("p", null, translate('ticketResult', this.language), ": ", drawDetail.state)), drawDetail.state == 'won' &&
341
- h("div", { class: "AmountWonContainer" }, h("p", null, translate('amountWon', this.language), ": ", Number(drawDetail.amount).toLocaleString('en'), " ", drawDetail.currency)), drawDetail.state == 'lost' &&
342
- h("div", { class: "DrawIdContainer" }, h("p", null, translate('drawId', this.language), ": ", drawDetail.drawId))), h("div", { class: "ExpandableBoxBody" }, h("div", { class: "DrawIdContainer" }, h("p", null, translate('drawId', this.language), ": ", drawDetail.drawId)), h("div", { class: "DrawDateContainer" }, h("p", null, translate('drawDate', this.language), ": ", (_a = drawDetail.drawData) === null || _a === void 0 ? void 0 :
343
- _a.date.slice(0, 10), " | ", (_b = drawDetail.drawData) === null || _b === void 0 ? void 0 :
344
- _b.date.slice(11, 19))), h("div", { class: "DrawNumbersGrid" }, drawDetail.drawData &&
345
- h("div", { class: 'BulletContainer' }, h("label", { class: "Label" }, translate('drawNumbersGridDraw', this.language), " ", String.fromCharCode(index + 10), ":"), h("lottery-grid", { "selected-numbers": (_d = (_c = drawDetail.drawData) === null || _c === void 0 ? void 0 : _c.winningNumbers) === null || _d === void 0 ? void 0 : _d.join(','), selectable: false, "display-selected": true, language: this.language, "grid-type": 'ticket', "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))), h("div", { class: "DrawMultipler" }, h("label", { class: "Label" }, translate('multiplier', this.language), " ", (_e = drawDetail.drawData) === null || _e === void 0 ? void 0 :
346
- _e.multiplier))));
347
- }))))))));
271
+ render() {
272
+ if (this.isLoading) {
273
+ return (h("p", null, "Loading, please wait ..."));
274
+ }
275
+ else if (this.hasErrors) {
276
+ h("p", null, this.errorText);
277
+ }
278
+ else {
279
+ return (h("section", { class: "DrawResultsSection", ref: el => this.stylingContainer = el }, this.drawMode ?
280
+ h("div", { class: "DrawResultsArea" }, this.drawData &&
281
+ h("div", null, h("div", { class: "DrawResultsHeader" }, h("span", null, translate('drawId', this.language), ": ", this.drawData.id), h("span", null, translate('drawDate', this.language), ": ", this.drawData.date.slice(0, 10))), h("div", { class: "DrawResultsBody" }, h("div", { class: "DrawNumbersGrid" }, h("p", null, translate('drawNumbersGridDraw', this.language), "0:"), h("div", { class: "BulletContainer" }, h("lottery-grid", { "selected-numbers": this.drawData.winningNumbers.join(','), "display-selected": true, selectable: false, language: this.language, "grid-type": 'ticket', "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent })), h("div", { class: "DrawMultipler" }, h("label", { class: "Label" }, translate('multiplier', this.language), " ", this.multiplier))))))
282
+ :
283
+ h("div", { class: "DrawResultsArea TicketDraws" }, h("div", { class: "DrawResultsBody" }, h("div", { class: "TicketIdContainer" }, h("label", { class: "Label" }, translate('ticketId', this.language), ": ", h("span", null, this.ticketId))), h("div", { class: "TicketAmountContainer" }, h("label", { class: "Label" }, translate('ticketAmount', this.language), " ", h("span", null, this.ticketAmount))), h("div", { class: "DrawNumbersGrid" }, this.gridNumbers.map((grid, index) => h("div", null, h("label", { class: "Label" }, translate('drawNumbersGridTicket', this.language), " ", String.fromCharCode(index + 65), ":"), h("div", { class: "BulletContainer" }, h("lottery-grid", { "selected-numbers": grid.join(','), selectable: false, "display-selected": true, language: this.language, "grid-type": 'ticket', "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))))), h("div", { class: "DrawMultipler" }, h("label", { class: "Label" }, translate('multiplier', this.language), " ", JSON.stringify(this.ticketMultiplier))), h("div", { class: "NumberOfDrawsContainer" }, h("label", { class: "Label" }, translate('numberOfDraws', this.language), ": ", this.ticketDrawCount), h("div", { class: "DrawTicketsContainer" }, this.ticketDrawDetails && this.ticketDrawDetails.length > 0 &&
284
+ h("div", { class: "ExpandableBoxes" }, this.ticketDrawDetails.map((drawDetail, index) => {
285
+ var _a, _b, _c, _d, _e;
286
+ return h("div", { class: { 'ExpandableBox': true, 'ShowBox': this.toggleDrawer[index] }, onClick: () => this.drawerToggle(index) }, h("div", { class: "ExpandableBoxHeader" }, h("div", { class: "TicketResultContainer" }, h("p", null, translate('ticketResult', this.language), ": ", drawDetail.state)), drawDetail.state == 'won' &&
287
+ h("div", { class: "AmountWonContainer" }, h("p", null, translate('amountWon', this.language), ": ", Number(drawDetail.amount).toLocaleString('en'), " ", drawDetail.currency)), drawDetail.state == 'lost' &&
288
+ h("div", { class: "DrawIdContainer" }, h("p", null, translate('drawId', this.language), ": ", drawDetail.drawId))), h("div", { class: "ExpandableBoxBody" }, h("div", { class: "DrawIdContainer" }, h("p", null, translate('drawId', this.language), ": ", drawDetail.drawId)), h("div", { class: "DrawDateContainer" }, h("p", null, translate('drawDate', this.language), ": ", (_a = drawDetail.drawData) === null || _a === void 0 ? void 0 :
289
+ _a.date.slice(0, 10), " | ", (_b = drawDetail.drawData) === null || _b === void 0 ? void 0 :
290
+ _b.date.slice(11, 19))), h("div", { class: "DrawNumbersGrid" }, drawDetail.drawData &&
291
+ h("div", { class: 'BulletContainer' }, h("label", { class: "Label" }, translate('drawNumbersGridDraw', this.language), " ", String.fromCharCode(index + 10), ":"), h("lottery-grid", { "selected-numbers": (_d = (_c = drawDetail.drawData) === null || _c === void 0 ? void 0 : _c.winningNumbers) === null || _d === void 0 ? void 0 : _d.join(','), selectable: false, "display-selected": true, language: this.language, "grid-type": 'ticket', "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))), h("div", { class: "DrawMultipler" }, h("label", { class: "Label" }, translate('multiplier', this.language), " ", (_e = drawDetail.drawData) === null || _e === void 0 ? void 0 :
292
+ _e.multiplier))));
293
+ }))))))));
294
+ }
348
295
  }
349
- }
350
296
  };
351
- LotteryDrawResults.style = lotteryDrawResultsCss;
297
+ LotteryDrawResults.style = LotteryDrawResultsStyle0;
352
298
 
353
299
  const lotteryGridCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.GridContainer{display:flex;flex-direction:column;max-width:1200px}.Grid{margin-top:10px 0 10px 0;display:flex;flex-direction:row;flex-wrap:wrap;gap:20px}.Grid.TicketGrid{gap:5px}";
300
+ const LotteryGridStyle0 = lotteryGridCss;
354
301
 
355
302
  const LotteryGrid = class {
356
- constructor(hostRef) {
357
- registerInstance(this, hostRef);
358
- this.gridFilledEvent = createEvent(this, "gridFilled", 7);
359
- this.gridDirtyEvent = createEvent(this, "gridDirty", 7);
360
- /**
361
- * Number of bullets of grid
362
- */
363
- this.totalNumbers = 0;
364
- /**
365
- * Number of maximum bullets that can be selected
366
- */
367
- this.maximumAllowed = 0;
368
- /**
369
- * Minimum allowed of bullets
370
- */
371
- this.minimumAllowed = 1;
372
- /**
373
- * Allows the user to select numbers on the grid
374
- */
375
- this.selectable = true;
376
- /**
377
- * Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')
378
- */
379
- this.selectedNumbers = '';
380
- /**
381
- * Show only selected numbers
382
- */
383
- this.displaySelected = false;
384
- /**
385
- * Language
386
- */
387
- this.language = 'en';
388
- /**
389
- * Personalize grid for ticket
390
- */
391
- this.gridType = '';
392
- /**
393
- * Client custom styling via string
394
- */
395
- this.clientStyling = '';
396
- /**
397
- * Client custom styling via url content
398
- */
399
- this.clientStylingUrlContent = '';
400
- this.numbers = [];
401
- this.limitStylingAppends = false;
402
- this.selectedCounter = 0;
403
- this.setClientStyling = () => {
404
- let sheet = document.createElement('style');
405
- sheet.innerHTML = this.clientStyling;
406
- this.stylingContainer.prepend(sheet);
407
- };
408
- this.setClientStylingURL = () => {
409
- let cssFile = document.createElement('style');
410
- setTimeout(() => {
411
- cssFile.innerHTML = this.clientStylingUrlContent;
412
- this.stylingContainer.prepend(cssFile);
413
- }, 1);
414
- };
415
- }
416
- connectedCallback() {
417
- let selected = [];
418
- if (this.selectedNumbers.length > 0) {
419
- selected = this.selectedNumbers.split(',');
420
- this.selectedCounter = selected.length;
421
- }
422
- if (this.displaySelected) {
423
- selected.forEach((item) => {
424
- this.numbers.push({
425
- number: item,
426
- selected: true,
427
- selectable: this.selectable
428
- });
429
- });
303
+ constructor(hostRef) {
304
+ registerInstance(this, hostRef);
305
+ this.gridFilledEvent = createEvent(this, "gridFilled", 7);
306
+ this.gridDirtyEvent = createEvent(this, "gridDirty", 7);
307
+ this.selectedCounter = 0;
308
+ this.setClientStyling = () => {
309
+ let sheet = document.createElement('style');
310
+ sheet.innerHTML = this.clientStyling;
311
+ this.stylingContainer.prepend(sheet);
312
+ };
313
+ this.setClientStylingURL = () => {
314
+ let cssFile = document.createElement('style');
315
+ setTimeout(() => {
316
+ cssFile.innerHTML = this.clientStylingUrlContent;
317
+ this.stylingContainer.prepend(cssFile);
318
+ }, 1);
319
+ };
320
+ this.ticketId = undefined;
321
+ this.totalNumbers = 0;
322
+ this.gameId = undefined;
323
+ this.maximumAllowed = 0;
324
+ this.minimumAllowed = 1;
325
+ this.selectable = true;
326
+ this.selectedNumbers = '';
327
+ this.displaySelected = false;
328
+ this.language = 'en';
329
+ this.gridIndex = undefined;
330
+ this.gridType = '';
331
+ this.clientStyling = '';
332
+ this.clientStylingUrlContent = '';
333
+ this.numbers = [];
334
+ this.limitStylingAppends = false;
430
335
  }
431
- else {
432
- [...Array(this.totalNumbers).keys()]
433
- .map(number => (number + 1).toString())
434
- .forEach((number) => {
435
- this.numbers.push({
436
- number,
437
- selected: selected.indexOf(number) >= 0 ? true : false,
438
- selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable
439
- });
440
- });
336
+ connectedCallback() {
337
+ let selected = [];
338
+ if (this.selectedNumbers.length > 0) {
339
+ selected = this.selectedNumbers.split(',');
340
+ this.selectedCounter = selected.length;
341
+ }
342
+ if (this.displaySelected) {
343
+ selected.forEach((item) => {
344
+ this.numbers.push({
345
+ number: item,
346
+ selected: true,
347
+ selectable: this.selectable
348
+ });
349
+ });
350
+ }
351
+ else {
352
+ [...Array(this.totalNumbers).keys()]
353
+ .map(number => (number + 1).toString())
354
+ .forEach((number) => {
355
+ this.numbers.push({
356
+ number,
357
+ selected: selected.indexOf(number) >= 0 ? true : false,
358
+ selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable
359
+ });
360
+ });
361
+ }
441
362
  }
442
- }
443
- componentDidRender() {
444
- // start custom styling area
445
- if (!this.limitStylingAppends && this.stylingContainer) {
446
- if (this.clientStyling)
447
- this.setClientStyling();
448
- if (this.clientStylingUrlContent)
449
- this.setClientStylingURL();
450
- this.limitStylingAppends = true;
363
+ componentDidRender() {
364
+ // start custom styling area
365
+ if (!this.limitStylingAppends && this.stylingContainer) {
366
+ if (this.clientStyling)
367
+ this.setClientStyling();
368
+ if (this.clientStylingUrlContent)
369
+ this.setClientStylingURL();
370
+ this.limitStylingAppends = true;
371
+ }
372
+ // end custom styling area
451
373
  }
452
- // end custom styling area
453
- }
454
- // wrote this because the classic .sort(() => 0.5 - Math.random()) method yielded low entropy shuffles for some reason on certain devices
455
- shuffleArray(array) {
456
- const result = [];
457
- while (array.length > 0) {
458
- const randomIndex = Math.floor(Math.random() * (array.length));
459
- result.push(array.splice(randomIndex, 1)[0]);
374
+ // wrote this because the classic .sort(() => 0.5 - Math.random()) method yielded low entropy shuffles for some reason on certain devices
375
+ shuffleArray(array) {
376
+ const result = [];
377
+ while (array.length > 0) {
378
+ const randomIndex = Math.floor(Math.random() * (array.length));
379
+ result.push(array.splice(randomIndex, 1)[0]);
380
+ }
381
+ return result;
460
382
  }
461
- return result;
462
- }
463
- lotteryBulletSelectionHandler(event) {
464
- this.numbers = this.numbers.map((item) => {
465
- if (item.number == event.detail.value) {
466
- return {
467
- number: item.number,
468
- selected: event.detail.selected,
469
- selectable: item.selectable
470
- };
471
- }
472
- return {
473
- number: item.number,
474
- selected: item.selected,
475
- selectable: item.selectable
476
- };
477
- });
478
- if (event.detail.selected) {
479
- this.selectedCounter += 1;
480
- if (this.selectedCounter == this.maximumAllowed) {
383
+ lotteryBulletSelectionHandler(event) {
481
384
  this.numbers = this.numbers.map((item) => {
482
- return {
483
- number: item.number,
484
- selected: item.selected,
485
- selectable: item.selected ? true : false
486
- };
385
+ if (item.number == event.detail.value) {
386
+ return {
387
+ number: item.number,
388
+ selected: event.detail.selected,
389
+ selectable: item.selectable
390
+ };
391
+ }
392
+ return {
393
+ number: item.number,
394
+ selected: item.selected,
395
+ selectable: item.selectable
396
+ };
487
397
  });
488
- this.gridFilledEvent.emit({
489
- id: this.ticketId,
490
- index: this.gridIndex,
491
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
492
- });
493
- }
398
+ if (event.detail.selected) {
399
+ this.selectedCounter += 1;
400
+ if (this.selectedCounter == this.maximumAllowed) {
401
+ this.numbers = this.numbers.map((item) => {
402
+ return {
403
+ number: item.number,
404
+ selected: item.selected,
405
+ selectable: item.selected ? true : false
406
+ };
407
+ });
408
+ this.gridFilledEvent.emit({
409
+ id: this.ticketId,
410
+ index: this.gridIndex,
411
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
412
+ });
413
+ }
414
+ }
415
+ else {
416
+ if (this.selectedCounter == this.maximumAllowed) {
417
+ this.numbers = this.numbers.map((item) => {
418
+ return {
419
+ number: item.number,
420
+ selected: item.selected,
421
+ selectable: true
422
+ };
423
+ });
424
+ this.gridDirtyEvent.emit({
425
+ id: this.ticketId,
426
+ index: this.gridIndex,
427
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
428
+ });
429
+ }
430
+ this.selectedCounter -= 1;
431
+ }
494
432
  }
495
- else {
496
- if (this.selectedCounter == this.maximumAllowed) {
497
- this.numbers = this.numbers.map((item) => {
498
- return {
499
- number: item.number,
500
- selected: item.selected,
501
- selectable: true
502
- };
503
- });
504
- this.gridDirtyEvent.emit({
505
- id: this.ticketId,
506
- index: this.gridIndex,
507
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
508
- });
509
- }
510
- this.selectedCounter -= 1;
433
+ async resetSelectionHandler(event) {
434
+ if (event.detail && event.detail == this.ticketId) {
435
+ this.selectedCounter = 0;
436
+ this.numbers = this.numbers.map((item) => {
437
+ return {
438
+ number: item.number,
439
+ selected: false,
440
+ selectable: this.selectable
441
+ };
442
+ });
443
+ this.gridDirtyEvent.emit({
444
+ id: this.ticketId,
445
+ index: this.gridIndex,
446
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
447
+ });
448
+ }
511
449
  }
512
- }
513
- async resetSelectionHandler(event) {
514
- if (event.detail && event.detail == this.ticketId) {
515
- this.selectedCounter = 0;
516
- this.numbers = this.numbers.map((item) => {
517
- return {
518
- number: item.number,
519
- selected: false,
520
- selectable: this.selectable
521
- };
522
- });
523
- this.gridDirtyEvent.emit({
524
- id: this.ticketId,
525
- index: this.gridIndex,
526
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
527
- });
450
+ async autoSelectionHandler(event) {
451
+ if (event.detail && event.detail == this.ticketId) {
452
+ this.resetSelectionHandler(event);
453
+ let array = [...Array(this.totalNumbers).keys()]
454
+ .map(number => number + 1);
455
+ array = this.shuffleArray(array);
456
+ array = array.slice(0, this.minimumAllowed);
457
+ this.numbers = this.numbers.map((item) => {
458
+ return {
459
+ number: item.number,
460
+ selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
461
+ selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
462
+ };
463
+ });
464
+ this.gridFilledEvent.emit({
465
+ id: this.ticketId,
466
+ index: this.gridIndex,
467
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
468
+ });
469
+ this.selectedCounter = this.maximumAllowed;
470
+ }
528
471
  }
529
- }
530
- async autoSelectionHandler(event) {
531
- if (event.detail && event.detail == this.ticketId) {
532
- this.resetSelectionHandler(event);
533
- let array = [...Array(this.totalNumbers).keys()]
534
- .map(number => number + 1);
535
- array = this.shuffleArray(array);
536
- array = array.slice(0, this.minimumAllowed);
537
- this.numbers = this.numbers.map((item) => {
538
- return {
539
- number: item.number,
540
- selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
541
- selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
542
- };
543
- });
544
- this.gridFilledEvent.emit({
545
- id: this.ticketId,
546
- index: this.gridIndex,
547
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
548
- });
549
- this.selectedCounter = this.maximumAllowed;
472
+ render() {
473
+ return (h("div", { key: '54b9187146b5d2625fd5ce7f53f38abf091cd943', class: "GridContainer", ref: el => this.stylingContainer = el }, h("div", { key: 'e7e8570557ebaa78edf881cdbc1ed720028cdf6e', 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 }))))));
550
474
  }
551
- }
552
- render() {
553
- 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 }))))));
554
- }
555
475
  };
556
- LotteryGrid.style = lotteryGridCss;
476
+ LotteryGrid.style = LotteryGridStyle0;
557
477
 
558
478
  export { LotteryBullet as lottery_bullet, LotteryDrawResults as lottery_draw_results, LotteryGrid as lottery_grid };