@everymatrix/lottery-game-page 0.1.6 → 0.1.7

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 (149) hide show
  1. package/dist/cjs/{helper-accordion_2.cjs.entry.js → helper-accordion.cjs.entry.js} +1 -35
  2. package/dist/cjs/helper-filters_2.cjs.entry.js +3 -5
  3. package/dist/cjs/helper-modal.cjs.entry.js +1 -3
  4. package/dist/cjs/helper-pagination.cjs.entry.js +1 -3
  5. package/dist/cjs/helper-tab.cjs.entry.js +1 -3
  6. package/dist/cjs/helper-tabs.cjs.entry.js +38 -0
  7. package/dist/cjs/{index-65086a23.js → index-5701a895.js} +40 -3
  8. package/dist/cjs/index.cjs.js +0 -2
  9. package/dist/cjs/loader.cjs.js +2 -4
  10. package/dist/cjs/lottery-bullet_2.cjs.entry.js +202 -0
  11. package/dist/cjs/lottery-draw-results-history.cjs.entry.js +1 -4
  12. package/dist/cjs/lottery-game-details.cjs.entry.js +1 -3
  13. package/dist/cjs/lottery-game-page.cjs.entry.js +2 -4
  14. package/dist/cjs/lottery-game-page.cjs.js +2 -4
  15. package/dist/cjs/lottery-ticket-controller.cjs.entry.js +69 -0
  16. package/dist/cjs/lottery-ticket.cjs.entry.js +169 -0
  17. package/dist/collection/collection-manifest.json +24 -0
  18. package/dist/collection/components/lottery-game-page/lottery-game-page.js +1 -1
  19. package/dist/collection/index.js +0 -1
  20. package/dist/collection/utils/locale.utils.js +0 -1
  21. package/dist/collection/utils/utils.js +0 -1
  22. package/dist/components/helper-accordion.js +0 -2
  23. package/dist/components/helper-accordion2.js +0 -2
  24. package/dist/components/helper-filters.js +0 -2
  25. package/dist/components/helper-filters2.js +2 -3
  26. package/dist/components/helper-modal.js +0 -2
  27. package/dist/components/helper-modal2.js +0 -2
  28. package/dist/components/helper-pagination.js +0 -2
  29. package/dist/components/helper-tab.js +0 -2
  30. package/dist/components/helper-tab2.js +0 -2
  31. package/dist/components/helper-tabs.js +0 -2
  32. package/dist/components/helper-tabs2.js +0 -2
  33. package/dist/components/index.js +0 -2
  34. package/dist/components/lottery-bullet.js +6 -0
  35. package/dist/components/lottery-bullet2.js +57 -0
  36. package/dist/components/lottery-draw-results-history.js +0 -2
  37. package/dist/components/lottery-draw-results-history2.js +18 -9
  38. package/dist/components/lottery-draw-results.js +0 -2
  39. package/dist/components/lottery-draw-results2.js +13 -4
  40. package/dist/components/lottery-game-details.js +0 -2
  41. package/dist/components/lottery-game-details2.js +0 -2
  42. package/dist/components/lottery-game-page.js +41 -19
  43. package/dist/components/lottery-grid.js +6 -0
  44. package/dist/components/lottery-grid2.js +197 -0
  45. package/dist/components/lottery-ticket-controller.js +6 -0
  46. package/dist/components/lottery-ticket-controller2.js +118 -0
  47. package/dist/components/lottery-ticket.js +6 -0
  48. package/dist/components/lottery-ticket2.js +209 -0
  49. package/dist/esm/{helper-accordion_2.entry.js → helper-accordion.entry.js} +2 -35
  50. package/dist/esm/helper-filters_2.entry.js +3 -5
  51. package/dist/esm/helper-modal.entry.js +1 -3
  52. package/dist/esm/helper-pagination.entry.js +1 -3
  53. package/dist/esm/helper-tab.entry.js +1 -3
  54. package/dist/esm/helper-tabs.entry.js +34 -0
  55. package/dist/esm/{index-11dea618.js → index-ade3d0ab.js} +40 -3
  56. package/dist/esm/index.js +0 -2
  57. package/dist/esm/loader.js +2 -4
  58. package/dist/esm/lottery-bullet_2.entry.js +197 -0
  59. package/dist/esm/lottery-draw-results-history.entry.js +1 -4
  60. package/dist/esm/lottery-game-details.entry.js +1 -3
  61. package/dist/esm/lottery-game-page.entry.js +2 -4
  62. package/dist/esm/lottery-game-page.js +2 -4
  63. package/dist/esm/lottery-ticket-controller.entry.js +65 -0
  64. package/dist/esm/lottery-ticket.entry.js +165 -0
  65. package/dist/lottery-game-page/index.esm.js +0 -2
  66. package/dist/lottery-game-page/lottery-game-page.esm.js +1 -2
  67. package/dist/lottery-game-page/p-07cca45e.entry.js +1 -0
  68. package/dist/lottery-game-page/p-1196396b.entry.js +1 -0
  69. package/dist/lottery-game-page/p-2197c8ae.entry.js +1 -0
  70. package/dist/lottery-game-page/p-2a4e9984.entry.js +1 -0
  71. package/dist/lottery-game-page/p-4bfd0112.entry.js +1 -0
  72. package/dist/lottery-game-page/p-5a1ec257.entry.js +1 -0
  73. package/dist/lottery-game-page/p-5e12dbf9.entry.js +1 -0
  74. package/dist/lottery-game-page/p-a10368b2.entry.js +1 -0
  75. package/dist/lottery-game-page/p-a26ebf45.entry.js +1 -0
  76. package/dist/lottery-game-page/p-b301a9d4.js +1 -0
  77. package/dist/lottery-game-page/p-d4b6a11a.entry.js +1 -0
  78. package/dist/lottery-game-page/p-dd63fcc6.entry.js +1 -0
  79. package/dist/lottery-game-page/p-f59dc9e1.entry.js +1 -0
  80. package/dist/stencil.config.js +1 -8
  81. package/package.json +2 -2
  82. package/dist/cjs/helper-accordion_2.cjs.entry.js.map +0 -1
  83. package/dist/cjs/helper-filters_2.cjs.entry.js.map +0 -1
  84. package/dist/cjs/helper-modal.cjs.entry.js.map +0 -1
  85. package/dist/cjs/helper-pagination.cjs.entry.js.map +0 -1
  86. package/dist/cjs/helper-tab.cjs.entry.js.map +0 -1
  87. package/dist/cjs/index-65086a23.js.map +0 -1
  88. package/dist/cjs/index.cjs.js.map +0 -1
  89. package/dist/cjs/loader.cjs.js.map +0 -1
  90. package/dist/cjs/lottery-draw-results-history.cjs.entry.js.map +0 -1
  91. package/dist/cjs/lottery-game-details.cjs.entry.js.map +0 -1
  92. package/dist/cjs/lottery-game-page.cjs.entry.js.map +0 -1
  93. package/dist/cjs/lottery-game-page.cjs.js.map +0 -1
  94. package/dist/collection/components/lottery-game-page/lottery-game-page.js.map +0 -1
  95. package/dist/collection/index.js.map +0 -1
  96. package/dist/collection/utils/locale.utils.js.map +0 -1
  97. package/dist/collection/utils/utils.js.map +0 -1
  98. package/dist/components/helper-accordion.js.map +0 -1
  99. package/dist/components/helper-accordion2.js.map +0 -1
  100. package/dist/components/helper-filters.js.map +0 -1
  101. package/dist/components/helper-filters2.js.map +0 -1
  102. package/dist/components/helper-modal.js.map +0 -1
  103. package/dist/components/helper-modal2.js.map +0 -1
  104. package/dist/components/helper-pagination.js.map +0 -1
  105. package/dist/components/helper-tab.js.map +0 -1
  106. package/dist/components/helper-tab2.js.map +0 -1
  107. package/dist/components/helper-tabs.js.map +0 -1
  108. package/dist/components/helper-tabs2.js.map +0 -1
  109. package/dist/components/index.js.map +0 -1
  110. package/dist/components/lottery-draw-results-history.js.map +0 -1
  111. package/dist/components/lottery-draw-results-history2.js.map +0 -1
  112. package/dist/components/lottery-draw-results.js.map +0 -1
  113. package/dist/components/lottery-draw-results2.js.map +0 -1
  114. package/dist/components/lottery-game-details.js.map +0 -1
  115. package/dist/components/lottery-game-details2.js.map +0 -1
  116. package/dist/components/lottery-game-page.js.map +0 -1
  117. package/dist/esm/helper-accordion_2.entry.js.map +0 -1
  118. package/dist/esm/helper-filters_2.entry.js.map +0 -1
  119. package/dist/esm/helper-modal.entry.js.map +0 -1
  120. package/dist/esm/helper-pagination.entry.js.map +0 -1
  121. package/dist/esm/helper-tab.entry.js.map +0 -1
  122. package/dist/esm/index-11dea618.js.map +0 -1
  123. package/dist/esm/index.js.map +0 -1
  124. package/dist/esm/loader.js.map +0 -1
  125. package/dist/esm/lottery-draw-results-history.entry.js.map +0 -1
  126. package/dist/esm/lottery-game-details.entry.js.map +0 -1
  127. package/dist/esm/lottery-game-page.entry.js.map +0 -1
  128. package/dist/esm/lottery-game-page.js.map +0 -1
  129. package/dist/lottery-game-page/index.esm.js.map +0 -1
  130. package/dist/lottery-game-page/lottery-game-page.esm.js.map +0 -1
  131. package/dist/lottery-game-page/p-0ffa81cc.entry.js +0 -2
  132. package/dist/lottery-game-page/p-0ffa81cc.entry.js.map +0 -1
  133. package/dist/lottery-game-page/p-3a9ad86b.js +0 -2
  134. package/dist/lottery-game-page/p-3a9ad86b.js.map +0 -1
  135. package/dist/lottery-game-page/p-3e00e24b.entry.js +0 -2
  136. package/dist/lottery-game-page/p-3e00e24b.entry.js.map +0 -1
  137. package/dist/lottery-game-page/p-4a79f68c.entry.js +0 -2
  138. package/dist/lottery-game-page/p-4a79f68c.entry.js.map +0 -1
  139. package/dist/lottery-game-page/p-978fd922.entry.js +0 -2
  140. package/dist/lottery-game-page/p-978fd922.entry.js.map +0 -1
  141. package/dist/lottery-game-page/p-bd53d31a.entry.js +0 -2
  142. package/dist/lottery-game-page/p-bd53d31a.entry.js.map +0 -1
  143. package/dist/lottery-game-page/p-bfa5e84c.entry.js +0 -2
  144. package/dist/lottery-game-page/p-bfa5e84c.entry.js.map +0 -1
  145. package/dist/lottery-game-page/p-dedb92e5.entry.js +0 -2
  146. package/dist/lottery-game-page/p-dedb92e5.entry.js.map +0 -1
  147. package/dist/lottery-game-page/p-f4592d65.entry.js +0 -2
  148. package/dist/lottery-game-page/p-f4592d65.entry.js.map +0 -1
  149. package/dist/stencil.config.js.map +0 -1
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-5701a895.js');
6
+
7
+ const lotteryTicketControllerCss = ":host{display:block}";
8
+
9
+ const LotteryTicketController = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.deleteTicketEvent = index.createEvent(this, "deleteTicket", 7);
13
+ /**
14
+ * Endpoint URL for the source of data (NorWAy standard)
15
+ */
16
+ this.endpoint = '';
17
+ /**
18
+ * Ticket number
19
+ */
20
+ this.ticketId = 1;
21
+ /**
22
+ * Activates postMessages as events for actions from the widget
23
+ */
24
+ this.postMessage = false;
25
+ /**
26
+ * Name of the event emitter by the action button
27
+ */
28
+ this.eventName = 'deleteTicketAction';
29
+ /**
30
+ * Collapsed
31
+ */
32
+ this.collapsed = true;
33
+ /**
34
+ * Number of grids?
35
+ */
36
+ this.numberOfGrids = 1;
37
+ /**
38
+ * This toggles if the last ticket added should be expanded or not
39
+ */
40
+ this.last = false;
41
+ /**
42
+ * Language
43
+ */
44
+ this.language = 'en';
45
+ /**
46
+ * Shows the auto-pick button
47
+ */
48
+ this.autoPick = false;
49
+ /**
50
+ * Shows the reset button
51
+ */
52
+ this.resetButton = false;
53
+ }
54
+ // @TODO fix the `any` type
55
+ helperAccordionActionHandler() {
56
+ if (this.postMessage) {
57
+ window.postMessage({ type: this.eventName }, window.location.href);
58
+ }
59
+ this.deleteTicketEvent.emit({
60
+ ticketId: this.ticketId
61
+ });
62
+ }
63
+ render() {
64
+ return (index.h("div", null, index.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 }, index.h("div", { slot: "accordionContent" }, index.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 })))));
65
+ }
66
+ };
67
+ LotteryTicketController.style = lotteryTicketControllerCss;
68
+
69
+ exports.lottery_ticket_controller = LotteryTicketController;
@@ -0,0 +1,169 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-5701a895.js');
6
+
7
+ const DEFAULT_LANGUAGE = 'en';
8
+ const SUPPORTED_LANGUAGES = ['ro', 'en'];
9
+ const TRANSLATIONS = {
10
+ en: {
11
+ loading: 'Loading, please wait ...',
12
+ error: 'It was an error while trying to fetch the data',
13
+ grid: 'Grid',
14
+ multiplier: 'Multiplier',
15
+ numberOfDraws: 'Number of draws',
16
+ wagerPerDraw: 'Wager per draw',
17
+ resetButton: 'Reset',
18
+ autoButton: 'I feel lucky'
19
+ },
20
+ ro: {
21
+ loading: 'Se incarca, va rugam asteptati ...',
22
+ error: 'A fost o eroare in timp ce asteptam datele',
23
+ grid: 'Grid',
24
+ multiplier: 'Multiplicator',
25
+ numberOfDraws: 'Numarul de extrageri',
26
+ wagerPerDraw: 'Pariul per extragere',
27
+ resetButton: 'Reseteaza',
28
+ autoButton: 'Ma simt norocos'
29
+ },
30
+ };
31
+ const translate = (key, customLang) => {
32
+ const lang = customLang;
33
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
34
+ };
35
+
36
+ const lotteryTicketCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.TicketTitle{font-size:16px;font-weight:bold}.ButtonContainer{display:flex;justify-content:flex-end}.Toggle{cursor:pointer;margin-top:20px;display:inline-block}.ToggleSwitch{display:inline-block;background:#707070;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%, #F1F1F1 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:#00ABA4}.ToggleCheckbox:checked+.ToggleSwitch:before{left:38px}.ToggleCheckbox{position:absolute;visibility:hidden}.Label{margin-right:5px;position:relative;top:2px;font-size:14px;font-weight:lighter;color:#000}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.NumberInput,.WagerInput{margin-top:10px;display:inline-flex;align-items:center}.NumberInput,.NumberInput *{box-sizing:border-box}.NumberInput button{cursor:pointer;outline:none;-webkit-appearance:none;border:none;align-items:center;justify-content:center;height:20px;position:relative}.NumberInput button:after{display:inline-block;position:absolute;transform:translate(-50%, -50%) rotate(180deg);align-items:center;text-align:center}.NumberInput button.Plus:after{transform:translate(-50%, -50%) rotate(0deg);width:30px;display:inline-flex;align-items:center;text-align:center}.NumberInput input[type=number],.WagerInput input[type=number]{max-width:50px;display:inline-flex;align-items:center;padding:4px 10px;text-align:center}.NumberInput input[type=number] .WagerInputTitle,.WagerInput input[type=number] .WagerInputTitle{font-size:14px;color:#000;padding:10px}.InputDefault{background-color:#F1F1F1;border-radius:4px;padding:5px;border:solid 1px #D4D4D4;color:#707070}.AutoButton{cursor:pointer;display:inline-block;border-radius:4px;padding:8px 20px;width:max-content;margin:5px 0;border:1px solid #00958f;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.AutoButton:active{background:#00958f;color:#FFF}.ResetButton{cursor:pointer;display:inline-block;border-radius:4px;padding:8px 20px;width:max-content;margin:5px 0;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0;background:#FF3D00;border:1px solid #FF3D00;color:#FFF}.ResetButton:hover{background:#FF6536;border:1px solid #FF3D00}.TicketGridBullets{background:#f1f1f1;border-radius:4px;padding:20px;margin-top:5px}.TicketGridBullets .TicketGridTitle{margin-top:0px}.Minus{border-radius:4px;width:30px;height:24px !important;margin-right:10px;color:#FFF;background:#009993}.Plus{border-radius:4px;width:30px;height:24px !important;margin-left:10px;color:#FFF;background:#009993}.SelectWrapper{width:auto;padding:5px;margin:0 auto;border:1px solid #ccc;border-radius:5px;position:relative}.SelectButton,.SelectOptions li{display:flex;align-items:center;cursor:pointer}.SelectButton{display:flex;padding:0 5px;border-radius:7px;align-items:center;justify-content:space-between;font-size:14px}.SelectButton span:first-child{padding-right:10px}.SelectExpand{transition:transform 0.3s linear;font-size:12px}.SelectActive .SelectExpand{transform:rotate(180deg)}.SelectContent{display:none;padding:5px;border-radius:7px}.SelectWrapper.SelectActive .SelectContent{width:100%;display:block;position:absolute;left:0;top:32px;padding:0;border:1px solid #ccc;overflow:hidden;background:#fff}.SelectContent .SelectOptions{max-height:100px;margin:0;overflow-y:auto;padding:0}.SelectContent .SelectOptions .SelectedValue{background-color:#009993;color:#fff}.SelectOptions::-webkit-scrollbar{width:7px}.SelectOptions::-webkit-scrollbar-track{background:#f1f1f1;border-radius:25px}.SelectOptions::-webkit-scrollbar-thumb{background:#ccc;border-radius:25px}.SelectOptions li{height:20px;padding:0 13px;font-size:14px}.SelectOptions li:hover{background:#f2f2f2}";
37
+
38
+ const LotteryTicket = class {
39
+ constructor(hostRef) {
40
+ index.registerInstance(this, hostRef);
41
+ this.ticketCompleted = index.createEvent(this, "ticketCompleted", 7);
42
+ this.autoSelection = index.createEvent(this, "autoSelection", 7);
43
+ this.resetSelection = index.createEvent(this, "resetSelection", 7);
44
+ this.stakeChange = index.createEvent(this, "stakeChange", 7);
45
+ this.multiplierChange = index.createEvent(this, "multiplierChange", 7);
46
+ /**
47
+ * Number of grids of a ticket
48
+ */
49
+ this.numberOfGrids = 1;
50
+ /**
51
+ * Option to have the ticket registered for multiple draws
52
+ */
53
+ this.multipleDraws = true;
54
+ /**
55
+ * Shows the reset button
56
+ */
57
+ this.resetButton = false;
58
+ /**
59
+ * Shows the auto-pick button
60
+ */
61
+ this.autoPick = false;
62
+ /**
63
+ * Language
64
+ */
65
+ this.language = 'en';
66
+ this.multiplier = false;
67
+ this.numberOfDraws = 1;
68
+ this.isLoading = true;
69
+ this.hasErrors = false;
70
+ this.ticketDone = false;
71
+ this.isCustomSelect = false;
72
+ this.amountInfo = {};
73
+ }
74
+ /**
75
+ * @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
76
+ */
77
+ checkForClickOutside(ev) {
78
+ if (ev.composedPath()[0].getAttribute('data-cluster') !== 'SelectComponent') {
79
+ this.isCustomSelect = false;
80
+ }
81
+ }
82
+ connectedCallback() {
83
+ let url = new URL(`${this.endpoint}/games/${this.gameId}`);
84
+ fetch(url.href)
85
+ .then((response) => {
86
+ if (response.ok) {
87
+ return response.json();
88
+ }
89
+ else {
90
+ // Throw error
91
+ this.hasErrors = true;
92
+ }
93
+ })
94
+ .then((data) => {
95
+ this.isLoading = false;
96
+ this.gameData = data;
97
+ this.grids = [...Array(data.rules.boards.length).keys()];
98
+ this.amountInfo = this.gameData.rules.stakes[0]; // initial value for select
99
+ })
100
+ .catch((err) => {
101
+ this.isLoading = false;
102
+ this.hasErrors = true;
103
+ console.error('Error!', err);
104
+ });
105
+ }
106
+ multiplierChangeHandler(e) {
107
+ this.multiplier = e.target ? e.target.checked : false;
108
+ this.multiplierChange.emit(this.multiplier);
109
+ }
110
+ drawsChangeHandler(event) {
111
+ this.ticket = Object.assign(Object.assign({}, this.ticket), { draws: event });
112
+ this.ticketCompleted.emit(this.ticket);
113
+ }
114
+ gridFilledHandler(event) {
115
+ this.ticket = Object.assign(Object.assign({}, event.detail), { draws: this.numberOfDraws });
116
+ this.ticketDone = true;
117
+ this.ticketCompleted.emit(this.ticket);
118
+ }
119
+ toggleAutoSelection() {
120
+ this.ticketDone = true;
121
+ this.autoSelection.emit(this.ticketId);
122
+ }
123
+ toggleResetSelection() {
124
+ this.ticketDone = false;
125
+ this.resetSelection.emit(this.ticketId);
126
+ }
127
+ changeStake(ticketid, amount) {
128
+ this.stakeChange.emit({
129
+ ticketId: ticketid,
130
+ stake: amount
131
+ });
132
+ }
133
+ toggleClass() {
134
+ this.isCustomSelect = !this.isCustomSelect;
135
+ }
136
+ setDropdownItem(item) {
137
+ this.amountInfo = {
138
+ amount: item.amount,
139
+ currency: item.currency
140
+ };
141
+ this.isCustomSelect = false;
142
+ this.changeStake(this.ticketId, item.amount);
143
+ }
144
+ render() {
145
+ if (this.isLoading) {
146
+ return (index.h("div", null, index.h("p", null, translate('loading', this.language))));
147
+ }
148
+ else {
149
+ if (this.hasErrors) {
150
+ return (index.h("div", null, index.h("p", null, translate('error', this.language))));
151
+ }
152
+ else {
153
+ const { rules } = this.gameData;
154
+ return (index.h("div", { class: "TicketContainer" }, index.h("p", { class: "TicketTitle" }, this.gameData.name), this.resetButton && this.ticketDone &&
155
+ index.h("div", { class: "ButtonContainer" }, index.h("a", { class: "ResetButton", onClick: () => this.toggleResetSelection() }, translate('resetButton', this.language))), this.autoPick && !this.ticketDone &&
156
+ index.h("div", { class: "ButtonContainer" }, index.h("a", { class: "AutoButton", onClick: () => this.toggleAutoSelection() }, translate('autoButton', this.language))), this.grids.map((item, index$1) => index.h("div", { class: "TicketGridBullets" }, index.h("p", { class: "TicketGridTitle" }, translate('grid', this.language), " ", item), index.h("lottery-grid", { "grid-index": index$1, "maximum-allowed": rules.boards[index$1].maximumAllowed, "minimum-allowed": rules.boards[index$1].minimumAllowed, "total-numbers": rules.boards[index$1].totalNumbers, selectable: true, "reset-button": true, "auto-pick": true, "game-id": this.gameId, "ticket-id": this.ticketId, language: this.language }))), rules.multiplier &&
157
+ index.h("div", null, index.h("label", { class: "Toggle" }, index.h("label", { class: "Label" }, translate('multiplier', this.language), ": "), index.h("input", { class: "ToggleCheckbox", type: "checkbox", onInput: (e) => this.multiplierChangeHandler(e) }), index.h("div", { class: "ToggleSwitch" }))), this.multipleDraws &&
158
+ index.h("div", { class: "TicketDraws" }, index.h("label", { class: "Label" }, translate('numberOfDraws', this.language), ": "), index.h("div", { class: "NumberInput" }, index.h("button", { onClick: () => this.numberOfDraws > 1 ? this.numberOfDraws-- : this.numberOfDraws = 1, class: "Minus" }, "-"), index.h("input", { class: "InputDefault", min: "1", value: this.numberOfDraws, type: "number" }), index.h("button", { onClick: () => this.numberOfDraws++, class: "Plus" }, "+"))), index.h("div", null, index.h("label", { class: "Label" }, translate('wagerPerDraw', this.language), ": "), index.h("div", { class: "WagerInput" }, rules.stakes.length > 1 ?
159
+ (index.h("div", { "data-cluster": "SelectComponent", class: this.isCustomSelect ? "SelectWrapper SelectActive" : "SelectWrapper" }, index.h("div", { "data-cluster": "SelectComponent", class: "SelectButton", onClick: () => this.toggleClass() }, index.h("span", { "data-cluster": "SelectComponent" }, this.amountInfo.amount, " ", this.amountInfo.currency), index.h("span", { "data-cluster": "SelectComponent", class: "SelectExpand" }, "\u25BC")), index.h("div", { "data-cluster": "SelectComponent", class: "SelectContent" }, index.h("ul", { "data-cluster": "SelectComponent", class: "SelectOptions" }, rules.stakes.map((item) => index.h("li", { "data-cluster": "SelectComponent", class: this.amountInfo.amount == item.amount ? 'SelectedValue' : '', value: item.amount, onClick: () => this.setDropdownItem(item) }, item.amount, " ", item.currency)))))) : (index.h("div", null, index.h("input", { min: "1", value: rules.stakes[0].amount, type: "number", disabled: true }), index.h("p", { class: "WagerInputTitle" }, rules.stakes[0].currency)))))));
160
+ }
161
+ }
162
+ }
163
+ static get watchers() { return {
164
+ "numberOfDraws": ["drawsChangeHandler"]
165
+ }; }
166
+ };
167
+ LotteryTicket.style = lotteryTicketCss;
168
+
169
+ exports.lottery_ticket = LotteryTicket;
@@ -39,6 +39,12 @@
39
39
  "helper-tabs"
40
40
  ]
41
41
  },
42
+ {
43
+ "name": "@everymatrix/lottery-bullet",
44
+ "tags": [
45
+ "lottery-bullet"
46
+ ]
47
+ },
42
48
  {
43
49
  "name": "@everymatrix/lottery-draw-results",
44
50
  "tags": [
@@ -56,6 +62,24 @@
56
62
  "tags": [
57
63
  "lottery-game-details"
58
64
  ]
65
+ },
66
+ {
67
+ "name": "@everymatrix/lottery-grid",
68
+ "tags": [
69
+ "lottery-grid"
70
+ ]
71
+ },
72
+ {
73
+ "name": "@everymatrix/lottery-ticket",
74
+ "tags": [
75
+ "lottery-ticket"
76
+ ]
77
+ },
78
+ {
79
+ "name": "@everymatrix/lottery-ticket-controller",
80
+ "tags": [
81
+ "lottery-ticket-controller"
82
+ ]
59
83
  }
60
84
  ],
61
85
  "bundles": [
@@ -37,6 +37,7 @@ export class LotteryGamePage {
37
37
  connectedCallback() {
38
38
  this.getGameDetails();
39
39
  this.getDraws();
40
+ console.log(this.language);
40
41
  if (this.sessionId) {
41
42
  this.isLoggedIn = true;
42
43
  }
@@ -510,4 +511,3 @@ export class LotteryGamePage {
510
511
  "passive": false
511
512
  }]; }
512
513
  }
513
- //# sourceMappingURL=lottery-game-page.js.map
@@ -1,2 +1 @@
1
1
  export * from './components';
2
- //# sourceMappingURL=index.js.map
@@ -75,4 +75,3 @@ export const translate = (key, customLang) => {
75
75
  const lang = customLang;
76
76
  return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
77
77
  };
78
- //# sourceMappingURL=locale.utils.js.map
@@ -10,4 +10,3 @@ export const isMobile = (userAgent) => {
10
10
  userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
11
11
  userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
12
12
  };
13
- //# sourceMappingURL=utils.js.map
@@ -4,5 +4,3 @@ const HelperAccordion = Accordion;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { HelperAccordion, defineCustomElement };
7
-
8
- //# sourceMappingURL=helper-accordion.js.map
@@ -114,5 +114,3 @@ function defineCustomElement() {
114
114
  defineCustomElement();
115
115
 
116
116
  export { Accordion as A, defineCustomElement as d };
117
-
118
- //# sourceMappingURL=helper-accordion2.js.map
@@ -4,5 +4,3 @@ const HelperFilters = HelperFilters$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { HelperFilters, defineCustomElement };
7
-
8
- //# sourceMappingURL=helper-filters.js.map
@@ -1,4 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import '@vaadin/date-picker';
2
3
  import { d as defineCustomElement$1 } from './helper-modal2.js';
3
4
 
4
5
  const DEFAULT_LANGUAGE = 'en';
@@ -127,7 +128,7 @@ const HelperFilters = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
127
128
  this.filterData.filterToCalendar = new Date(event.target.value).toISOString();
128
129
  }
129
130
  render() {
130
- return (h("div", { class: "HelperFilters" }, h("div", { class: "FilterButtonsWrapper" }, h("button", { class: "FilterOpen", onClick: () => this.toggleFilterModal() }, translate('filterOpen', this.language)), this.showClearButton ? h("button", { class: "FilterClear", onClick: () => this.resetSearch() }, translate('filterClear', this.language)) : null), h("helper-modal", { "title-modal": "Filter Modal", visible: this.showFilterModal }, h("div", { class: "FilterModalHeader" }, h("h3", { class: "FilterModalTitle" }, this.activateTicketSearch ? translate('filterModalTicketTitle', this.language) : translate('filterModalDrawTitle', this.language))), h("div", { class: "FilterModalBody" }, h("input", { id: "FilterById", type: "text", value: this.filterData.ticketDrawId, onInput: (event) => this.handleTicketDrawId(event), class: "FilterModalSearch", placeholder: this.activateTicketSearch ? translate('filterTicketPlaceholder', this.language) : translate('filterDrawPlaceholder', this.language) }), h("p", null, translate('filterOrDate', this.language)), h("div", { class: "FilterCalendarWrapper" })), h("div", { class: "FilterModalFooter" }, h("button", { class: "FilterModalButton", onClick: () => this.filterSearch() }, translate('filterModalButton', this.language))))));
131
+ return (h("div", { class: "HelperFilters" }, h("div", { class: "FilterButtonsWrapper" }, h("button", { class: "FilterOpen", onClick: () => this.toggleFilterModal() }, translate('filterOpen', this.language)), this.showClearButton ? h("button", { class: "FilterClear", onClick: () => this.resetSearch() }, translate('filterClear', this.language)) : null), h("helper-modal", { "title-modal": "Filter Modal", visible: this.showFilterModal }, h("div", { class: "FilterModalHeader" }, h("h3", { class: "FilterModalTitle" }, this.activateTicketSearch ? translate('filterModalTicketTitle', this.language) : translate('filterModalDrawTitle', this.language))), h("div", { class: "FilterModalBody" }, h("input", { id: "FilterById", type: "text", value: this.filterData.ticketDrawId, onInput: (event) => this.handleTicketDrawId(event), class: "FilterModalSearch", placeholder: this.activateTicketSearch ? translate('filterTicketPlaceholder', this.language) : translate('filterDrawPlaceholder', this.language) }), h("p", null, translate('filterOrDate', this.language)), h("div", { class: "FilterCalendarWrapper" }, h("vaadin-date-picker", { value: this.filterData.filterFromCalendar, onChange: (event) => this.handleFilterFrom(event), placeholder: translate('filterFromCalendar', this.language), class: "VaadinDatePicker" }), h("vaadin-date-picker", { value: this.filterData.filterToCalendar, onChange: (event) => this.handleFilterTo(event), placeholder: translate('filterToCalendar', this.language), class: "VaadinDatePicker" }))), h("div", { class: "FilterModalFooter" }, h("button", { class: "FilterModalButton", onClick: () => this.filterSearch() }, translate('filterModalButton', this.language))))));
131
132
  }
132
133
  static get style() { return helperFiltersCss; }
133
134
  }, [1, "helper-filters", {
@@ -164,5 +165,3 @@ function defineCustomElement() {
164
165
  defineCustomElement();
165
166
 
166
167
  export { HelperFilters as H, defineCustomElement as d };
167
-
168
- //# sourceMappingURL=helper-filters2.js.map
@@ -4,5 +4,3 @@ const HelperModal = HelperModal$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { HelperModal, defineCustomElement };
7
-
8
- //# sourceMappingURL=helper-modal.js.map
@@ -57,5 +57,3 @@ function defineCustomElement() {
57
57
  defineCustomElement();
58
58
 
59
59
  export { HelperModal as H, defineCustomElement as d };
60
-
61
- //# sourceMappingURL=helper-modal2.js.map
@@ -214,5 +214,3 @@ const HelperPagination = HelperPagination$1;
214
214
  const defineCustomElement = defineCustomElement$1;
215
215
 
216
216
  export { HelperPagination, defineCustomElement };
217
-
218
- //# sourceMappingURL=helper-pagination.js.map
@@ -4,5 +4,3 @@ const HelperTab = HelperTab$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { HelperTab, defineCustomElement };
7
-
8
- //# sourceMappingURL=helper-tab.js.map
@@ -50,5 +50,3 @@ function defineCustomElement() {
50
50
  defineCustomElement();
51
51
 
52
52
  export { HelperTab as H, defineCustomElement as d };
53
-
54
- //# sourceMappingURL=helper-tab2.js.map
@@ -4,5 +4,3 @@ const HelperTabs = HelperTabs$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { HelperTabs, defineCustomElement };
7
-
8
- //# sourceMappingURL=helper-tabs.js.map
@@ -61,5 +61,3 @@ function defineCustomElement() {
61
61
  defineCustomElement();
62
62
 
63
63
  export { HelperTabs as H, defineCustomElement as d };
64
-
65
- //# sourceMappingURL=helper-tabs2.js.map
@@ -1,3 +1 @@
1
1
  export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
2
-
3
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ import { L as LotteryBullet$1, d as defineCustomElement$1 } from './lottery-bullet2.js';
2
+
3
+ const LotteryBullet = LotteryBullet$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { LotteryBullet, defineCustomElement };
@@ -0,0 +1,57 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
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}";
4
+
5
+ const LotteryBullet = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.bulletEvent = createEvent(this, "lotteryBulletSelection", 7);
11
+ /**
12
+ * Value of the bullet
13
+ */
14
+ this.value = '0';
15
+ /**
16
+ * Marks if the bullet should be selectable
17
+ */
18
+ this.selectable = true;
19
+ /**
20
+ * Marks if the bullet should be selected
21
+ */
22
+ this.isSelected = false;
23
+ this.select = () => {
24
+ if (this.selectable) {
25
+ this.isSelected = !this.isSelected;
26
+ this.bulletEvent.emit({
27
+ value: this.value,
28
+ selected: this.isSelected
29
+ });
30
+ }
31
+ };
32
+ }
33
+ render() {
34
+ return (h("div", { class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : ''), onClick: () => this.select() }, this.value));
35
+ }
36
+ static get style() { return lotteryBulletCss; }
37
+ }, [1, "lottery-bullet", {
38
+ "value": [1],
39
+ "selectable": [4],
40
+ "isSelected": [4, "is-selected"]
41
+ }]);
42
+ function defineCustomElement() {
43
+ if (typeof customElements === "undefined") {
44
+ return;
45
+ }
46
+ const components = ["lottery-bullet"];
47
+ components.forEach(tagName => { switch (tagName) {
48
+ case "lottery-bullet":
49
+ if (!customElements.get(tagName)) {
50
+ customElements.define(tagName, LotteryBullet);
51
+ }
52
+ break;
53
+ } });
54
+ }
55
+ defineCustomElement();
56
+
57
+ export { LotteryBullet as L, defineCustomElement as d };
@@ -4,5 +4,3 @@ const LotteryDrawResultsHistory = LotteryDrawResultsHistory$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { LotteryDrawResultsHistory, defineCustomElement };
7
-
8
- //# sourceMappingURL=lottery-draw-results-history.js.map
@@ -1,8 +1,9 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import '@everymatrix/lottery-grid';
3
- import { d as defineCustomElement$3 } from './helper-filters2.js';
4
- import { d as defineCustomElement$2 } from './helper-modal2.js';
5
- import { d as defineCustomElement$1 } from './lottery-draw-results2.js';
2
+ import { d as defineCustomElement$5 } from './helper-filters2.js';
3
+ import { d as defineCustomElement$4 } from './helper-modal2.js';
4
+ import { d as defineCustomElement$3 } from './lottery-bullet2.js';
5
+ import { d as defineCustomElement$2 } from './lottery-draw-results2.js';
6
+ import { d as defineCustomElement$1 } from './lottery-grid2.js';
6
7
 
7
8
  const DEFAULT_LANGUAGE = 'en';
8
9
  const SUPPORTED_LANGUAGES = ['ro', 'en'];
@@ -176,7 +177,7 @@ function defineCustomElement() {
176
177
  if (typeof customElements === "undefined") {
177
178
  return;
178
179
  }
179
- const components = ["lottery-draw-results-history", "helper-filters", "helper-modal", "lottery-draw-results"];
180
+ const components = ["lottery-draw-results-history", "helper-filters", "helper-modal", "lottery-bullet", "lottery-draw-results", "lottery-grid"];
180
181
  components.forEach(tagName => { switch (tagName) {
181
182
  case "lottery-draw-results-history":
182
183
  if (!customElements.get(tagName)) {
@@ -185,15 +186,25 @@ function defineCustomElement() {
185
186
  break;
186
187
  case "helper-filters":
187
188
  if (!customElements.get(tagName)) {
188
- defineCustomElement$3();
189
+ defineCustomElement$5();
189
190
  }
190
191
  break;
191
192
  case "helper-modal":
192
193
  if (!customElements.get(tagName)) {
193
- defineCustomElement$2();
194
+ defineCustomElement$4();
195
+ }
196
+ break;
197
+ case "lottery-bullet":
198
+ if (!customElements.get(tagName)) {
199
+ defineCustomElement$3();
194
200
  }
195
201
  break;
196
202
  case "lottery-draw-results":
203
+ if (!customElements.get(tagName)) {
204
+ defineCustomElement$2();
205
+ }
206
+ break;
207
+ case "lottery-grid":
197
208
  if (!customElements.get(tagName)) {
198
209
  defineCustomElement$1();
199
210
  }
@@ -203,5 +214,3 @@ function defineCustomElement() {
203
214
  defineCustomElement();
204
215
 
205
216
  export { LotteryDrawResultsHistory as L, defineCustomElement as d };
206
-
207
- //# sourceMappingURL=lottery-draw-results-history2.js.map
@@ -4,5 +4,3 @@ const LotteryDrawResults = LotteryDrawResults$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { LotteryDrawResults, defineCustomElement };
7
-
8
- //# sourceMappingURL=lottery-draw-results.js.map
@@ -1,5 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import '@everymatrix/lottery-grid';
2
+ import { d as defineCustomElement$2 } from './lottery-bullet2.js';
3
+ import { d as defineCustomElement$1 } from './lottery-grid2.js';
3
4
 
4
5
  const DEFAULT_LANGUAGE = 'en';
5
6
  const SUPPORTED_LANGUAGES = ['ro', 'en'];
@@ -207,17 +208,25 @@ function defineCustomElement() {
207
208
  if (typeof customElements === "undefined") {
208
209
  return;
209
210
  }
210
- const components = ["lottery-draw-results"];
211
+ const components = ["lottery-draw-results", "lottery-bullet", "lottery-grid"];
211
212
  components.forEach(tagName => { switch (tagName) {
212
213
  case "lottery-draw-results":
213
214
  if (!customElements.get(tagName)) {
214
215
  customElements.define(tagName, LotteryDrawResults);
215
216
  }
216
217
  break;
218
+ case "lottery-bullet":
219
+ if (!customElements.get(tagName)) {
220
+ defineCustomElement$2();
221
+ }
222
+ break;
223
+ case "lottery-grid":
224
+ if (!customElements.get(tagName)) {
225
+ defineCustomElement$1();
226
+ }
227
+ break;
217
228
  } });
218
229
  }
219
230
  defineCustomElement();
220
231
 
221
232
  export { LotteryDrawResults as L, defineCustomElement as d };
222
-
223
- //# sourceMappingURL=lottery-draw-results2.js.map
@@ -4,5 +4,3 @@ const LotteryGameDetails = LotteryGameDetails$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { LotteryGameDetails, defineCustomElement };
7
-
8
- //# sourceMappingURL=lottery-game-details.js.map
@@ -47,5 +47,3 @@ function defineCustomElement() {
47
47
  defineCustomElement();
48
48
 
49
49
  export { LotteryGameDetails as L, defineCustomElement as d };
50
-
51
- //# sourceMappingURL=lottery-game-details2.js.map