@everymatrix/lottery-grid 1.52.6 → 1.53.10

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.
@@ -1,12 +1,37 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-610c64ca.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-7b1959d3.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, 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}";
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:var(--emw--button-text-color, #000);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 var(--emw--color-gray-transparency-100, rgb(255, 255, 255));background:radial-gradient(circle at top, var(--emw--color-gray-transparency-100, rgb(255, 255, 255)) 0%, var(--emw--color-gray-transparency-100, 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, var(--emw--color-gray-transparency-100, rgb(255, 255, 255)) 0%, var(--emw--color-gray-50, #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:var(--emw--color-gray-transparency-100, rgb(255, 255, 255));background:var(--emw--color-primary, #9EC258);background:-webkit-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:-moz-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:radial-gradient(circle at top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));border:solid 2px var(--emw--button-border-color, #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:var(--emw--color-gray-50, #F1F1F1);background:var(--emw--color-gray-100, #D4D4D4);border:solid 2px var(--emw--color-gray-100, #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:var(--emw--color-gray-50, #F1F1F1);background:var(--emw--color-primary, #9EC258);background:-webkit-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:-moz-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:radial-gradient(circle at top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));border:solid 2px var(--emw--color-gray-100, #D4D4D4);cursor:default}.Circle.Bonus{background:var(--emw--color-error, #FF3D00)}";
4
4
  const LotteryBulletStyle0 = lotteryBulletCss;
5
5
 
6
6
  const LotteryBullet = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
9
  this.bulletEvent = createEvent(this, "lotteryBulletSelection", 7);
10
+ /**
11
+ * Value of the bullet
12
+ */
13
+ this.value = '0';
14
+ /**
15
+ * Marks if the bullet should be selectable
16
+ */
17
+ this.selectable = true;
18
+ /**
19
+ * Marks if the bullet should be selected
20
+ */
21
+ this.isSelected = false;
22
+ /**
23
+ * Marks if the number is bonus number.
24
+ */
25
+ this.isBonus = false;
26
+ /**
27
+ * Client custom styling via string
28
+ */
29
+ this.clientStyling = '';
30
+ /**
31
+ * Client custom styling via url content
32
+ */
33
+ this.clientStylingUrlContent = '';
34
+ this.limitStylingAppends = false;
10
35
  this.select = () => {
11
36
  if (this.selectable) {
12
37
  this.isSelected = !this.isSelected;
@@ -28,12 +53,6 @@ const LotteryBullet = class {
28
53
  this.stylingContainer.prepend(cssFile);
29
54
  }, 1);
30
55
  };
31
- this.value = '0';
32
- this.selectable = true;
33
- this.isSelected = false;
34
- this.clientStyling = '';
35
- this.clientStylingUrlContent = '';
36
- this.limitStylingAppends = false;
37
56
  }
38
57
  componentDidRender() {
39
58
  // start custom styling area
@@ -47,7 +66,7 @@ const LotteryBullet = class {
47
66
  // end custom styling area
48
67
  }
49
68
  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));
69
+ return (h("div", { key: 'a21cbee8f556bfbbe9f97be5f44bfc08b6f24dd6', class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : '') + (this.isBonus ? ' Bonus' : ''), onClick: () => this.select(), ref: el => this.stylingContainer = el }, this.value));
51
70
  }
52
71
  };
53
72
  LotteryBullet.style = LotteryBulletStyle0;
@@ -60,6 +79,76 @@ const LotteryGrid = class {
60
79
  registerInstance(this, hostRef);
61
80
  this.gridFilledEvent = createEvent(this, "gridFilled", 7);
62
81
  this.gridDirtyEvent = createEvent(this, "gridDirty", 7);
82
+ this.gridClearAllEvent = createEvent(this, "gridClearAllEvent", 7);
83
+ /**
84
+ * Number of bullets of grid
85
+ */
86
+ this.totalNumbers = 0;
87
+ /**
88
+ * Number of maximum bullets that can be selected
89
+ */
90
+ this.maximumAllowed = 7;
91
+ /**
92
+ * Minimum allowed of bullets
93
+ */
94
+ this.minimumAllowed = 3;
95
+ /**
96
+ * Allows the user to select numbers on the grid
97
+ */
98
+ this.selectable = true;
99
+ /**
100
+ * Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')
101
+ */
102
+ this.selectedNumbers = '';
103
+ /**
104
+ * Bonus numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1')
105
+ */
106
+ this.secondaryNumbers = '';
107
+ /**
108
+ * Show only selected numbers
109
+ */
110
+ this.displaySelected = false;
111
+ /**
112
+ * Language
113
+ */
114
+ this.language = 'en';
115
+ /**
116
+ * Personalize grid for ticket
117
+ */
118
+ this.gridType = '';
119
+ /**
120
+ * Client custom styling via string
121
+ */
122
+ this.clientStyling = '';
123
+ /**
124
+ * Client custom styling via url content
125
+ */
126
+ this.clientStylingUrlContent = '';
127
+ /**
128
+ * Maximum number of the grid
129
+ */
130
+ this.highNumber = 47;
131
+ /**
132
+ * Lowest number of the grid
133
+ */
134
+ this.lowNumber = 1;
135
+ /**
136
+ * Type of selection
137
+ */
138
+ this.selectionType = 'mainSelection';
139
+ /**
140
+ * Allows partial quickpick or not
141
+ */
142
+ this.partialQuickpickAvailable = false;
143
+ /**
144
+ * main selection numbers
145
+ */
146
+ this.numbers = [];
147
+ /**
148
+ * Bonus selection numbers
149
+ */
150
+ this.bonusNumbers = [];
151
+ this.limitStylingAppends = false;
63
152
  this.selectedCounter = 0;
64
153
  this.setClientStyling = () => {
65
154
  let sheet = document.createElement('style');
@@ -73,21 +162,6 @@ const LotteryGrid = class {
73
162
  this.stylingContainer.prepend(cssFile);
74
163
  }, 1);
75
164
  };
76
- this.ticketId = undefined;
77
- this.totalNumbers = 0;
78
- this.gameId = undefined;
79
- this.maximumAllowed = 0;
80
- this.minimumAllowed = 1;
81
- this.selectable = true;
82
- this.selectedNumbers = '';
83
- this.displaySelected = false;
84
- this.language = 'en';
85
- this.gridIndex = undefined;
86
- this.gridType = '';
87
- this.clientStyling = '';
88
- this.clientStylingUrlContent = '';
89
- this.numbers = [];
90
- this.limitStylingAppends = false;
91
165
  }
92
166
  connectedCallback() {
93
167
  let selected = [];
@@ -95,6 +169,15 @@ const LotteryGrid = class {
95
169
  selected = this.selectedNumbers.split(',');
96
170
  this.selectedCounter = selected.length;
97
171
  }
172
+ if (this.secondaryNumbers.length > 0) {
173
+ this.bonusNumbers = this.secondaryNumbers.split(',').map(item => {
174
+ return {
175
+ number: item,
176
+ selected: true,
177
+ selectable: this.selectable
178
+ };
179
+ });
180
+ }
98
181
  if (this.displaySelected) {
99
182
  selected.forEach((item) => {
100
183
  this.numbers.push({
@@ -105,9 +188,8 @@ const LotteryGrid = class {
105
188
  });
106
189
  }
107
190
  else {
108
- [...Array(this.totalNumbers).keys()]
109
- .map(number => (number + 1).toString())
110
- .forEach((number) => {
191
+ let gridNumbers = Array.from({ length: this.highNumber - this.lowNumber + 1 }, (_, index) => this.lowNumber + index);
192
+ gridNumbers.map(number => number.toString()).forEach((number) => {
111
193
  this.numbers.push({
112
194
  number,
113
195
  selected: selected.indexOf(number) >= 0 ? true : false,
@@ -138,56 +220,81 @@ const LotteryGrid = class {
138
220
  }
139
221
  lotteryBulletSelectionHandler(event) {
140
222
  this.numbers = this.numbers.map((item) => {
141
- if (item.number == event.detail.value) {
142
- return {
143
- number: item.number,
144
- selected: event.detail.selected,
145
- selectable: item.selectable
146
- };
147
- }
148
223
  return {
149
224
  number: item.number,
150
- selected: item.selected,
225
+ selected: item.number == event.detail.value ? event.detail.selected : item.selected,
151
226
  selectable: item.selectable
152
227
  };
153
228
  });
154
229
  if (event.detail.selected) {
155
230
  this.selectedCounter += 1;
156
- if (this.selectedCounter == this.maximumAllowed) {
231
+ if (this.selectedCounter >= this.minimumAllowed && this.selectedCounter <= this.maximumAllowed) {
157
232
  this.numbers = this.numbers.map((item) => {
158
- return {
159
- number: item.number,
160
- selected: item.selected,
161
- selectable: item.selected ? true : false
162
- };
233
+ if (this.selectedCounter === this.maximumAllowed) {
234
+ return {
235
+ number: item.number,
236
+ selected: item.selected,
237
+ selectable: item.selected ? true : false
238
+ };
239
+ }
240
+ else {
241
+ return {
242
+ number: item.number,
243
+ selected: item.selected,
244
+ selectable: true
245
+ };
246
+ }
163
247
  });
164
- this.gridFilledEvent.emit({
248
+ if (JSON.parse(this.numberRange).includes(this.selectedCounter)) {
249
+ this.gridFilledEvent.emit({
250
+ id: this.ticketId,
251
+ index: this.gridIndex,
252
+ selectionType: this.selectionType,
253
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
254
+ });
255
+ }
256
+ else {
257
+ this.gridDirtyEvent.emit({
258
+ id: this.ticketId,
259
+ index: this.gridIndex,
260
+ selectionType: this.selectionType,
261
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
262
+ });
263
+ }
264
+ }
265
+ }
266
+ else {
267
+ this.selectedCounter -= 1;
268
+ this.numbers = this.numbers.map((item) => {
269
+ return {
270
+ number: item.number,
271
+ selected: item.selected,
272
+ selectable: true
273
+ };
274
+ });
275
+ if (this.selectedCounter < this.minimumAllowed) {
276
+ this.gridDirtyEvent.emit({
165
277
  id: this.ticketId,
166
278
  index: this.gridIndex,
279
+ selectionType: this.selectionType,
167
280
  selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
168
281
  });
169
282
  }
170
- }
171
- else {
172
- if (this.selectedCounter == this.maximumAllowed) {
173
- this.numbers = this.numbers.map((item) => {
174
- return {
175
- number: item.number,
176
- selected: item.selected,
177
- selectable: true
178
- };
179
- });
180
- this.gridDirtyEvent.emit({
283
+ else {
284
+ this.gridFilledEvent.emit({
181
285
  id: this.ticketId,
182
286
  index: this.gridIndex,
287
+ selectionType: this.selectionType,
183
288
  selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
184
289
  });
185
290
  }
186
- this.selectedCounter -= 1;
291
+ if (this.selectedCounter === 0) {
292
+ this.gridClearAllEvent.emit(this.gridIndex);
293
+ }
187
294
  }
188
295
  }
189
296
  async resetSelectionHandler(event) {
190
- if (event.detail && event.detail == this.ticketId) {
297
+ if (event.detail && event.detail.ticketId == this.ticketId && event.detail.index === this.gridIndex) {
191
298
  this.selectedCounter = 0;
192
299
  this.numbers = this.numbers.map((item) => {
193
300
  return {
@@ -199,34 +306,35 @@ const LotteryGrid = class {
199
306
  this.gridDirtyEvent.emit({
200
307
  id: this.ticketId,
201
308
  index: this.gridIndex,
202
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
309
+ selectionType: this.selectionType,
310
+ selectedNumbers: []
203
311
  });
204
312
  }
205
313
  }
206
314
  async autoSelectionHandler(event) {
207
- if (event.detail && event.detail == this.ticketId) {
315
+ if (event.detail && event.detail.ticketId == this.ticketId && event.detail.index === this.gridIndex) {
208
316
  this.resetSelectionHandler(event);
209
- let array = [...Array(this.totalNumbers).keys()]
210
- .map(number => number + 1);
317
+ let array = Array.from({ length: this.highNumber - this.lowNumber + 1 }, (_, index) => this.lowNumber + index);
211
318
  array = this.shuffleArray(array);
212
319
  array = array.slice(0, this.minimumAllowed);
213
320
  this.numbers = this.numbers.map((item) => {
214
321
  return {
215
322
  number: item.number,
216
323
  selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
217
- selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
324
+ selectable: this.partialQuickpickAvailable ? array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false : false,
218
325
  };
219
326
  });
220
327
  this.gridFilledEvent.emit({
221
328
  id: this.ticketId,
222
329
  index: this.gridIndex,
330
+ selectionType: this.selectionType,
223
331
  selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
224
332
  });
225
- this.selectedCounter = this.maximumAllowed;
333
+ this.selectedCounter = this.minimumAllowed;
226
334
  }
227
335
  }
228
336
  render() {
229
- 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 }))))));
337
+ return (h("div", { key: '8ad436904a126e6bee036c7372cf45c075022e5f', class: "GridContainer", ref: el => this.stylingContainer = el }, h("div", { key: '5a8818209485f0808a99978910f6f26473dd6f59', 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 }))), this.bonusNumbers.length ? this.bonusNumbers.map((item) => h("div", null, h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected, "is-bonus": true, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))) : '')));
230
338
  }
231
339
  };
232
340
  LotteryGrid.style = LotteryGridStyle0;
@@ -1,9 +1,9 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-610c64ca.js';
2
- export { s as setNonce } from './index-610c64ca.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-7b1959d3.js';
2
+ export { s as setNonce } from './index-7b1959d3.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  /*
6
- Stencil Client Patch Browser v4.22.3 | MIT Licensed | https://stenciljs.com
6
+ Stencil Client Patch Browser v4.25.1 | MIT Licensed | https://stenciljs.com
7
7
  */
8
8
  var patchBrowser = () => {
9
9
  const importMeta = import.meta.url;
@@ -16,5 +16,5 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy([["lottery-bullet_2",[[1,"lottery-grid",{"ticketId":[514,"ticket-id"],"totalNumbers":[514,"total-numbers"],"gameId":[513,"game-id"],"maximumAllowed":[514,"maximum-allowed"],"minimumAllowed":[514,"minimum-allowed"],"selectable":[516],"selectedNumbers":[513,"selected-numbers"],"displaySelected":[516,"display-selected"],"language":[513],"gridIndex":[514,"grid-index"],"gridType":[513,"grid-type"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"numbers":[32],"limitStylingAppends":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[513],"selectable":[516],"isSelected":[516,"is-selected"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
19
+ return bootstrapLazy([["lottery-bullet_2",[[1,"lottery-grid",{"ticketId":[514,"ticket-id"],"totalNumbers":[514,"total-numbers"],"gameId":[513,"game-id"],"maximumAllowed":[514,"maximum-allowed"],"minimumAllowed":[514,"minimum-allowed"],"numberRange":[513,"number-range"],"selectable":[516],"selectedNumbers":[513,"selected-numbers"],"secondaryNumbers":[513,"secondary-numbers"],"displaySelected":[516,"display-selected"],"language":[513],"gridIndex":[514,"grid-index"],"gridType":[513,"grid-type"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"highNumber":[514,"high-number"],"lowNumber":[514,"low-number"],"selectionType":[513,"selection-type"],"partialQuickpickAvailable":[516,"partial-quickpick-available"],"numbers":[32],"bonusNumbers":[32],"limitStylingAppends":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[513],"selectable":[516],"isSelected":[516,"is-selected"],"isBonus":[516,"is-bonus"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
20
20
  });
@@ -1 +1 @@
1
- import{p as e,b as t}from"./p-a2add9a5.js";export{s as setNonce}from"./p-a2add9a5.js";import{g as l}from"./p-e1255160.js";(()=>{const t=import.meta.url,l={};return""!==t&&(l.resourcesUrl=new URL(".",t).href),e(l)})().then((async e=>(await l(),t([["p-95806832",[[1,"lottery-grid",{ticketId:[514,"ticket-id"],totalNumbers:[514,"total-numbers"],gameId:[513,"game-id"],maximumAllowed:[514,"maximum-allowed"],minimumAllowed:[514,"minimum-allowed"],selectable:[516],selectedNumbers:[513,"selected-numbers"],displaySelected:[516,"display-selected"],language:[513],gridIndex:[514,"grid-index"],gridType:[513,"grid-type"],clientStyling:[513,"client-styling"],clientStylingUrlContent:[513,"client-styling-url-content"],numbers:[32],limitStylingAppends:[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{value:[513],selectable:[516],isSelected:[516,"is-selected"],clientStyling:[513,"client-styling"],clientStylingUrlContent:[513,"client-styling-url-content"],limitStylingAppends:[32]}]]]],e))));
1
+ import{p as e,b as t}from"./p-3502867c.js";export{s as setNonce}from"./p-3502867c.js";import{g as l}from"./p-e1255160.js";(()=>{const t=import.meta.url,l={};return""!==t&&(l.resourcesUrl=new URL(".",t).href),e(l)})().then((async e=>(await l(),t([["p-c5f385e4",[[1,"lottery-grid",{ticketId:[514,"ticket-id"],totalNumbers:[514,"total-numbers"],gameId:[513,"game-id"],maximumAllowed:[514,"maximum-allowed"],minimumAllowed:[514,"minimum-allowed"],numberRange:[513,"number-range"],selectable:[516],selectedNumbers:[513,"selected-numbers"],secondaryNumbers:[513,"secondary-numbers"],displaySelected:[516,"display-selected"],language:[513],gridIndex:[514,"grid-index"],gridType:[513,"grid-type"],clientStyling:[513,"client-styling"],clientStylingUrlContent:[513,"client-styling-url-content"],highNumber:[514,"high-number"],lowNumber:[514,"low-number"],selectionType:[513,"selection-type"],partialQuickpickAvailable:[516,"partial-quickpick-available"],numbers:[32],bonusNumbers:[32],limitStylingAppends:[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{value:[513],selectable:[516],isSelected:[516,"is-selected"],isBonus:[516,"is-bonus"],clientStyling:[513,"client-styling"],clientStylingUrlContent:[513,"client-styling-url-content"],limitStylingAppends:[32]}]]]],e))));
@@ -0,0 +1,2 @@
1
+ var e=Object.defineProperty,t=new WeakMap,n=e=>t.get(e),o=(e,n)=>{t.set(n.t=e,n)},l=(e,t)=>t in e,s=(e,t)=>(0,console.error)(e,t),i=new Map,r=new Map,c="slot-fb{display:contents}slot-fb[hidden]{display:none}",u="undefined"!=typeof window?window:{},a=u.document||{head:{}},f={o:0,l:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,o)=>e.addEventListener(t,n,o),rel:(e,t,n,o)=>e.removeEventListener(t,n,o),ce:(e,t)=>new CustomEvent(e,t)},h=e=>Promise.resolve(e),d=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),p=!1,m=[],y=[],v=(e,t)=>n=>{e.push(n),p||(p=!0,t&&4&f.o?w($):f.raf($))},b=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){s(e)}e.length=0},$=()=>{b(m),b(y),(p=m.length>0)&&f.raf($)},w=e=>h().then(e),S=v(y,!0),g=e=>"object"==(e=typeof e)||"function"===e;function j(e){var t,n,o;return null!=(o=null==(n=null==(t=e.head)?void 0:t.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?o:void 0}((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})({},{err:()=>O,map:()=>E,ok:()=>k,unwrap:()=>M,unwrapErr:()=>x});var k=e=>({isOk:!0,isErr:!1,value:e}),O=e=>({isOk:!1,isErr:!0,value:e});function E(e,t){if(e.isOk){const n=t(e.value);return n instanceof Promise?n.then((e=>k(e))):k(n)}if(e.isErr)return O(e.value);throw"should never get here"}var C,M=e=>{if(e.isOk)return e.value;throw e.value},x=e=>{if(e.isErr)return e.value;throw e.value},P=(e,t,...n)=>{let o=null,l=null,s=!1,i=!1;const r=[],c=t=>{for(let n=0;n<t.length;n++)o=t[n],Array.isArray(o)?c(o):null!=o&&"boolean"!=typeof o&&((s="function"!=typeof e&&!g(o))&&(o+=""),s&&i?r[r.length-1].i+=o:r.push(s?A(null,o):o),i=s)};if(c(n),t){t.key&&(l=t.key);{const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}}const u=A(e,null);return u.u=t,r.length>0&&(u.h=r),u.p=l,u},A=(e,t)=>({o:0,m:e,i:t,v:null,h:null,u:null,p:null}),R={},D=(e,t)=>null==e||g(e)?e:4&t?"false"!==e&&(""===e||!!e):2&t?parseFloat(e):1&t?e+"":e,H=(e,t,o)=>{const l=(e=>n(e).$hostElement$)(e);return{emit:e=>N(l,t,{bubbles:!!(4&o),composed:!!(2&o),cancelable:!!(1&o),detail:e})}},N=(e,t,n)=>{const o=f.ce(t,n);return e.dispatchEvent(o),o},T=new WeakMap,F=e=>"sc-"+e.$,U=(e,t,n,o,s,i)=>{if(n!==o){let r=l(e,t),c=t.toLowerCase();if("class"===t){const t=e.classList,l=V(n);let s=V(o);t.remove(...l.filter((e=>e&&!s.includes(e)))),t.add(...s.filter((e=>e&&!l.includes(e))))}else if("key"===t);else if("ref"===t)o&&o(e);else if(r||"o"!==t[0]||"n"!==t[1]){const l=g(o);if((r||l&&null!==o)&&!s)try{if(e.tagName.includes("-"))e[t]!==o&&(e[t]=o);else{const l=null==o?"":o;"list"===t?r=!1:null!=n&&e[t]==l||("function"==typeof e.__lookupSetter__(t)?e[t]=l:e.setAttribute(t,l))}}catch(e){}null==o||!1===o?!1===o&&""!==e.getAttribute(t)||e.removeAttribute(t):(!r||4&i||s)&&!l&&e.setAttribute(t,o=!0===o?"":o)}else if(t="-"===t[2]?t.slice(3):l(u,c)?c.slice(2):c[2]+t.slice(3),n||o){const l=t.endsWith(W);t=t.replace(q,""),n&&f.rel(e,t,n,l),o&&f.ael(e,t,o,l)}}},L=/\s/,V=e=>("object"==typeof e&&e&&"baseVal"in e&&(e=e.baseVal),e&&"string"==typeof e?e.split(L):[]),W="Capture",q=RegExp(W+"$"),G=(e,t,n)=>{const o=11===t.v.nodeType&&t.v.host?t.v.host:t.v,l=e&&e.u||{},s=t.u||{};for(const e of _(Object.keys(l)))e in s||U(o,e,l[e],void 0,n,t.o);for(const e of _(Object.keys(s)))U(o,e,l[e],s[e],n,t.o)};function _(e){return e.includes("ref")?[...e.filter((e=>"ref"!==e)),"ref"]:e}var z=!1,B=(e,t,n)=>{const o=t.h[n];let l,s,i=0;if(null!==o.i)l=o.v=a.createTextNode(o.i);else if(l=o.v=a.createElement(o.m),G(null,o,z),o.h)for(i=0;i<o.h.length;++i)s=B(e,o,i),s&&l.appendChild(s);return l["s-hn"]=C,l},I=(e,t,n,o,l,s)=>{let i,r=e;for(r.shadowRoot&&r.tagName===C&&(r=r.shadowRoot);l<=s;++l)o[l]&&(i=B(null,n,l),i&&(o[l].v=i,Y(r,i,t)))},J=(e,t,n)=>{for(let o=t;o<=n;++o){const t=e[o];if(t){const e=t.v;X(t),e&&e.remove()}}},K=(e,t,n=!1)=>e.m===t.m&&(n?(n&&!e.p&&t.p&&(e.p=t.p),!0):e.p===t.p),Q=(e,t,n=!1)=>{const o=t.v=e.v,l=e.h,s=t.h,i=t.i;null===i?(G(e,t,z),null!==l&&null!==s?((e,t,n,o,l=!1)=>{let s,i,r=0,c=0,u=0,a=0,f=t.length-1,h=t[0],d=t[f],p=o.length-1,m=o[0],y=o[p];for(;r<=f&&c<=p;)if(null==h)h=t[++r];else if(null==d)d=t[--f];else if(null==m)m=o[++c];else if(null==y)y=o[--p];else if(K(h,m,l))Q(h,m,l),h=t[++r],m=o[++c];else if(K(d,y,l))Q(d,y,l),d=t[--f],y=o[--p];else if(K(h,y,l))Q(h,y,l),Y(e,h.v,d.v.nextSibling),h=t[++r],y=o[--p];else if(K(d,m,l))Q(d,m,l),Y(e,d.v,h.v),d=t[--f],m=o[++c];else{for(u=-1,a=r;a<=f;++a)if(t[a]&&null!==t[a].p&&t[a].p===m.p){u=a;break}u>=0?(i=t[u],i.m!==m.m?s=B(t&&t[c],n,u):(Q(i,m,l),t[u]=void 0,s=i.v),m=o[++c]):(s=B(t&&t[c],n,c),m=o[++c]),s&&Y(h.v.parentNode,s,h.v)}r>f?I(e,null==o[p+1]?null:o[p+1].v,n,o,c,p):c>p&&J(t,r,f)})(o,l,t,s,n):null!==s?(null!==e.i&&(o.textContent=""),I(o,null,t,s,0,s.length-1)):!n&&null!==l&&J(l,0,l.length-1)):e.i!==i&&(o.data=i)},X=e=>{e.u&&e.u.ref&&e.u.ref(null),e.h&&e.h.map(X)},Y=(e,t,n)=>null==e?void 0:e.insertBefore(t,n),Z=(e,t)=>{if(t&&!e.S&&t["s-p"]){const n=t["s-p"].push(new Promise((o=>e.S=()=>{t["s-p"].splice(n-1,1),o()})))}},ee=(e,t)=>{if(e.o|=16,!(4&e.o))return Z(e,e.j),S((()=>te(e,t)));e.o|=512},te=(e,t)=>{const n=e.$hostElement$,o=e.t;if(!o)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);return t&&(e.o|=256,e.k&&(e.k.map((([e,t])=>ce(o,e,t,n))),e.k=void 0)),ne(void 0,(()=>le(e,o,t)))},ne=(e,t)=>oe(e)?e.then(t).catch((e=>{console.error(e),t()})):t(),oe=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,le=async(e,t,n)=>{var o;const l=e.$hostElement$,s=l["s-rc"];n&&(e=>{const t=e.O,n=e.$hostElement$,o=t.o,l=((e,t)=>{var n;const o=F(t),l=r.get(o);if(e=11===e.nodeType?e:a,l)if("string"==typeof l){let s,i=T.get(e=e.head||e);if(i||T.set(e,i=new Set),!i.has(o)){{s=document.querySelector(`[sty-id="${o}"]`)||a.createElement("style"),s.innerHTML=l;const i=null!=(n=f.C)?n:j(a);if(null!=i&&s.setAttribute("nonce",i),!(1&t.o))if("HEAD"===e.nodeName){const t=e.querySelectorAll("link[rel=preconnect]"),n=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(s,(null==n?void 0:n.parentNode)===e?n:null)}else if("host"in e)if(d){const t=new CSSStyleSheet;t.replaceSync(l),e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector("style");t?t.innerHTML=l+t.innerHTML:e.prepend(s)}else e.append(s);1&t.o&&"HEAD"!==e.nodeName&&e.insertBefore(s,null)}4&t.o&&(s.innerHTML+=c),i&&i.add(o)}}else e.adoptedStyleSheets.includes(l)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,l]);return o})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&o&&2&o&&(n["s-sc"]=l,n.classList.add(l+"-h"))})(e);se(e,t,l,n),s&&(s.map((e=>e())),l["s-rc"]=void 0);{const t=null!=(o=l["s-p"])?o:[],n=()=>ie(e);0===t.length?n():(Promise.all(t).then(n),e.o|=4,t.length=0)}},se=(e,t,n,o)=>{try{t=t.render(),e.o&=-17,e.o|=2,((e,t,n=!1)=>{const o=e.$hostElement$,l=e.O,s=e.M||A(null,null),i=(e=>e&&e.m===R)(t)?t:P(null,null,t);if(C=o.tagName,l.P&&(i.u=i.u||{},l.P.map((([e,t])=>i.u[t]=o[e]))),n&&i.u)for(const e of Object.keys(i.u))o.hasAttribute(e)&&!["key","ref","style","class"].includes(e)&&(i.u[e]=o[e]);i.m=null,i.o|=4,e.M=i,i.v=s.v=o.shadowRoot||o,Q(s,i,n)})(e,t,o)}catch(t){s(t,e.$hostElement$)}return null},ie=e=>{const t=e.$hostElement$,n=e.j;ce(e.t,"componentDidRender",void 0,t),64&e.o||(e.o|=64,ue(t),e.A(t),n||re()),e.S&&(e.S(),e.S=void 0),512&e.o&&w((()=>ee(e,!1))),e.o&=-517},re=()=>{ue(a.documentElement),w((()=>N(u,"appload",{detail:{namespace:"lottery-grid"}})))},ce=(e,t,n,o)=>{if(e&&e[t])try{return e[t](n)}catch(e){s(e,o)}},ue=e=>e.classList.add("hydrated"),ae=(e,t,o,l)=>{const s=n(e);if(!s)throw Error(`Couldn't find host element for "${l.$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`);const i=s.R.get(t),r=s.o,c=s.t;o=D(o,l.D[t][0]),8&r&&void 0!==i||o===i||Number.isNaN(i)&&Number.isNaN(o)||(s.R.set(t,o),c&&2==(18&r)&&ee(s,!1))},fe=(e,t,o)=>{var l,s;const i=e.prototype;if(t.D){const r=Object.entries(null!=(l=t.D)?l:{});if(r.map((([e,[l]])=>{if(31&l||2&o&&32&l){const{get:s,set:r}=Object.getOwnPropertyDescriptor(i,e)||{};s&&(t.D[e][0]|=2048),r&&(t.D[e][0]|=4096),(1&o||!s)&&Object.defineProperty(i,e,{get(){{if(!(2048&t.D[e][0]))return((e,t)=>n(this).R.get(t))(0,e);const o=n(this),l=o?o.t:i;if(!l)return;return l[e]}},configurable:!0,enumerable:!0}),Object.defineProperty(i,e,{set(s){const i=n(this);if(r){const n=32&l?this[e]:i.$hostElement$[e];return void 0===n&&i.R.get(e)?s=i.R.get(e):!i.R.get(e)&&n&&i.R.set(e,n),r.call(this,D(s,l)),void ae(this,e,s=32&l?this[e]:i.$hostElement$[e],t)}{if(!(1&o&&4096&t.D[e][0]))return ae(this,e,s,t),void(1&o&&!i.t&&i.H.then((()=>{4096&t.D[e][0]&&i.t[e]!==i.R.get(e)&&(i.t[e]=s)})));const n=()=>{const n=i.t[e];!i.R.get(e)&&n&&i.R.set(e,n),i.t[e]=D(s,l),ae(this,e,i.t[e],t)};i.t?n():i.H.then((()=>n()))}}})}})),1&o){const o=new Map;i.attributeChangedCallback=function(e,l,s){f.jmp((()=>{var r;const c=o.get(e);if(this.hasOwnProperty(c))s=this[c],delete this[c];else{if(i.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==s)return;if(null==c){const o=n(this),i=null==o?void 0:o.o;if(i&&!(8&i)&&128&i&&s!==l){const n=o.t,i=null==(r=t.N)?void 0:r[e];null==i||i.forEach((t=>{null!=n[t]&&n[t].call(n,s,l,e)}))}return}}const u=Object.getOwnPropertyDescriptor(i,c);(s=(null!==s||"boolean"!=typeof this[c])&&s)===this[c]||u.get&&!u.set||(this[c]=s)}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(s=t.N)?s:{}),...r.filter((([e,t])=>15&t[0])).map((([e,n])=>{var l;const s=n[1]||e;return o.set(s,e),512&n[0]&&(null==(l=t.P)||l.push([e,s])),s}))]))}}return e},he=(e,t)=>{ce(e,"connectedCallback",void 0,t)},de=(e,o={})=>{var l;const h=[],p=o.exclude||[],m=u.customElements,y=a.head,v=y.querySelector("meta[charset]"),b=a.createElement("style"),$=[];let w,S=!0;Object.assign(f,o),f.l=new URL(o.resourcesUrl||"./",a.baseURI).href;let g=!1;if(e.map((e=>{e[1].map((o=>{const l={o:o[0],$:o[1],D:o[2],T:o[3]};4&l.o&&(g=!0),l.D=o[2],l.T=o[3],l.P=[];const c=l.$,u=class extends HTMLElement{constructor(e){if(super(e),this.hasRegisteredEventListeners=!1,((e,n)=>{const o={o:0,$hostElement$:e,O:n,R:new Map};o.H=new Promise((e=>o.A=e)),e["s-p"]=[],e["s-rc"]=[],t.set(e,o)})(e=this,l),1&l.o)if(e.shadowRoot){if("open"!==e.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${l.$}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else e.attachShadow({mode:"open"})}connectedCallback(){const e=n(this);this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0,pe(this,e,l.T)),w&&(clearTimeout(w),w=null),S?$.push(this):f.jmp((()=>(e=>{if(!(1&f.o)){const t=n(e),o=t.O,l=()=>{};if(1&t.o)pe(e,t,o.T),(null==t?void 0:t.t)?he(t.t,e):(null==t?void 0:t.H)&&t.H.then((()=>he(t.t,e)));else{t.o|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n["s-p"]){Z(t,t.j=n);break}}o.D&&Object.entries(o.D).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n)=>{let o;if(!(32&t.o)){t.o|=32;{const l=((e,t)=>{const n=e.$.replace(/-/g,"_"),o=e.F;if(!o)return;const l=i.get(o);return l?l[n]:import(`./${o}.entry.js`).then((e=>(i.set(o,e),e[n])),(e=>{s(e,t.$hostElement$)}))
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,t);if(l&&"then"in l){const e=()=>{};o=await l,e()}else o=l;if(!o)throw Error(`Constructor for "${n.$}#${t.U}" was not found`);o.isProxied||(fe(o,n,2),o.isProxied=!0);const r=()=>{};t.o|=8;try{new o(t)}catch(t){s(t,e)}t.o&=-9,r(),he(t.t,e)}if(o&&o.style){let e;"string"==typeof o.style&&(e=o.style);const t=F(n);if(!r.has(t)){const o=()=>{};((e,t,n)=>{let o=r.get(e);d&&n?(o=o||new CSSStyleSheet,"string"==typeof o?o=t:o.replaceSync(t)):o=t,r.set(e,o)})(t,e,!!(1&n.o)),o()}}}const l=t.j,c=()=>ee(t,!0);l&&l["s-rc"]?l["s-rc"].push(c):c()})(e,t,o)}l()}})(this)))}disconnectedCallback(){f.jmp((()=>(async e=>{if(!(1&f.o)){const t=n(e);t.L&&(t.L.map((e=>e())),t.L=void 0),(null==t?void 0:t.t)||(null==t?void 0:t.H)&&t.H.then((()=>{}))}T.has(e)&&T.delete(e),e.shadowRoot&&T.has(e.shadowRoot)&&T.delete(e.shadowRoot)})(this))),f.raf((()=>{var e;const t=n(this);(null==(e=null==t?void 0:t.M)?void 0:e.v)instanceof Node&&!t.M.v.isConnected&&delete t.M.v}))}componentOnReady(){return n(this).H}};l.F=e[0],p.includes(c)||m.get(c)||(h.push(c),m.define(c,fe(u,l,1)))}))})),h.length>0&&(g&&(b.textContent+=c),b.textContent+=h.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",b.innerHTML.length)){b.setAttribute("data-styles","");const e=null!=(l=f.C)?l:j(a);null!=e&&b.setAttribute("nonce",e),y.insertBefore(b,v?v.nextSibling:y.firstChild)}S=!1,$.length?$.map((e=>e.connectedCallback())):f.jmp((()=>w=setTimeout(re,30)))},pe=(e,t,n)=>{n&&n.map((([n,o,l])=>{const s=ye(e,n),i=me(t,l),r=ve(n);f.ael(s,o,i,r),(t.L=t.L||[]).push((()=>f.rel(s,o,i,r)))}))},me=(e,t)=>n=>{var o;try{256&e.o?null==(o=e.t)||o[t](n):(e.k=e.k||[]).push([t,n])}catch(t){s(t,e.$hostElement$)}},ye=(e,t)=>4&t?a:e,ve=e=>({passive:!!(1&e),capture:!!(2&e)}),be=e=>f.C=e;export{de as b,H as c,P as h,h as p,o as r,be as s}
@@ -0,0 +1 @@
1
+ import{r as t,c as e,h as s}from"./p-3502867c.js";const i=class{constructor(s){t(this,s),this.bulletEvent=e(this,"lotteryBulletSelection",7),this.value="0",this.selectable=!0,this.isSelected=!1,this.isBonus=!1,this.clientStyling="",this.clientStylingUrlContent="",this.limitStylingAppends=!1,this.select=()=>{this.selectable&&(this.isSelected=!this.isSelected,this.bulletEvent.emit({value:this.value,selected:this.isSelected}))},this.setClientStyling=()=>{let t=document.createElement("style");t.innerHTML=this.clientStyling,this.stylingContainer.prepend(t)},this.setClientStylingURL=()=>{let t=document.createElement("style");setTimeout((()=>{t.innerHTML=this.clientStylingUrlContent,this.stylingContainer.prepend(t)}),1)}}componentDidRender(){!this.limitStylingAppends&&this.stylingContainer&&(this.clientStyling&&this.setClientStyling(),this.clientStylingUrlContent&&this.setClientStylingURL(),this.limitStylingAppends=!0)}render(){return s("div",{key:"a21cbee8f556bfbbe9f97be5f44bfc08b6f24dd6",class:"Circle "+(this.selectable?"":"Disabled")+(this.isSelected?"Selected":"")+(this.isBonus?" Bonus":""),onClick:()=>this.select(),ref:t=>this.stylingContainer=t},this.value)}};i.style='@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:var(--emw--button-text-color, #000);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 var(--emw--color-gray-transparency-100, rgb(255, 255, 255));background:radial-gradient(circle at top, var(--emw--color-gray-transparency-100, rgb(255, 255, 255)) 0%, var(--emw--color-gray-transparency-100, 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, var(--emw--color-gray-transparency-100, rgb(255, 255, 255)) 0%, var(--emw--color-gray-50, #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:var(--emw--color-gray-transparency-100, rgb(255, 255, 255));background:var(--emw--color-primary, #9EC258);background:-webkit-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:-moz-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:radial-gradient(circle at top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));border:solid 2px var(--emw--button-border-color, #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:var(--emw--color-gray-50, #F1F1F1);background:var(--emw--color-gray-100, #D4D4D4);border:solid 2px var(--emw--color-gray-100, #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:var(--emw--color-gray-50, #F1F1F1);background:var(--emw--color-primary, #9EC258);background:-webkit-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:-moz-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:radial-gradient(circle at top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));border:solid 2px var(--emw--color-gray-100, #D4D4D4);cursor:default}.Circle.Bonus{background:var(--emw--color-error, #FF3D00)}';const r=class{constructor(s){t(this,s),this.gridFilledEvent=e(this,"gridFilled",7),this.gridDirtyEvent=e(this,"gridDirty",7),this.gridClearAllEvent=e(this,"gridClearAllEvent",7),this.totalNumbers=0,this.maximumAllowed=7,this.minimumAllowed=3,this.selectable=!0,this.selectedNumbers="",this.secondaryNumbers="",this.displaySelected=!1,this.language="en",this.gridType="",this.clientStyling="",this.clientStylingUrlContent="",this.highNumber=47,this.lowNumber=1,this.selectionType="mainSelection",this.partialQuickpickAvailable=!1,this.numbers=[],this.bonusNumbers=[],this.limitStylingAppends=!1,this.selectedCounter=0,this.setClientStyling=()=>{let t=document.createElement("style");t.innerHTML=this.clientStyling,this.stylingContainer.prepend(t)},this.setClientStylingURL=()=>{let t=document.createElement("style");setTimeout((()=>{t.innerHTML=this.clientStylingUrlContent,this.stylingContainer.prepend(t)}),1)}}connectedCallback(){let t=[];this.selectedNumbers.length>0&&(t=this.selectedNumbers.split(","),this.selectedCounter=t.length),this.secondaryNumbers.length>0&&(this.bonusNumbers=this.secondaryNumbers.split(",").map((t=>({number:t,selected:!0,selectable:this.selectable})))),this.displaySelected?t.forEach((t=>{this.numbers.push({number:t,selected:!0,selectable:this.selectable})})):Array.from({length:this.highNumber-this.lowNumber+1},((t,e)=>this.lowNumber+e)).map((t=>t.toString())).forEach((e=>{this.numbers.push({number:e,selected:t.indexOf(e)>=0,selectable:this.selectedCounter!=this.maximumAllowed&&this.selectable})}))}componentDidRender(){!this.limitStylingAppends&&this.stylingContainer&&(this.clientStyling&&this.setClientStyling(),this.clientStylingUrlContent&&this.setClientStylingURL(),this.limitStylingAppends=!0)}shuffleArray(t){const e=[];for(;t.length>0;){const s=Math.floor(Math.random()*t.length);e.push(t.splice(s,1)[0])}return e}lotteryBulletSelectionHandler(t){this.numbers=this.numbers.map((e=>({number:e.number,selected:e.number==t.detail.value?t.detail.selected:e.selected,selectable:e.selectable}))),t.detail.selected?(this.selectedCounter+=1,this.selectedCounter>=this.minimumAllowed&&this.selectedCounter<=this.maximumAllowed&&(this.numbers=this.numbers.map((t=>this.selectedCounter===this.maximumAllowed?{number:t.number,selected:t.selected,selectable:!!t.selected}:{number:t.number,selected:t.selected,selectable:!0})),JSON.parse(this.numberRange).includes(this.selectedCounter)?this.gridFilledEvent.emit({id:this.ticketId,index:this.gridIndex,selectionType:this.selectionType,selectedNumbers:this.numbers.filter((t=>t.selected)).map((t=>t.number))}):this.gridDirtyEvent.emit({id:this.ticketId,index:this.gridIndex,selectionType:this.selectionType,selectedNumbers:this.numbers.filter((t=>t.selected)).map((t=>t.number))}))):(this.selectedCounter-=1,this.numbers=this.numbers.map((t=>({number:t.number,selected:t.selected,selectable:!0}))),this.selectedCounter<this.minimumAllowed?this.gridDirtyEvent.emit({id:this.ticketId,index:this.gridIndex,selectionType:this.selectionType,selectedNumbers:this.numbers.filter((t=>t.selected)).map((t=>t.number))}):this.gridFilledEvent.emit({id:this.ticketId,index:this.gridIndex,selectionType:this.selectionType,selectedNumbers:this.numbers.filter((t=>t.selected)).map((t=>t.number))}),0===this.selectedCounter&&this.gridClearAllEvent.emit(this.gridIndex))}async resetSelectionHandler(t){t.detail&&t.detail.ticketId==this.ticketId&&t.detail.index===this.gridIndex&&(this.selectedCounter=0,this.numbers=this.numbers.map((t=>({number:t.number,selected:!1,selectable:this.selectable}))),this.gridDirtyEvent.emit({id:this.ticketId,index:this.gridIndex,selectionType:this.selectionType,selectedNumbers:[]}))}async autoSelectionHandler(t){if(t.detail&&t.detail.ticketId==this.ticketId&&t.detail.index===this.gridIndex){this.resetSelectionHandler(t);let e=Array.from({length:this.highNumber-this.lowNumber+1},((t,e)=>this.lowNumber+e));e=this.shuffleArray(e),e=e.slice(0,this.minimumAllowed),this.numbers=this.numbers.map((t=>({number:t.number,selected:e.indexOf(parseInt(t.number,10))>=0,selectable:!!this.partialQuickpickAvailable&&e.indexOf(parseInt(t.number,10))>=0}))),this.gridFilledEvent.emit({id:this.ticketId,index:this.gridIndex,selectionType:this.selectionType,selectedNumbers:this.numbers.filter((t=>t.selected)).map((t=>t.number))}),this.selectedCounter=this.minimumAllowed}}render(){return s("div",{key:"8ad436904a126e6bee036c7372cf45c075022e5f",class:"GridContainer",ref:t=>this.stylingContainer=t},s("div",{key:"5a8818209485f0808a99978910f6f26473dd6f59",class:"ticket"===this.gridType?"Grid TicketGrid":"Grid"},this.numbers.map((t=>s("div",null,s("lottery-bullet",{value:t.number,selectable:t.selectable,"is-selected":t.selected,"client-styling":this.clientStyling,"client-styling-url-content":this.clientStylingUrlContent})))),this.bonusNumbers.length?this.bonusNumbers.map((t=>s("div",null,s("lottery-bullet",{value:t.number,selectable:t.selectable,"is-selected":t.selected,"is-bonus":!0,"client-styling":this.clientStyling,"client-styling-url-content":this.clientStylingUrlContent})))):""))}};r.style='@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}';export{i as lottery_bullet,r as lottery_grid}
@@ -22,6 +22,10 @@ export declare class LotteryGrid {
22
22
  * Minimum allowed of bullets
23
23
  */
24
24
  minimumAllowed: number;
25
+ /**
26
+ * The number of numbers user can select on the grid
27
+ */
28
+ numberRange: string;
25
29
  /**
26
30
  * Allows the user to select numbers on the grid
27
31
  */
@@ -30,6 +34,10 @@ export declare class LotteryGrid {
30
34
  * Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')
31
35
  */
32
36
  selectedNumbers: string;
37
+ /**
38
+ * Bonus numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1')
39
+ */
40
+ secondaryNumbers: string;
33
41
  /**
34
42
  * Show only selected numbers
35
43
  */
@@ -54,7 +62,30 @@ export declare class LotteryGrid {
54
62
  * Client custom styling via url content
55
63
  */
56
64
  clientStylingUrlContent: string;
65
+ /**
66
+ * Maximum number of the grid
67
+ */
68
+ highNumber: number;
69
+ /**
70
+ * Lowest number of the grid
71
+ */
72
+ lowNumber: number;
73
+ /**
74
+ * Type of selection
75
+ */
76
+ selectionType: string;
77
+ /**
78
+ * Allows partial quickpick or not
79
+ */
80
+ partialQuickpickAvailable: boolean;
81
+ /**
82
+ * main selection numbers
83
+ */
57
84
  numbers: Array<GridNumbers>;
85
+ /**
86
+ * Bonus selection numbers
87
+ */
88
+ bonusNumbers: Array<GridNumbers>;
58
89
  private limitStylingAppends;
59
90
  private selectedCounter;
60
91
  private stylingContainer;
@@ -66,6 +97,10 @@ export declare class LotteryGrid {
66
97
  * When the grid is uncomplete after being completed once (reset or change), it emits this event
67
98
  */
68
99
  gridDirtyEvent: EventEmitter<GridEvent>;
100
+ /**
101
+ * When all the selection of each bullet are cleared, it emits this event
102
+ */
103
+ gridClearAllEvent: EventEmitter<number>;
69
104
  connectedCallback(): void;
70
105
  componentDidRender(): void;
71
106
  shuffleArray(array: Array<any>): Array<any>;
@@ -11,4 +11,5 @@ export interface GridEvent {
11
11
  id: number;
12
12
  index: number;
13
13
  selectedNumbers: Array<string>;
14
+ selectionType: string;
14
15
  }
@@ -33,10 +33,18 @@ export namespace Components {
33
33
  * Personalize grid for ticket
34
34
  */
35
35
  "gridType": string;
36
+ /**
37
+ * Maximum number of the grid
38
+ */
39
+ "highNumber": number;
36
40
  /**
37
41
  * Language
38
42
  */
39
43
  "language": string;
44
+ /**
45
+ * Lowest number of the grid
46
+ */
47
+ "lowNumber": number;
40
48
  /**
41
49
  * Number of maximum bullets that can be selected
42
50
  */
@@ -45,6 +53,18 @@ export namespace Components {
45
53
  * Minimum allowed of bullets
46
54
  */
47
55
  "minimumAllowed": number;
56
+ /**
57
+ * The number of numbers user can select on the grid
58
+ */
59
+ "numberRange": string;
60
+ /**
61
+ * Allows partial quickpick or not
62
+ */
63
+ "partialQuickpickAvailable": boolean;
64
+ /**
65
+ * Bonus numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1')
66
+ */
67
+ "secondaryNumbers": string;
48
68
  /**
49
69
  * Allows the user to select numbers on the grid
50
70
  */
@@ -53,6 +73,10 @@ export namespace Components {
53
73
  * Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')
54
74
  */
55
75
  "selectedNumbers": string;
76
+ /**
77
+ * Type of selection
78
+ */
79
+ "selectionType": string;
56
80
  /**
57
81
  * Identifier for the ticket
58
82
  */
@@ -71,6 +95,7 @@ declare global {
71
95
  interface HTMLLotteryGridElementEventMap {
72
96
  "gridFilled": GridEvent;
73
97
  "gridDirty": GridEvent;
98
+ "gridClearAllEvent": number;
74
99
  }
75
100
  interface HTMLLotteryGridElement extends Components.LotteryGrid, HTMLStencilElement {
76
101
  addEventListener<K extends keyof HTMLLotteryGridElementEventMap>(type: K, listener: (this: HTMLLotteryGridElement, ev: LotteryGridCustomEvent<HTMLLotteryGridElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -116,10 +141,18 @@ declare namespace LocalJSX {
116
141
  * Personalize grid for ticket
117
142
  */
118
143
  "gridType"?: string;
144
+ /**
145
+ * Maximum number of the grid
146
+ */
147
+ "highNumber"?: number;
119
148
  /**
120
149
  * Language
121
150
  */
122
151
  "language"?: string;
152
+ /**
153
+ * Lowest number of the grid
154
+ */
155
+ "lowNumber"?: number;
123
156
  /**
124
157
  * Number of maximum bullets that can be selected
125
158
  */
@@ -128,6 +161,14 @@ declare namespace LocalJSX {
128
161
  * Minimum allowed of bullets
129
162
  */
130
163
  "minimumAllowed"?: number;
164
+ /**
165
+ * The number of numbers user can select on the grid
166
+ */
167
+ "numberRange"?: string;
168
+ /**
169
+ * When all the selection of each bullet are cleared, it emits this event
170
+ */
171
+ "onGridClearAllEvent"?: (event: LotteryGridCustomEvent<number>) => void;
131
172
  /**
132
173
  * When the grid is uncomplete after being completed once (reset or change), it emits this event
133
174
  */
@@ -136,6 +177,14 @@ declare namespace LocalJSX {
136
177
  * When the grid is completed, it emits this event with selected numbers
137
178
  */
138
179
  "onGridFilled"?: (event: LotteryGridCustomEvent<GridEvent>) => void;
180
+ /**
181
+ * Allows partial quickpick or not
182
+ */
183
+ "partialQuickpickAvailable"?: boolean;
184
+ /**
185
+ * Bonus numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1')
186
+ */
187
+ "secondaryNumbers"?: string;
139
188
  /**
140
189
  * Allows the user to select numbers on the grid
141
190
  */
@@ -144,6 +193,10 @@ declare namespace LocalJSX {
144
193
  * Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')
145
194
  */
146
195
  "selectedNumbers"?: string;
196
+ /**
197
+ * Type of selection
198
+ */
199
+ "selectionType"?: string;
147
200
  /**
148
201
  * Identifier for the ticket
149
202
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/lottery-grid",
3
- "version": "1.52.6",
3
+ "version": "1.53.10",
4
4
  "main": "./dist/index.cjs.js",
5
5
  "module": "./dist/index.js",
6
6
  "es2015": "./dist/esm/index.mjs",