@everymatrix/lottery-tipping-entrance 1.87.28 → 1.87.29

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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-2a5f420f.js');
6
- const lotteryTippingEntrance = require('./lottery-tipping-entrance-9ccbd01c.js');
6
+ const lotteryTippingEntrance = require('./lottery-tipping-entrance-4ba11232.js');
7
7
 
8
8
  /**
9
9
  * @name addDays
@@ -125,6 +125,75 @@ function differenceInMilliseconds(dateLeft, dateRight) {
125
125
  return lotteryTippingEntrance.toDate(dateLeft).getTime() - lotteryTippingEntrance.toDate(dateRight).getTime();
126
126
  }
127
127
 
128
+ var roundingMap = {
129
+ ceil: Math.ceil,
130
+ round: Math.round,
131
+ floor: Math.floor,
132
+ trunc: function trunc(value) {
133
+ return value < 0 ? Math.ceil(value) : Math.floor(value);
134
+ } // Math.trunc is not supported by IE
135
+ };
136
+
137
+ var defaultRoundingMethod = 'trunc';
138
+ function getRoundingMethod(method) {
139
+ return method ? roundingMap[method] : roundingMap[defaultRoundingMethod];
140
+ }
141
+
142
+ /**
143
+ * @name differenceInSeconds
144
+ * @category Second Helpers
145
+ * @summary Get the number of seconds between the given dates.
146
+ *
147
+ * @description
148
+ * Get the number of seconds between the given dates.
149
+ *
150
+ * @param {Date|Number} dateLeft - the later date
151
+ * @param {Date|Number} dateRight - the earlier date
152
+ * @param {Object} [options] - an object with options.
153
+ * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)
154
+ * @returns {Number} the number of seconds
155
+ * @throws {TypeError} 2 arguments required
156
+ *
157
+ * @example
158
+ * // How many seconds are between
159
+ * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?
160
+ * const result = differenceInSeconds(
161
+ * new Date(2014, 6, 2, 12, 30, 20, 0),
162
+ * new Date(2014, 6, 2, 12, 30, 7, 999)
163
+ * )
164
+ * //=> 12
165
+ */
166
+ function differenceInSeconds(dateLeft, dateRight, options) {
167
+ lotteryTippingEntrance.requiredArgs(2, arguments);
168
+ var diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;
169
+ return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);
170
+ }
171
+
172
+ /**
173
+ * @name isBefore
174
+ * @category Common Helpers
175
+ * @summary Is the first date before the second one?
176
+ *
177
+ * @description
178
+ * Is the first date before the second one?
179
+ *
180
+ * @param {Date|Number} date - the date that should be before the other one to return true
181
+ * @param {Date|Number} dateToCompare - the date to compare with
182
+ * @returns {Boolean} the first date is before the second date
183
+ * @throws {TypeError} 2 arguments required
184
+ *
185
+ * @example
186
+ * // Is 10 July 1989 before 11 February 1987?
187
+ * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))
188
+ * //=> false
189
+ */
190
+ function isBefore(dirtyDate, dirtyDateToCompare) {
191
+ lotteryTippingEntrance.requiredArgs(2, arguments);
192
+ var date = lotteryTippingEntrance.toDate(dirtyDate);
193
+ var dateToCompare = lotteryTippingEntrance.toDate(dirtyDateToCompare);
194
+ return date.getTime() < dateToCompare.getTime();
195
+ }
196
+
128
197
  /**
129
198
  * @name isToday
130
199
  * @category Day Helpers
@@ -151,6 +220,58 @@ function isToday(dirtyDate) {
151
220
  return isSameDay(dirtyDate, Date.now());
152
221
  }
153
222
 
223
+ /**
224
+ * @name isWithinInterval
225
+ * @category Interval Helpers
226
+ * @summary Is the given date within the interval?
227
+ *
228
+ * @description
229
+ * Is the given date within the interval? (Including start and end.)
230
+ *
231
+ * @param {Date|Number} date - the date to check
232
+ * @param {Interval} interval - the interval to check
233
+ * @returns {Boolean} the date is within the interval
234
+ * @throws {TypeError} 2 arguments required
235
+ * @throws {RangeError} The start of an interval cannot be after its end
236
+ * @throws {RangeError} Date in interval cannot be `Invalid Date`
237
+ *
238
+ * @example
239
+ * // For the date within the interval:
240
+ * isWithinInterval(new Date(2014, 0, 3), {
241
+ * start: new Date(2014, 0, 1),
242
+ * end: new Date(2014, 0, 7)
243
+ * })
244
+ * //=> true
245
+ *
246
+ * @example
247
+ * // For the date outside of the interval:
248
+ * isWithinInterval(new Date(2014, 0, 10), {
249
+ * start: new Date(2014, 0, 1),
250
+ * end: new Date(2014, 0, 7)
251
+ * })
252
+ * //=> false
253
+ *
254
+ * @example
255
+ * // For date equal to interval start:
256
+ * isWithinInterval(date, { start, end: date }) // => true
257
+ *
258
+ * @example
259
+ * // For date equal to interval end:
260
+ * isWithinInterval(date, { start: date, end }) // => true
261
+ */
262
+ function isWithinInterval(dirtyDate, interval) {
263
+ lotteryTippingEntrance.requiredArgs(2, arguments);
264
+ var time = lotteryTippingEntrance.toDate(dirtyDate).getTime();
265
+ var startTime = lotteryTippingEntrance.toDate(interval.start).getTime();
266
+ var endTime = lotteryTippingEntrance.toDate(interval.end).getTime();
267
+
268
+ // Throw an exception if start date is after end date or if any date is `Invalid Date`
269
+ if (!(startTime <= endTime)) {
270
+ throw new RangeError('Invalid interval');
271
+ }
272
+ return time >= startTime && time <= endTime;
273
+ }
274
+
154
275
  const infoImage = `<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg height="1024" node-id="1" sillyvg="true" template-height="1024" template-width="1024" version="1.1" viewBox="0 0 1024 1024" width="1024" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs node-id="52"></defs><g node-id="165"><g node-id="176"><path d="M 715.70 689.10 L 724.50 691.70 L 724.10 693.20 L 715.20 690.50 L 715.70 689.10 Z M 733.50 693.80 L 742.60 695.40 L 742.40 696.90 L 733.20 695.30 L 733.50 693.80 Z M 751.70 696.50 L 760.90 697.00 L 760.90 698.60 L 751.60 698.10 L 751.70 696.50 Z M 901.10 462.70 L 902.50 461.90 L 906.90 470.10 L 905.50 470.80 L 901.10 462.70 Z M 770.10 697.00 L 779.30 696.40 L 779.40 698.00 L 770.10 698.60 L 770.10 697.00 Z M 909.30 479.20 L 910.70 478.60 L 914.10 487.30 L 912.60 487.80 L 909.30 479.20 Z M 788.40 695.30 L 797.50 693.70 L 797.80 695.20 L 788.60 696.80 L 788.40 695.30 Z M 915.50 496.50 L 917.00 496.10 L 918.30 500.60 L 919.30 505.10 L 917.80 505.40 L 915.50 496.50 Z M 806.40 691.50 L 815.20 688.80 L 815.70 690.30 L 806.80 693.00 L 806.40 691.50 Z M 919.60 514.50 L 921.10 514.20 L 922.40 523.40 L 920.80 523.60 L 919.60 514.50 Z M 823.90 685.60 L 832.30 681.90 L 833.00 683.30 L 824.50 687.00 L 823.90 685.60 Z M 921.50 532.80 L 923.10 532.70 L 923.30 542.00 L 921.70 542.00 L 921.50 532.80 Z M 840.50 677.70 L 848.40 673.00 L 849.20 674.30 L 841.20 679.00 L 840.50 677.70 Z M 921.30 551.20 L 922.90 551.30 L 922.00 560.60 L 920.40 560.40 L 921.30 551.20 Z M 856.10 667.90 L 863.40 662.30 L 864.40 663.50 L 857.00 669.10 L 856.10 667.90 Z M 919.00 569.50 L 920.50 569.80 L 918.50 578.90 L 917.00 578.50 L 919.00 569.50 Z M 870.40 656.30 L 877.00 649.90 L 878.10 651.00 L 871.40 657.50 L 870.40 656.30 Z M 914.60 587.30 L 916.10 587.80 L 913.10 596.60 L 911.60 596.00 L 914.60 587.30 Z M 883.30 643.20 L 889.10 636.10 L 890.30 637.10 L 884.40 644.30 L 883.30 643.20 Z M 908.00 604.50 L 909.40 605.10 L 905.40 613.50 L 904.00 612.80 L 908.00 604.50 Z M 894.60 628.60 L 899.60 620.80 L 900.90 621.60 L 895.90 629.40 L 894.60 628.60 Z" fill="#777f99" fill-rule="nonzero" group-id="1,12" node-id="60" stroke="none" target-height="236.69998" target-width="208.09998" target-x="715.2" target-y="461.9"></path></g><path d="M 702.70 684.10 L 707.00 685.90 L 706.40 687.40 L 702.00 685.60 L 702.70 684.10 Z" fill="#777f99" fill-rule="nonzero" group-id="1,13" node-id="65" stroke="none" target-height="3.3000488" target-width="5" target-x="702" target-y="684.1"></path></g><g node-id="166"><g node-id="178"><path d="M 198.90 515.60 L 196.00 511.80 L 197.30 510.90 L 200.10 514.60 L 198.90 515.60 Z" fill="#777f99" fill-rule="nonzero" group-id="2,14" node-id="73" stroke="none" target-height="4.6999817" target-width="4.100006" target-x="196" target-y="510.9"></path></g><g node-id="179"><path d="M 190.90 503.80 L 186.80 495.20 L 188.30 494.60 L 192.30 503.00 L 190.90 503.80 Z M 183.90 486.20 L 182.10 476.90 L 183.60 476.70 L 185.40 485.80 L 183.90 486.20 Z M 181.30 467.50 L 181.80 458.00 L 183.40 458.20 L 182.90 467.50 L 181.30 467.50 Z M 183.40 448.70 L 186.20 439.60 L 187.70 440.10 L 185.00 449.00 L 183.40 448.70 Z M 190.00 430.90 L 194.90 422.70 L 196.20 423.60 L 191.40 431.60 L 190.00 430.90 Z M 202.00 416.40 L 200.80 415.40 L 207.50 408.70 L 208.50 409.90 L 202.00 416.40 Z M 215.90 404.10 L 215.00 402.80 L 219.00 400.20 L 223.10 397.90 L 223.80 399.30 L 215.90 404.10 Z M 232.40 395.60 L 231.90 394.10 L 236.40 392.60 L 241.00 391.40 L 241.40 392.90 L 232.40 395.60 Z M 250.40 391.40 L 250.20 389.80 L 254.90 389.50 L 259.70 389.40 L 259.70 391.00 L 250.40 391.40 Z M 269.00 391.70 L 269.20 390.20 L 273.80 391.00 L 278.50 392.10 L 278.10 393.60 L 269.00 391.70 Z" fill="#777f99" fill-rule="nonzero" group-id="2,15" node-id="78" stroke="none" target-height="114.399994" target-width="97.2" target-x="181.3" target-y="389.4"></path></g><path d="M 286.90 396.50 L 287.50 395.10 L 291.80 397.00 L 291.10 398.40 L 286.90 396.50 Z" fill="#777f99" fill-rule="nonzero" group-id="2,16" node-id="83" stroke="none" target-height="3.2999878" target-width="4.899994" target-x="286.9" target-y="395.1"></path></g><g node-id="167"><path d="M 308.80 594.00 L 679.00 594.00 L 685.10 593.20 L 688.00 592.20 L 693.30 589.20 L 695.70 587.10 L 697.70 584.80 L 700.80 579.50 L 702.40 573.50 L 702.60 570.40 L 702.60 422.00 L 702.30 411.60 L 701.60 401.40 L 700.40 391.30 L 698.70 381.50 L 696.50 371.80 L 693.90 362.20 L 690.90 352.80 L 687.40 343.70 L 683.50 334.80 L 679.30 326.00 L 674.60 317.50 L 669.50 309.30 L 664.10 301.30 L 658.40 293.60 L 652.30 286.10 L 645.80 279.00 L 639.10 272.10 L 632.00 265.60 L 624.70 259.40 L 617.00 253.50 L 609.10 248.00 L 601.00 242.90 L 592.50 238.10 L 583.90 233.70 L 574.90 229.70 L 565.90 226.10 L 556.60 223.00 L 547.10 220.20 L 537.40 218.00 L 527.50 216.10 L 528.80 211.90 L 529.60 207.60 L 529.90 203.20 L 529.60 198.40 L 528.70 193.90 L 527.20 189.50 L 525.10 185.30 L 522.60 181.50 L 519.60 178.00 L 516.10 174.90 L 512.30 172.30 L 508.00 170.10 L 503.50 168.50 L 498.90 167.60 L 494.30 167.30 L 489.60 167.50 L 485.10 168.30 L 480.70 169.70 L 476.50 171.70 L 472.60 174.20 L 468.90 177.30 L 465.70 180.90 L 463.00 184.70 L 460.90 188.80 L 459.30 193.20 L 458.30 197.60 L 457.90 202.30 L 458.10 206.90 L 458.90 211.50 L 460.30 216.10 L 450.40 218.00 L 440.70 220.30 L 431.20 223.00 L 421.90 226.20 L 412.90 229.70 L 403.90 233.80 L 395.30 238.20 L 386.80 242.90 L 378.70 248.10 L 370.80 253.60 L 363.10 259.50 L 355.80 265.70 L 348.70 272.20 L 342.00 279.00 L 335.50 286.20 L 329.40 293.70 L 323.60 301.40 L 318.30 309.30 L 313.20 317.60 L 308.50 326.10 L 304.30 334.80 L 300.40 343.70 L 296.90 352.90 L 293.90 362.20 L 291.30 371.90 L 289.10 381.50 L 287.40 391.40 L 286.20 401.40 L 285.50 411.60 L 285.20 422.00 L 285.20 570.40 L 285.40 573.60 L 286.00 576.70 L 287.10 579.60 L 288.40 582.30 L 292.10 587.10 L 296.90 590.80 L 299.60 592.10 L 302.50 593.20 L 305.60 593.80 L 308.80 594.00 Z" fill="#bad6f7" fill-rule="nonzero" group-id="3" node-id="89" stroke="none" target-height="426.7" target-width="417.39996" target-x="285.2" target-y="167.3"></path></g><g node-id="168"><path d="M 493.80 798.40 L 503.30 797.60 L 512.20 795.40 L 517.80 793.20 L 523.20 790.40 L 528.20 787.20 L 532.80 783.40 L 537.00 779.20 L 540.80 774.60 L 544.00 769.60 L 546.80 764.20 L 549.00 758.60 L 550.30 754.20 L 551.80 745.00 L 552.00 740.20 L 435.60 740.20 L 435.80 745.30 L 436.50 750.30 L 437.60 755.30 L 439.10 760.10 L 441.00 764.80 L 443.30 769.30 L 446.10 773.50 L 449.10 777.60 L 452.60 781.40 L 456.40 784.90 L 460.40 788.00 L 464.70 790.70 L 469.20 793.00 L 473.90 794.90 L 478.70 796.40 L 483.60 797.50 L 488.70 798.20 L 493.80 798.40 Z" fill="#3a3a77" fill-rule="nonzero" group-id="4" node-id="94" stroke="none" target-height="58.200012" target-width="116.399994" target-x="435.6" target-y="740.2"></path></g><path d="M 782.90 675.10 L 770.80 651.00 L 767.90 645.70 L 764.50 640.80 L 760.60 636.00 L 756.30 631.60 L 751.80 627.60 L 747.10 624.00 L 742.00 620.80 L 737.00 618.20 L 731.90 616.10 L 726.70 614.50 L 721.70 613.50 L 716.80 613.20 L 270.90 613.20 L 266.00 613.50 L 261.00 614.50 L 255.80 616.10 L 250.70 618.20 L 245.70 620.80 L 240.60 624.00 L 235.90 627.60 L 231.40 631.60 L 227.10 636.00 L 223.20 640.70 L 219.80 645.70 L 216.90 651.00 L 204.80 675.10 L 202.60 680.00 L 200.90 684.70 L 199.80 689.10 L 199.10 693.30 L 198.80 697.60 L 199.00 701.60 L 199.60 705.20 L 200.60 708.50 L 202.10 711.70 L 203.90 714.50 L 206.20 716.90 L 208.90 719.00 L 211.90 720.60 L 215.30 721.80 L 219.10 722.60 L 223.60 722.90 L 764.20 722.90 L 768.60 722.60 L 772.50 721.80 L 775.90 720.60 L 778.80 719.00 L 781.50 716.90 L 783.80 714.40 L 785.70 711.70 L 787.20 708.50 L 788.20 705.20 L 788.80 701.50 L 789.00 697.60 L 788.70 693.30 L 788.00 689.10 L 786.80 684.70 L 785.10 680.00 L 782.90 675.10 Z" fill="#bad6f7" fill-rule="nonzero" node-id="97" stroke="none" target-height="109.70001" target-width="590.2" target-x="198.8" target-y="613.2"></path><path d="M 499.30 798.20 L 504.90 797.40 L 510.20 796.10 L 515.30 794.40 L 520.20 792.20 L 524.80 789.50 L 529.20 786.50 L 533.20 783.20 L 536.90 779.40 L 540.30 775.40 L 543.30 771.10 L 545.90 766.50 L 548.10 761.60 L 549.80 756.50 L 551.00 751.30 L 551.80 745.90 L 552.10 740.20 L 499.30 740.20 L 499.30 798.20 Z" fill="#3a3a77" fill-rule="nonzero" node-id="99" stroke="none" target-height="58" target-width="52.799988" target-x="499.3" target-y="740.2"></path><g node-id="169"><path d="M 770.80 650.90 L 767.90 645.60 L 764.50 640.70 L 760.60 635.90 L 756.30 631.50 L 751.80 627.50 L 747.10 623.90 L 742.00 620.70 L 737.00 618.10 L 731.90 616.00 L 726.70 614.40 L 721.70 613.40 L 716.80 613.10 L 499.30 613.10 L 499.30 722.80 L 764.20 722.80 L 768.70 722.50 L 772.50 721.70 L 775.90 720.50 L 778.90 718.90 L 781.60 716.80 L 783.90 714.40 L 785.70 711.60 L 787.20 708.50 L 788.20 705.10 L 788.80 701.50 L 789.00 697.60 L 788.70 693.20 L 788.00 689.00 L 786.90 684.60 L 785.20 680.00 L 783.00 675.00 L 770.80 650.90 Z" fill="#cedfff" fill-rule="nonzero" group-id="5" node-id="103" stroke="none" target-height="109.70001" target-width="289.7" target-x="499.3" target-y="613.1"></path></g><path d="M 729.60 182.10 L 765.70 216.40 L 694.00 242.10 L 729.60 182.10 Z" fill="#d3dcf4" fill-rule="nonzero" node-id="106" stroke="none" target-height="60" target-width="71.70001" target-x="694" target-y="182.1"></path><path d="M 704.20 261.10 L 808.40 236.60 L 808.40 288.70 L 704.20 261.10 Z" fill="#d3dcf4" fill-rule="nonzero" node-id="108" stroke="none" target-height="52.100006" target-width="104.20001" target-x="704.2" target-y="236.6"></path><path d="M 916.20 528.70 L 881.90 501.00 L 746.80 491.40 L 743.30 490.90 L 740.00 490.00 L 736.90 488.70 L 734.10 487.00 L 731.50 484.90 L 729.20 482.60 L 727.20 480.00 L 725.60 477.10 L 724.30 474.00 L 723.40 470.80 L 723.00 467.40 L 723.00 463.90 L 726.90 408.90 L 727.40 405.40 L 728.30 402.10 L 729.60 399.10 L 731.30 396.20 L 733.40 393.60 L 735.70 391.30 L 738.30 389.30 L 741.20 387.70 L 744.30 386.40 L 747.50 385.50 L 750.90 385.10 L 754.40 385.10 L 901.10 395.60 L 904.60 396.10 L 907.90 397.00 L 911.00 398.40 L 913.80 400.10 L 916.40 402.10 L 918.70 404.40 L 920.70 407.10 L 922.30 409.90 L 923.60 413.00 L 924.50 416.20 L 924.90 419.60 L 924.90 423.10 L 921.00 478.10 L 916.20 528.70 Z" fill="#4c96ec" fill-rule="nonzero" node-id="110" stroke="none" target-height="143.6" target-width="201.90002" target-x="723" target-y="385.1"></path><path d="M 796.50 440.10 L 796.20 443.70 L 795.30 446.90 L 793.80 450.00 L 791.90 452.70 L 789.50 455.10 L 786.80 457.00 L 783.70 458.50 L 780.50 459.40 L 776.90 459.70 L 773.30 459.40 L 770.10 458.50 L 767.00 457.00 L 764.30 455.10 L 761.90 452.70 L 760.00 450.00 L 758.50 446.90 L 757.60 443.70 L 757.30 440.10 L 757.60 436.50 L 758.50 433.30 L 760.00 430.20 L 761.90 427.50 L 764.30 425.10 L 767.00 423.20 L 770.10 421.70 L 773.30 420.80 L 776.90 420.50 L 780.50 420.80 L 783.70 421.70 L 786.80 423.20 L 789.50 425.10 L 791.90 427.50 L 793.80 430.20 L 795.30 433.30 L 796.20 436.50 L 796.50 440.10 Z" fill="#fe9f39" fill-rule="nonzero" node-id="112" stroke="none" target-height="39.200012" target-width="39.200012" target-x="757.3" target-y="420.5"></path><path d="M 823.30 435.40 L 883.20 439.70 L 886.20 440.50 L 888.60 442.10 L 890.30 444.50 L 891.10 447.40 L 891.10 449.00 L 890.30 452.00 L 888.70 454.40 L 886.30 456.10 L 883.40 456.90 L 820.30 452.30 L 817.60 451.10 L 815.60 449.10 L 814.30 446.40 L 814.00 443.30 L 814.80 440.30 L 816.40 437.90 L 818.80 436.20 L 821.70 435.40 Z" fill="#ebf0ff" fill-rule="nonzero" node-id="114" stroke="none" target-height="21.5" target-width="77.099976" target-x="814" target-y="435.4"></path><g node-id="170"><path d="M 151.30 615.80 L 151.80 610.50 L 154.90 595.30 L 158.70 582.20 L 161.30 575.30 L 164.20 568.50 L 170.10 557.70 L 172.90 553.80 L 180.50 544.30 L 185.40 538.60 L 196.10 528.10 L 201.80 523.30 L 207.90 518.80 L 214.30 514.70 L 221.10 510.90 L 228.00 507.50 L 235.40 504.50 L 243.30 501.90 L 251.60 499.70 L 259.90 498.00 L 268.80 496.80 L 278.30 496.00 L 288.50 495.70 L 297.90 496.00 L 307.00 496.70 L 315.70 497.80 L 324.10 499.40 L 332.60 501.40 L 340.50 503.80 L 348.00 506.50 L 355.10 509.50 L 362.00 513.10 L 368.40 516.80 L 374.20 520.80 L 379.50 525.10 L 384.50 529.80 L 388.70 534.60 L 392.40 539.60 L 395.50 544.70 L 397.50 549.10 L 399.10 553.50 L 400.20 558.10 L 400.90 562.70 L 401.20 567.40 L 400.90 572.10 L 400.20 576.70 L 399.10 581.30 L 397.50 585.70 L 395.50 590.10 L 392.40 595.20 L 388.70 600.20 L 384.40 605.00 L 379.40 609.70 L 374.20 614.00 L 368.40 618.00 L 362.00 621.70 L 355.00 625.30 L 348.00 628.30 L 340.50 631.00 L 332.50 633.40 L 324.10 635.40 L 315.70 637.00 L 307.00 638.10 L 297.90 638.80 L 288.50 639.10 L 277.00 638.80 L 266.30 638.10 L 256.30 636.90 L 246.90 635.20 L 239.30 633.40 L 232.20 631.30 L 225.60 628.90 L 219.50 626.20 L 213.80 623.20 L 208.20 619.80 L 203.10 616.10 L 198.50 612.00 L 194.30 607.70 L 190.50 603.00 L 187.80 602.10 L 185.00 601.70 L 182.20 601.90 L 176.50 603.30 L 169.50 606.70 L 155.70 615.70 L 153.70 616.70 L 152.50 616.90 L 151.80 616.60 L 151.30 615.80 Z" fill="#e0eaff" fill-rule="nonzero" group-id="6" node-id="118" stroke="none" target-height="143.39996" target-width="249.90001" target-x="151.3" target-y="495.7"></path></g><g node-id="171"><path d="M 237.00 541.10 L 300.10 541.10 L 302.10 541.40 L 303.80 542.10 L 305.30 543.30 L 306.50 544.80 L 307.20 546.50 L 307.50 548.50 L 307.20 550.50 L 306.50 552.20 L 305.30 553.70 L 303.80 554.90 L 302.10 555.60 L 300.10 555.90 L 237.00 555.90 L 235.00 555.60 L 233.30 554.90 L 231.80 553.70 L 230.60 552.20 L 229.90 550.50 L 229.60 548.50 L 229.90 546.50 L 230.70 544.80 L 231.80 543.30 L 233.30 542.10 L 235.10 541.40 L 237.00 541.10 Z" fill="#3a3a77" fill-rule="nonzero" group-id="7" node-id="123" stroke="none" target-height="14.800049" target-width="77.899994" target-x="229.6" target-y="541.1"></path></g><g node-id="172"><path d="M 346.70 547.80 L 346.00 551.70 L 344.10 554.90 L 341.30 557.30 L 339.60 558.10 L 335.70 558.80 L 331.80 558.10 L 330.10 557.30 L 327.30 554.90 L 325.40 551.70 L 324.70 547.80 L 325.40 543.90 L 327.30 540.70 L 330.10 538.30 L 331.80 537.50 L 335.70 536.80 L 339.60 537.50 L 342.80 539.40 L 345.20 542.20 L 346.00 543.90 L 346.70 547.80 Z" fill="#fe9f39" fill-rule="nonzero" group-id="8" node-id="128" stroke="none" target-height="22" target-width="22" target-x="324.7" target-y="536.8"></path></g><g node-id="173"><path d="M 237.00 579.10 L 300.10 579.10 L 302.10 579.40 L 303.80 580.10 L 305.30 581.30 L 306.50 582.80 L 307.20 584.50 L 307.50 586.50 L 307.20 588.50 L 306.50 590.20 L 305.30 591.70 L 303.80 592.90 L 302.10 593.60 L 300.10 593.90 L 237.00 593.90 L 235.00 593.60 L 233.30 592.90 L 231.80 591.70 L 230.60 590.20 L 229.90 588.50 L 229.60 586.50 L 229.90 584.50 L 230.70 582.80 L 231.80 581.30 L 233.30 580.10 L 235.10 579.40 L 237.00 579.10 Z" fill="#3a3a77" fill-rule="nonzero" group-id="9" node-id="133" stroke="none" target-height="14.800049" target-width="77.899994" target-x="229.6" target-y="579.1"></path></g><g node-id="174"><path d="M 346.70 584.00 L 346.00 587.90 L 344.10 591.10 L 341.30 593.50 L 339.60 594.30 L 335.70 595.00 L 331.80 594.30 L 328.60 592.40 L 326.20 589.60 L 324.90 586.00 L 324.90 582.00 L 326.20 578.40 L 327.30 576.90 L 330.10 574.50 L 333.70 573.20 L 337.70 573.20 L 339.60 573.70 L 342.80 575.60 L 345.20 578.40 L 346.00 580.10 L 346.70 584.00 Z" fill="#fe9f39" fill-rule="nonzero" group-id="10" node-id="138" stroke="none" target-height="21.799988" target-width="21.800018" target-x="324.9" target-y="573.2"></path></g><path d="M 746.70 838.40 L 746.70 767.10 L 699.10 767.10 L 699.10 838.40 L 699.40 839.30 L 720.20 851.50 L 721.50 852.00 L 723.10 852.10 L 726.10 851.30 L 745.20 840.30 L 746.20 839.50 L 746.70 838.40 Z" fill="#949fff" fill-rule="nonzero" node-id="141" stroke="none" target-height="85" target-width="47.600037" target-x="699.1" target-y="767.1"></path><path d="M 720.20 780.40 L 700.10 768.80 L 699.30 768.00 L 699.10 767.10 L 699.50 766.30 L 700.50 765.40 L 719.60 754.40 L 721.10 753.80 L 724.20 753.70 L 725.50 754.10 L 745.60 765.70 L 746.40 766.50 L 746.60 767.40 L 746.20 768.20 L 745.20 769.10 L 726.10 780.10 L 723.10 780.90 L 720.20 780.40 Z" fill="#dee6ff" fill-rule="nonzero" node-id="143" stroke="none" target-height="27.200012" target-width="47.5" target-x="699.1" target-y="753.7"></path><path d="M 115.50 836.70 L 115.50 662.50 L 67.90 662.50 L 67.90 836.70 L 68.20 837.60 L 68.90 838.20 L 89.00 849.80 L 90.30 850.30 L 91.90 850.40 L 94.90 849.60 L 114.00 838.60 L 114.90 837.80 L 115.50 836.70 Z" fill="#dee1f0" fill-rule="nonzero" node-id="145" stroke="none" target-height="187.90002" target-width="47.6" target-x="67.9" target-y="662.5"></path><path d="M 89.00 675.70 L 68.90 664.10 L 68.10 663.30 L 67.90 662.40 L 68.30 661.60 L 69.30 660.70 L 88.40 649.70 L 91.40 648.90 L 94.30 649.40 L 114.40 661.00 L 115.20 661.80 L 115.40 662.70 L 115.00 663.50 L 114.00 664.40 L 94.90 675.40 L 93.50 676.00 L 91.90 676.30 L 90.30 676.20 L 89.00 675.70 Z" fill="#fafbfd" fill-rule="nonzero" node-id="147" stroke="none" target-height="27.399963" target-width="47.5" target-x="67.9" target-y="648.9"></path><g node-id="175"><g node-id="181"><path d="M 977.00 861.10 L 30.00 861.10 L 30.30 854.90 L 31.10 852.00 L 32.30 849.40 L 34.00 847.00 L 36.00 845.00 L 38.40 843.30 L 41.00 842.10 L 43.90 841.30 L 47.00 841.00 L 960.00 841.00 L 963.10 841.30 L 966.00 842.10 L 968.60 843.30 L 971.00 845.00 L 973.00 847.00 L 974.70 849.40 L 975.90 852.00 L 976.70 854.90 L 977.00 861.10 Z" fill="#b7cdeb" fill-rule="nonzero" group-id="11,17" node-id="153" stroke="none" target-height="20.099976" target-width="947" target-x="30" target-y="841"></path></g></g><path d="M 781.10 806.50 L 779.10 811.10 L 777.70 815.60 L 777.10 818.80 L 777.40 831.00 L 777.90 833.60 L 778.80 836.00 L 780.20 838.20 L 782.10 840.10 L 784.20 841.70 L 787.10 843.00 L 790.60 843.90 L 795.30 844.40 L 821.60 845.20 L 827.70 844.70 L 833.50 843.60 L 839.10 842.00 L 844.50 839.90 L 849.70 837.30 L 854.80 834.10 L 858.70 831.20 L 860.40 829.50 L 862.30 826.00 L 862.90 818.70 L 863.50 817.10 L 864.70 815.50 L 875.40 811.70 L 897.10 805.20 L 901.90 803.00 L 903.80 801.50 L 905.20 799.60 L 906.40 796.30 L 906.90 792.40 L 907.60 790.90 L 910.10 788.30 L 913.30 786.20 L 918.60 783.50 L 937.90 775.70 L 947.90 770.00 L 949.50 768.20 L 949.90 767.20 L 949.90 763.00 L 950.30 760.40 L 951.00 758.20 L 953.50 754.10 L 958.00 750.00 L 965.80 743.90 L 970.10 739.70 L 974.00 735.10 L 974.00 729.20 L 972.70 726.80 L 971.10 724.70 L 969.20 723.00 L 964.80 720.40 L 962.30 719.60 L 958.40 718.90 L 954.40 718.80 L 950.50 719.30 L 940.30 722.20 L 934.40 722.50 L 931.60 722.00 L 926.10 720.00 L 917.70 714.60 L 914.80 713.50 L 911.70 712.90 L 908.60 712.90 L 905.30 713.40 L 902.00 714.50 L 898.90 715.90 L 895.80 717.90 L 892.90 720.30 L 882.90 730.00 L 880.20 731.70 L 877.40 732.70 L 874.40 733.30 L 871.20 733.30 L 864.40 732.30 L 861.20 732.30 L 858.40 732.90 L 855.60 733.90 L 852.90 735.50 L 850.20 737.80 L 845.80 742.50 L 833.90 757.60 L 830.50 761.10 L 826.60 763.30 L 824.40 763.80 L 819.90 763.90 L 818.10 764.30 L 814.80 765.90 L 809.20 769.90 L 804.00 774.10 L 799.30 778.70 L 794.90 783.60 L 790.90 788.80 L 787.30 794.40 L 784.00 800.30 L 781.10 806.50" fill="#b1c6d9" fill-rule="nonzero" node-id="157" stroke="none" target-height="132.29999" target-width="196.90002" target-x="777.1" target-y="712.9"></path><path d="M 190.10 807.80 L 185.40 803.00 L 182.70 800.90 L 179.80 799.10 L 176.60 797.90 L 171.40 796.70 L 170.00 795.90 L 167.00 792.70 L 163.30 787.30 L 160.90 784.40 L 155.90 780.00 L 153.50 778.70 L 151.70 778.20 L 149.80 778.20 L 145.50 779.00 L 143.60 779.10 L 140.00 778.00 L 138.40 776.90 L 134.40 772.80 L 131.80 770.60 L 126.00 767.00 L 123.30 766.30 L 119.10 767.00 L 117.30 767.70 L 112.50 771.10 L 110.30 772.30 L 108.20 772.90 L 106.00 772.80 L 99.70 771.20 L 92.60 770.90 L 90.20 771.30 L 88.10 772.20 L 86.30 773.60 L 84.70 775.40 L 82.90 779.00 L 83.40 780.90 L 85.70 783.50 L 96.10 792.90 L 98.20 795.70 L 98.10 798.60 L 99.70 801.20 L 101.20 802.70 L 103.80 804.40 L 114.90 809.00 L 120.80 812.10 L 123.20 814.40 L 123.90 815.90 L 124.50 819.10 L 125.00 820.10 L 127.20 821.80 L 148.40 828.70 L 150.20 830.30 L 151.00 834.90 L 151.80 836.80 L 153.00 838.50 L 156.30 841.00 L 162.70 843.80 L 167.10 845.30 L 176.20 847.10 L 185.50 847.30 L 195.00 845.90 L 197.20 845.20 L 198.90 844.30 L 200.20 843.00 L 201.20 841.40 L 201.90 839.40 L 202.30 836.90 L 202.30 833.00 L 201.90 829.40 L 201.10 826.00 L 198.40 819.50 L 196.70 816.40 L 193.60 812.00 L 190.10 807.80 Z" fill="#b0c6da" fill-rule="nonzero" node-id="159" stroke="none" target-height="81" target-width="119.4" target-x="82.9" target-y="766.3"></path><path d="M 191.00 838.00 L 190.30 837.90 L 179.70 827.80 L 170.10 819.20 L 161.40 812.00 L 152.40 805.10 L 137.40 794.80 L 130.10 790.50 L 118.20 784.50 L 110.20 781.20 L 104.20 779.10 L 94.30 776.60 L 93.90 776.40 L 94.20 775.70 L 99.00 776.60 L 104.50 778.10 L 110.60 780.20 L 118.70 783.60 L 130.60 789.60 L 137.90 793.90 L 153.10 804.30 L 162.10 811.20 L 170.80 818.40 L 180.50 827.00 L 191.10 837.20 L 191.00 838.00 Z" fill="#95b4ce" fill-rule="nonzero" node-id="161" stroke="none" target-height="62.299988" target-width="97.200005" target-x="93.9" target-y="775.7"></path><path d="M 787.20 834.60 L 788.30 834.40 L 802.90 820.40 L 816.30 808.20 L 828.70 797.60 L 841.40 787.40 L 852.90 778.60 L 863.50 771.20 L 874.30 764.10 L 884.00 758.20 L 892.70 753.40 L 909.30 745.20 L 926.10 738.60 L 933.80 736.20 L 947.10 733.00 L 947.70 732.60 L 947.70 732.00 L 947.30 731.50 L 946.60 731.40 L 940.30 732.80 L 925.50 737.10 L 908.60 743.70 L 891.80 751.90 L 883.10 756.80 L 873.30 762.70 L 862.50 769.80 L 851.90 777.30 L 840.20 786.10 L 827.50 796.30 L 815.00 807.00 L 801.50 819.20 L 786.90 833.30 L 786.70 833.80 L 787.20 834.60 Z" fill="#95b4ce" fill-rule="nonzero" node-id="163" stroke="none" target-height="103.19995" target-width="161" target-x="786.7" target-y="731.4"></path></svg>`;
155
276
 
156
277
  const drawSelectionCss = ".draw-page{width:100%;position:relative}.draw-page .draw-page__background{width:100%;height:100%;position:absolute;z-index:0;background:linear-gradient(to right, var(--emw--color-primary, #fed275), var(--emw--color-primary-variant, #ffe66f))}.draw-page .draw-page__background .top-waves{position:absolute;top:30px;left:20px;width:100px;height:60px}.draw-page .draw-page__background .wave{position:absolute;width:80px;height:4px;background:rgba(255, 255, 255, 0.7);border-radius:20px}.draw-page .draw-page__background .wave:nth-child(1){top:0;transform:rotate(-5deg);clip-path:polygon(0 0, 25% 100%, 50% 0, 75% 100%, 100% 0, 100% 100%, 0% 100%)}.draw-page .draw-page__background .wave:nth-child(2){top:20px;transform:rotate(-3deg);clip-path:polygon(0 0, 25% 100%, 50% 0, 75% 100%, 100% 0, 100% 100%, 0% 100%)}.draw-page .draw-page__background .wave:nth-child(3){top:40px;transform:rotate(-1deg);clip-path:polygon(0 0, 25% 100%, 50% 0, 75% 100%, 100% 0, 100% 100%, 0% 100%)}.draw-page .draw-page__background .wave-svg{position:absolute;width:100px;height:8px}.draw-page .draw-page__background .wave-svg:nth-child(1){top:0}.draw-page .draw-page__background .wave-svg:nth-child(2){top:20px}.draw-page .draw-page__background .wave-svg:nth-child(3){top:40px}.draw-page .draw-page__background .dots-cluster{position:absolute;bottom:100px;right:80px;width:120px;height:80px}.draw-page .draw-page__background .dot{position:absolute;border-radius:50%;background-color:rgba(255, 255, 255, 0.6)}.draw-page .draw-page__background .dot:nth-child(1){width:6px;height:6px;top:0px;left:0px}.draw-page .draw-page__background .dot:nth-child(2){width:8px;height:8px;top:0px;left:15px}.draw-page .draw-page__background .dot:nth-child(3){width:5px;height:5px;top:0px;left:32px}.draw-page .draw-page__background .dot:nth-child(4){width:7px;height:7px;top:0px;left:46px}.draw-page .draw-page__background .dot:nth-child(5){width:6px;height:6px;top:0px;left:62px}.draw-page .draw-page__background .dot:nth-child(6){width:8px;height:8px;top:0px;left:78px}.draw-page .draw-page__background .dot:nth-child(7){width:5px;height:5px;top:0px;left:95px}.draw-page .draw-page__background .dot:nth-child(8){width:7px;height:7px;top:15px;left:5px}.draw-page .draw-page__background .dot:nth-child(9){width:6px;height:6px;top:15px;left:20px}.draw-page .draw-page__background .dot:nth-child(10){width:8px;height:8px;top:15px;left:35px}.draw-page .draw-page__background .dot:nth-child(11){width:5px;height:5px;top:15px;left:52px}.draw-page .draw-page__background .dot:nth-child(12){width:7px;height:7px;top:15px;left:67px}.draw-page .draw-page__background .dot:nth-child(13){width:6px;height:6px;top:15px;left:83px}.draw-page .draw-page__background .dot:nth-child(14){width:8px;height:8px;top:30px;left:8px}.draw-page .draw-page__background .dot:nth-child(15){width:5px;height:5px;top:30px;left:25px}.draw-page .draw-page__background .dot:nth-child(16){width:7px;height:7px;top:30px;left:40px}.draw-page .draw-page__background .dot:nth-child(17){width:6px;height:6px;top:30px;left:55px}.draw-page .draw-page__background .dot:nth-child(18){width:8px;height:8px;top:30px;left:72px}.draw-page .draw-page__background .dot:nth-child(19){width:6px;height:6px;top:45px;left:12px}.draw-page .draw-page__background .dot:nth-child(20){width:7px;height:7px;top:45px;left:28px}.draw-page .draw-page__background .dot:nth-child(21){width:5px;height:5px;top:45px;left:44px}.draw-page .draw-page__background .dot:nth-child(22){width:8px;height:8px;top:45px;left:58px}.draw-page .draw-page__background .dot:nth-child(23){width:7px;height:7px;top:60px;left:15px}.draw-page .draw-page__background .dot:nth-child(24){width:6px;height:6px;top:60px;left:32px}.draw-page .draw-page__background .dot:nth-child(25){width:8px;height:8px;top:60px;left:48px}.draw-page .draw-page__background .dot:nth-child(26){width:5px;height:5px;top:75px;left:20px}.draw-page .draw-page__background .dot:nth-child(27){width:7px;height:7px;top:75px;left:35px}.draw-info{padding:16px}.draw-info-title{margin-bottom:36px;display:flex;justify-content:center;flex-direction:column;align-items:center;position:relative;color:var(--emw--color-typography, #000)}.draw-info-title-main{font-size:30px;font-weight:bold}.draw-info-title-sub{position:absolute;bottom:24px;font-weight:600}.draw-info-item-list{display:flex;justify-content:center;flex-wrap:wrap;gap:26px}.draw-info-item{cursor:pointer;text-align:center;padding:20px;width:164px;height:152px;background-color:var(--emw--color-background, #fff);color:var(--emw--color-typography, #000);border-radius:21% 25% 19% 22%/30% 30% 34% 27%;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column}.draw-info-item:hover{animation:jelly 0.6s ease}.draw-info-item:hover .draw-info-item-projector{animation:shadow-jelly 0.6s ease}.draw-info-item-day{font-size:10px;font-weight:bold;position:absolute;left:calc(50% - 31px);top:-28px;width:64px;height:64px;background:var(--emw--color-secondary-variant, rgb(255, 152, 0));border-radius:50%;display:flex;align-items:center;color:var(--emw--color-typography-tertiary, #fff);justify-content:center;font-style:italic}.draw-info-item-day.reverse{top:unset;bottom:-28px}.draw-info-item-date,.draw-info-item-turnover{margin-top:8px;font-size:16px;color:var(--emw--color-typography, #000);font-family:Arial, Helvetica, sans-serif}.draw-info-item-projecter{content:\"\";position:absolute;top:calc(100% + 40px);left:50%;transform:translateX(-50%);width:120px;height:20px;background:var(--emw--color-background, #fff);border-radius:50%;filter:blur(12px)}.draw-info-footer{width:100%;margin:0 auto;margin-top:100px;position:relative}.draw-info-footer-text{text-align:center;margin-top:12px;font-size:22px;color:var(--emw--color-typography, #000);font-family:\"Comic Sans MS\";font-weight:600}.empty-draw-wrap{display:flex;justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 104px)}.empty-draw{width:240px;height:160px;padding:18px 12px 12px 12px;background:var(--emw--color-secondary, #fff3b9);position:relative;margin:0 auto;display:flex;justify-content:center;align-items:center;text-align:center;border-radius:12px}.empty-draw .empty-draw-logo{position:absolute;top:-64%;left:50%;transform:translateX(-50%);width:200px;height:200px}.empty-draw .empty-draw-logo svg{width:100%;height:100%}.empty-draw-content{display:flex;gap:4px}.empty-draw-text{font-size:14px;font-weight:bold;color:var(--emw--color-typography, #000)}.empty-draw svg{fill:var(--emw--color-typography, #000)}.loading-indicator{z-index:1;display:flex;justify-content:center;padding-top:40px;color:var(--emw--color-typography, #000)}.empty-draw-text{color:var(--emw--color-typography, #000)}@keyframes jelly{0%,100%{transform:scale(1)}25%{transform:scale(1.05, 0.95)}50%{transform:scale(0.95, 1.05)}75%{transform:scale(1.03, 0.97)}}@keyframes shadow-jelly{0%,100%{transform:translateX(-50%) scale(1);opacity:0.1}25%{transform:translateX(-50%) scale(1.1, 0.9);opacity:0.08}50%{transform:translateX(-50%) scale(0.9, 1.1);opacity:0.12}75%{transform:translateX(-50%) scale(1.05, 0.95);opacity:0.09}}";
@@ -466,8 +587,232 @@ const GeneralTooltip = class {
466
587
  GeneralTooltip.style = GeneralTooltipStyle0;
467
588
 
468
589
  const DEFAULT_LANGUAGE$7 = 'en';
469
- const SUPPORTED_LANGUAGES$7 = ['ro', 'en', 'fr', 'ar', 'hr', 'zh'];
590
+ const SUPPORTED_LANGUAGES$7 = ['ro', 'en', 'fr', 'ar', 'hr'];
470
591
  const TRANSLATIONS$7 = {
592
+ en: {
593
+ stop: 'Stop',
594
+ at: 'at',
595
+ turnover: 'Turnover: ',
596
+ start: 'Sales Start',
597
+ in: 'in'
598
+ },
599
+ ro: {
600
+ stop: 'Oprește',
601
+ at: 'la'
602
+ },
603
+ fr: {
604
+ stop: 'Arrêtez',
605
+ at: 'à'
606
+ },
607
+ ar: {
608
+ stop: 'توقف',
609
+ at: 'في'
610
+ },
611
+ hr: {
612
+ stop: 'Stop',
613
+ at: 'u'
614
+ }
615
+ };
616
+ const translate$7 = (key, customLang) => {
617
+ const lang = customLang;
618
+ return TRANSLATIONS$7[lang !== undefined && SUPPORTED_LANGUAGES$7.includes(lang) ? lang : DEFAULT_LANGUAGE$7][key];
619
+ };
620
+ const getTranslations$7 = (data) => {
621
+ Object.keys(data).forEach((item) => {
622
+ for (let key in data[item]) {
623
+ TRANSLATIONS$7[item][key] = data[item][key];
624
+ }
625
+ });
626
+ };
627
+ const resolveTranslationUrl$4 = async (translationUrl) => {
628
+ if (translationUrl) {
629
+ try {
630
+ const response = await fetch(translationUrl);
631
+ if (!response.ok) {
632
+ throw new Error(`HTTP error! status: ${response.status}`);
633
+ }
634
+ const translations = await response.json();
635
+ getTranslations$7(translations);
636
+ }
637
+ catch (error) {
638
+ console.error('Failed to fetch or parse translations from URL:', error);
639
+ }
640
+ }
641
+ };
642
+
643
+ const formatDate$2 = ({ date, type = 'date', format }) => {
644
+ try {
645
+ const parsedDate = lotteryTippingEntrance.parseISO(date);
646
+ if (isNaN(parsedDate.getTime())) {
647
+ throw new Error(`Invalid date: ${date}`);
648
+ }
649
+ if (format)
650
+ return lotteryTippingEntrance.format(parsedDate, format);
651
+ let formatStr = 'dd/MM/yyyy';
652
+ if (type === 'time') {
653
+ formatStr = 'dd/MM/yyyy HH:mm:ss';
654
+ }
655
+ else if (type === 'week') {
656
+ formatStr = 'ccc dd/MM/yyyy HH:mm:ss';
657
+ }
658
+ return lotteryTippingEntrance.format(parsedDate, formatStr);
659
+ }
660
+ catch (error) {
661
+ console.error('Error formatting date:', error.message);
662
+ return '';
663
+ }
664
+ };
665
+ function formatTime(time) {
666
+ if (!time)
667
+ return;
668
+ if (isToday(new Date(time))) {
669
+ return formatDate$2({ date: time, format: 'HH:mm' });
670
+ }
671
+ return formatDate$2({ date: time, format: 'dd/MM/yyyy HH:mm' });
672
+ }
673
+ function formatCountdown(stopTime, _now) {
674
+ if (!stopTime)
675
+ return;
676
+ const endTime = typeof stopTime === 'string' ? lotteryTippingEntrance.parseISO(stopTime) : stopTime;
677
+ const now = _now && new Date();
678
+ let totalSeconds = differenceInSeconds(endTime, now);
679
+ if (totalSeconds < 0)
680
+ return '0D 00H 00M 00S';
681
+ const days = Math.floor(totalSeconds / 86400);
682
+ totalSeconds %= 86400;
683
+ const hours = Math.floor(totalSeconds / 3600);
684
+ totalSeconds %= 3600;
685
+ const minutes = Math.floor(totalSeconds / 60);
686
+ const seconds = totalSeconds % 60;
687
+ return `${days}D ${hours.toString().padStart(2, '0')}H ${minutes.toString().padStart(2, '0')}M ${seconds
688
+ .toString()
689
+ .padStart(2, '0')}S`;
690
+ }
691
+ function getWagerTime(startTime, stopTime) {
692
+ const now = new Date();
693
+ if (startTime && isBefore(now, lotteryTippingEntrance.parseISO(startTime))) {
694
+ return { start: formatCountdown(startTime, now) };
695
+ }
696
+ if (startTime &&
697
+ stopTime &&
698
+ isWithinInterval(now, {
699
+ start: lotteryTippingEntrance.parseISO(startTime),
700
+ end: lotteryTippingEntrance.parseISO(stopTime)
701
+ })) {
702
+ return { end: formatTime(stopTime) };
703
+ }
704
+ return {};
705
+ }
706
+
707
+ const lotteryBannerCss = ":host {\n display: block;\n container-type: inline-size;\n}\n\n.lottery-banner {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--lottery-banner-gap, 0.5rem);\n padding: var(--lottery-banner-padding, 0px 20px);\n background: var(--lottery-banner-background, var(--emw--color-primary, #fed275));\n border-top: var(--lottery-banner-border-width, 2px) var(--lottery-banner-border-style, solid) var(--lottery-banner-border-color, var(--emw--color-primary, #fed275));\n border-bottom: var(--lottery-banner-border-width, 2px) var(--lottery-banner-border-style, solid) var(--lottery-banner-border-color, var(--emw--color-primary, #fed275));\n border-left: var(--lottery-banner-border-left, none);\n border-right: var(--lottery-banner-border-right, none);\n border-radius: var(--lottery-banner-border-radius, 0);\n white-space: nowrap;\n height: var(--lottery-banner-height, 50px);\n position: relative;\n box-sizing: border-box;\n}\n\n.lottery-banner__logo-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n.lottery-banner__logo-wrapper img {\n height: 100%;\n object-fit: var(--lottery-banner-logo-object-fit, contain);\n}\n\n.lottery-banner__item--center {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n}\n\n.lottery-banner__title {\n text-align: center;\n font-size: var(--lottery-banner-title-font-size, 1.5rem);\n font-weight: 800;\n font-style: italic;\n letter-spacing: var(--lottery-banner-title-font-letter-spacing, 0.04em);\n color: var(--emw--color-typography, #000);\n}\n\n.lottery-banner__info {\n display: flex;\n align-items: center;\n gap: var(--lottery-banner-info-gap, 0.75rem);\n}\n\n.lottery-banner__info-item {\n font-size: var(--lottery-banner-info-font-size, 0.9rem);\n color: var(--lottery-banner-info-color, var(--emw--color-typography, #000));\n display: inline-flex;\n align-items: center;\n gap: 0.3rem;\n}\n\n.lottery-banner__info-item-label {\n color: var(--lottery-banner-info-label-color, var(--emw--color-typography, #000));\n}\n.lottery-banner__info-item-label__strong {\n font-weight: var(--lottery-banner-info-label-font-weight, 700);\n}\n\n.lottery-banner__info-item-value {\n font-weight: var(--lottery-banner-info-value-font-weight, inherit);\n color: var(--lottery-banner-info-value-color, var(--emw--color-typography, #000));\n}\n\n@container (max-width: 700px) {\n .lottery-banner {\n height: auto;\n padding: var(--lottery-banner-mobile-padding, 0.5rem 1rem);\n }\n .lottery-banner__title {\n flex-basis: 100%;\n text-align: var(--lottery-banner-mobile-title-text-align, left);\n }\n .lottery-banner__info {\n flex-direction: column;\n align-items: flex-start;\n gap: var(--lottery-banner-mobile-info-gap, 0.1rem);\n }\n}";
708
+ const LotteryBannerStyle0 = lotteryBannerCss;
709
+
710
+ const LotteryBanner = class {
711
+ constructor(hostRef) {
712
+ index.registerInstance(this, hostRef);
713
+ this.lotteryBannerTimerStop = index.createEvent(this, "lotteryBannerTimerStop", 7);
714
+ this.mbSource = undefined;
715
+ this.clientStyling = undefined;
716
+ this.clientStylingUrl = undefined;
717
+ this.translationUrl = '';
718
+ this.language = 'en';
719
+ this.logoUrl = undefined;
720
+ this.stopTime = '';
721
+ this.startTime = '';
722
+ this.bannerTitle = undefined;
723
+ this.turnover = undefined;
724
+ this.layout = 'logo,title,info';
725
+ this.formattedTime = undefined;
726
+ }
727
+ handleClientStylingChange(newValue, oldValue) {
728
+ if (newValue !== oldValue) {
729
+ lotteryTippingEntrance.setClientStyling(this.stylingContainer, this.clientStyling);
730
+ }
731
+ }
732
+ handleClientStylingUrlChange(newValue, oldValue) {
733
+ if (newValue !== oldValue) {
734
+ lotteryTippingEntrance.setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
735
+ }
736
+ }
737
+ handleMbSourceChange(newValue, oldValue) {
738
+ if (newValue !== oldValue) {
739
+ lotteryTippingEntrance.setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
740
+ }
741
+ }
742
+ handleTimeChange() {
743
+ this.startTimer();
744
+ }
745
+ async componentWillLoad() {
746
+ if (this.translationUrl) {
747
+ resolveTranslationUrl$4(this.translationUrl);
748
+ }
749
+ this.startTimer();
750
+ }
751
+ startTimer() {
752
+ if (this.timer) {
753
+ clearInterval(this.timer);
754
+ }
755
+ this.updateTime();
756
+ this.timer = setInterval(() => {
757
+ this.updateTime();
758
+ }, 1000);
759
+ }
760
+ updateTime() {
761
+ var _a;
762
+ this.formattedTime = getWagerTime(this.startTime, this.stopTime);
763
+ if ((_a = this.formattedTime) === null || _a === void 0 ? void 0 : _a.end) {
764
+ this.timer && clearInterval(this.timer);
765
+ this.lotteryBannerTimerStop.emit();
766
+ }
767
+ }
768
+ componentDidLoad() {
769
+ if (this.stylingContainer) {
770
+ if (this.mbSource)
771
+ lotteryTippingEntrance.setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
772
+ if (this.clientStyling)
773
+ lotteryTippingEntrance.setClientStyling(this.stylingContainer, this.clientStyling);
774
+ if (this.clientStylingUrl)
775
+ lotteryTippingEntrance.setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
776
+ }
777
+ }
778
+ disconnectedCallback() {
779
+ this.stylingSubscription && this.stylingSubscription.unsubscribe();
780
+ this.timer && clearInterval(this.timer);
781
+ }
782
+ renderElement(item, className = '') {
783
+ var _a, _b;
784
+ switch (item) {
785
+ case 'logo':
786
+ return (index.h("div", { class: `lottery-banner__logo-wrapper ${className}` }, this.logoUrl && index.h("img", { alt: "logo", src: this.logoUrl, class: "lottery-banner__logo" })));
787
+ case 'title':
788
+ return this.bannerTitle && index.h("div", { class: `lottery-banner__title ${className}` }, this.bannerTitle);
789
+ case 'info':
790
+ return (index.h("div", { class: `lottery-banner__info ${className}` }, ((_a = this.formattedTime) === null || _a === void 0 ? void 0 : _a.start) && (index.h("div", { class: "lottery-banner__info-item" }, index.h("span", { class: "lottery-banner__info-item-label" }, index.h("span", { class: "lottery-banner__info-item-label__strong" }, translate$7('start', this.language)), "\u00A0", translate$7('in', this.language)), index.h("span", { class: "lottery-banner__info-item-value" }, this.formattedTime.start))), ((_b = this.formattedTime) === null || _b === void 0 ? void 0 : _b.end) && (index.h("div", { class: "lottery-banner__info-item" }, index.h("span", { class: "lottery-banner__info-item-label" }, index.h("span", { class: "lottery-banner__info-item-label__strong" }, translate$7('stop', this.language)), "\u00A0", translate$7('at', this.language)), index.h("span", { class: "lottery-banner__info-item-value" }, this.formattedTime.end))), this.turnover !== null && this.turnover !== undefined && (index.h("div", { class: "lottery-banner__info-item" }, index.h("span", { class: "lottery-banner__info-item-label" }, translate$7('turnover', this.language)), index.h("span", { class: "lottery-banner__info-item-value" }, this.turnover)))));
791
+ default:
792
+ return null;
793
+ }
794
+ }
795
+ render() {
796
+ const layoutItems = this.layout.split(',').map((item) => item.trim());
797
+ return (index.h("section", { key: '058aa04a8104d393f6066fd2738fb33cb6d832a2', ref: (el) => (this.stylingContainer = el), class: "lottery-banner" }, layoutItems.map((item, index) => {
798
+ const isMiddle = layoutItems.length === 3 && index === 1;
799
+ const className = isMiddle ? 'lottery-banner__item--center' : '';
800
+ return this.renderElement(item, className);
801
+ })));
802
+ }
803
+ static get watchers() { return {
804
+ "clientStyling": ["handleClientStylingChange"],
805
+ "clientStylingUrl": ["handleClientStylingUrlChange"],
806
+ "mbSource": ["handleMbSourceChange"],
807
+ "startTime": ["handleTimeChange"],
808
+ "stopTime": ["handleTimeChange"]
809
+ }; }
810
+ };
811
+ LotteryBanner.style = LotteryBannerStyle0;
812
+
813
+ const DEFAULT_LANGUAGE$6 = 'en';
814
+ const SUPPORTED_LANGUAGES$6 = ['ro', 'en', 'fr', 'ar', 'hr', 'zh'];
815
+ const TRANSLATIONS$6 = {
471
816
  en: {
472
817
  loading: 'Loading'
473
818
  },
@@ -476,9 +821,9 @@ const TRANSLATIONS$7 = {
476
821
  ar: {},
477
822
  hr: {}
478
823
  };
479
- const translate$7 = (key, customLang, replacements) => {
824
+ const translate$6 = (key, customLang, replacements) => {
480
825
  const lang = customLang;
481
- let translation = TRANSLATIONS$7[lang !== undefined && SUPPORTED_LANGUAGES$7.includes(lang) ? lang : DEFAULT_LANGUAGE$7][key];
826
+ let translation = TRANSLATIONS$6[lang !== undefined && SUPPORTED_LANGUAGES$6.includes(lang) ? lang : DEFAULT_LANGUAGE$6][key];
482
827
  if (replacements) {
483
828
  Object.keys(replacements).forEach((placeholder) => {
484
829
  translation = translation.replace(`{${placeholder}}`, replacements[placeholder]);
@@ -489,7 +834,7 @@ const translate$7 = (key, customLang, replacements) => {
489
834
  const getTranslations$6 = (data) => {
490
835
  Object.keys(data).forEach((item) => {
491
836
  for (let key in data[item]) {
492
- TRANSLATIONS$7[item][key] = data[item][key];
837
+ TRANSLATIONS$6[item][key] = data[item][key];
493
838
  }
494
839
  });
495
840
  };
@@ -619,7 +964,7 @@ const LotteryButton = class {
619
964
  [`btn--${variant}`]: true,
620
965
  [`btn--${size}`]: true,
621
966
  'btn--loading': this.loading
622
- }, style: color ? buttonStyles : undefined, disabled: isDisabled, onClick: this.handleClick, ref: (el) => (this.stylingContainer = el) }, this.loading ? (index.h("div", { class: "loading-container" }, index.h("span", { class: "content" }, this.text || translate$7('loading', this.language)), index.h("span", { class: "spinner" }))) : (index.h("span", { class: "content" }, index.h("slot", { name: "icon-left" }), this.text || index.h("slot", null), index.h("slot", { name: "icon-right" }))), index.h("div", { key: '302ea02be395bb24989d4abc040a513e23fa029a', class: "ripple-container" }, this.ripples.map((ripple, index$1) => (index.h("span", { key: index$1, class: "ripple", style: {
967
+ }, style: color ? buttonStyles : undefined, disabled: isDisabled, onClick: this.handleClick, ref: (el) => (this.stylingContainer = el) }, this.loading ? (index.h("div", { class: "loading-container" }, index.h("span", { class: "content" }, this.text || translate$6('loading', this.language)), index.h("span", { class: "spinner" }))) : (index.h("span", { class: "content" }, index.h("slot", { name: "icon-left" }), this.text || index.h("slot", null), index.h("slot", { name: "icon-right" }))), index.h("div", { key: '302ea02be395bb24989d4abc040a513e23fa029a', class: "ripple-container" }, this.ripples.map((ripple, index$1) => (index.h("span", { key: index$1, class: "ripple", style: {
623
968
  top: `${ripple.top}px`,
624
969
  left: `${ripple.left}px`,
625
970
  width: `${ripple.size}px`,
@@ -877,9 +1222,9 @@ function renderAbstractNodeToSVGElement(node, options) {
877
1222
  return "<".concat(node.tag).concat(attrsToken, " />");
878
1223
  }
879
1224
 
880
- const DEFAULT_LANGUAGE$6 = 'en';
881
- const SUPPORTED_LANGUAGES$6 = ['ro', 'en', 'fr', 'ar', 'hr'];
882
- const TRANSLATIONS$6 = {
1225
+ const DEFAULT_LANGUAGE$5 = 'en';
1226
+ const SUPPORTED_LANGUAGES$5 = ['ro', 'en', 'fr', 'ar', 'hr'];
1227
+ const TRANSLATIONS$5 = {
883
1228
  en: {
884
1229
  weeks: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
885
1230
  bettingType: 'Betting Type:',
@@ -927,9 +1272,9 @@ const TRANSLATIONS$6 = {
927
1272
  loading: 'Učitavanje....'
928
1273
  }
929
1274
  };
930
- const translate$6 = (key, customLang, replacements) => {
1275
+ const translate$5 = (key, customLang, replacements) => {
931
1276
  const lang = customLang;
932
- let translation = TRANSLATIONS$6[lang !== undefined && SUPPORTED_LANGUAGES$6.includes(lang) ? lang : DEFAULT_LANGUAGE$6][key];
1277
+ let translation = TRANSLATIONS$5[lang !== undefined && SUPPORTED_LANGUAGES$5.includes(lang) ? lang : DEFAULT_LANGUAGE$5][key];
933
1278
  if (replacements) {
934
1279
  Object.keys(replacements).forEach((placeholder) => {
935
1280
  translation = translation.replace(`{${placeholder}}`, replacements[placeholder]);
@@ -940,7 +1285,7 @@ const translate$6 = (key, customLang, replacements) => {
940
1285
  const getTranslations$5 = (data) => {
941
1286
  Object.keys(data).forEach((item) => {
942
1287
  for (let key in data[item]) {
943
- TRANSLATIONS$6[item][key] = data[item][key];
1288
+ TRANSLATIONS$5[item][key] = data[item][key];
944
1289
  }
945
1290
  });
946
1291
  };
@@ -1028,7 +1373,7 @@ const LotteryTippingCalendar = class {
1028
1373
  if (this.translationUrl) {
1029
1374
  getTranslations$5(JSON.parse(this.translationUrl));
1030
1375
  }
1031
- this.weeks = translate$6('weeks', this.language);
1376
+ this.weeks = translate$5('weeks', this.language);
1032
1377
  const d = this.date ? new Date(this.date) : new Date();
1033
1378
  this.alterDate = { year: d.getFullYear(), month: d.getMonth(), day: d.getDate() };
1034
1379
  this.curDate = Object.assign({}, this.alterDate);
@@ -1138,9 +1483,9 @@ const LotteryTippingCalendar = class {
1138
1483
  };
1139
1484
  LotteryTippingCalendar.style = LotteryTippingCalendarStyle0;
1140
1485
 
1141
- const DEFAULT_LANGUAGE$5 = 'en';
1142
- const SUPPORTED_LANGUAGES$5 = ['ro', 'en', 'fr', 'ar', 'hr'];
1143
- const TRANSLATIONS$5 = {
1486
+ const DEFAULT_LANGUAGE$4 = 'en';
1487
+ const SUPPORTED_LANGUAGES$4 = ['ro', 'en', 'fr', 'ar', 'hr'];
1488
+ const TRANSLATIONS$4 = {
1144
1489
  en: {
1145
1490
  cancel: 'Cancel',
1146
1491
  confirm: 'Confirm'
@@ -1162,14 +1507,14 @@ const TRANSLATIONS$5 = {
1162
1507
  confirm: 'Potvrdi'
1163
1508
  }
1164
1509
  };
1165
- const translate$5 = (key, customLang) => {
1510
+ const translate$4 = (key, customLang) => {
1166
1511
  const lang = customLang;
1167
- return TRANSLATIONS$5[lang !== undefined && SUPPORTED_LANGUAGES$5.includes(lang) ? lang : DEFAULT_LANGUAGE$5][key];
1512
+ return TRANSLATIONS$4[lang !== undefined && SUPPORTED_LANGUAGES$4.includes(lang) ? lang : DEFAULT_LANGUAGE$4][key];
1168
1513
  };
1169
1514
  const getTranslations$4 = (data) => {
1170
1515
  Object.keys(data).forEach((item) => {
1171
1516
  for (let key in data[item]) {
1172
- TRANSLATIONS$5[item][key] = data[item][key];
1517
+ TRANSLATIONS$4[item][key] = data[item][key];
1173
1518
  }
1174
1519
  });
1175
1520
  };
@@ -1284,7 +1629,7 @@ const LotteryTippingDialog = class {
1284
1629
  maxHeight: 'calc(100vh - 62px)',
1285
1630
  overflowY: 'auto'
1286
1631
  };
1287
- return (index.h("div", { key: '306683c5190fa6dca57dcf75e52eca575c0215e7', class: dialogWrapperClass.join(' '), ref: (el) => (this.stylingContainer = el) }, index.h("div", { key: '8be097f3a86fcd9ad4e18c6ac56cafdcf249049b', class: maskClass.join(' '), onClick: this.handleMaskClick.bind(this) }), index.h("div", { key: '87d2206d3e3d75fe0e0ef8a6afd8de5c20892ae6', part: "dialog", class: computedDialogClass, style: computedDialogStyle, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-title" }, (this.dialogTitle || this.closable) && (index.h("div", { key: '04d54878aa24e0d9eb98bc921ea3edfacd6de3af', class: "dialog-header" }, index.h("h2", { key: 'f6f6c279de47e49cde86d0c907b9b40a115926b3', id: "dialog-title", class: "dialog-title" }, this.dialogTitle), this.closable && (index.h("button", { key: 'e1625473e5460cd667961923bf678c9a91b69c82', class: "close-btn", onClick: this.handleClose.bind(this) }, "x")))), index.h("div", { key: 'fb0db8dd765832cf1d8e8b682131e4c97a93ac22', class: "dialog-content", style: contentStyle }, index.h("slot", { key: '75336f59c2a8fe6775fc12ed4e2e26ff6bb6b508' })), this.showFooter && (index.h("div", { key: 'a305086a2830265317abb0fd6f59b4a053fd54a9', class: "dialog-footer" }, index.h("slot", { key: 'cb330ea63908002f4f8b4b8139d5843c2570302e', name: "footer" }, this.showCancelBtn && (index.h("button", { key: 'c3d2c15195e56efd6d388265e9ccb87030627b7b', class: "cancel-btn", onClick: this.handleClose.bind(this) }, translate$5('cancel', this.language))), index.h("button", { key: 'af9c96b4e1ce82f9ecb73e2b9f4e93cba0382d76', class: "confirm-btn", onClick: this.handleConfirm.bind(this) }, translate$5('confirm', this.language))))))));
1632
+ return (index.h("div", { key: '306683c5190fa6dca57dcf75e52eca575c0215e7', class: dialogWrapperClass.join(' '), ref: (el) => (this.stylingContainer = el) }, index.h("div", { key: '8be097f3a86fcd9ad4e18c6ac56cafdcf249049b', class: maskClass.join(' '), onClick: this.handleMaskClick.bind(this) }), index.h("div", { key: '87d2206d3e3d75fe0e0ef8a6afd8de5c20892ae6', part: "dialog", class: computedDialogClass, style: computedDialogStyle, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-title" }, (this.dialogTitle || this.closable) && (index.h("div", { key: '04d54878aa24e0d9eb98bc921ea3edfacd6de3af', class: "dialog-header" }, index.h("h2", { key: 'f6f6c279de47e49cde86d0c907b9b40a115926b3', id: "dialog-title", class: "dialog-title" }, this.dialogTitle), this.closable && (index.h("button", { key: 'e1625473e5460cd667961923bf678c9a91b69c82', class: "close-btn", onClick: this.handleClose.bind(this) }, "x")))), index.h("div", { key: 'fb0db8dd765832cf1d8e8b682131e4c97a93ac22', class: "dialog-content", style: contentStyle }, index.h("slot", { key: '75336f59c2a8fe6775fc12ed4e2e26ff6bb6b508' })), this.showFooter && (index.h("div", { key: 'a305086a2830265317abb0fd6f59b4a053fd54a9', class: "dialog-footer" }, index.h("slot", { key: 'cb330ea63908002f4f8b4b8139d5843c2570302e', name: "footer" }, this.showCancelBtn && (index.h("button", { key: 'c3d2c15195e56efd6d388265e9ccb87030627b7b', class: "cancel-btn", onClick: this.handleClose.bind(this) }, translate$4('cancel', this.language))), index.h("button", { key: 'af9c96b4e1ce82f9ecb73e2b9f4e93cba0382d76', class: "confirm-btn", onClick: this.handleConfirm.bind(this) }, translate$4('confirm', this.language))))))));
1288
1633
  }
1289
1634
  get el() { return index.getElement(this); }
1290
1635
  static get watchers() { return {
@@ -1295,9 +1640,9 @@ const LotteryTippingDialog = class {
1295
1640
  };
1296
1641
  LotteryTippingDialog.style = LotteryTippingDialogStyle0;
1297
1642
 
1298
- const DEFAULT_LANGUAGE$4 = 'en';
1299
- const SUPPORTED_LANGUAGES$4 = ['ro', 'en', 'fr', 'ar', 'hr'];
1300
- const TRANSLATIONS$4 = {
1643
+ const DEFAULT_LANGUAGE$3 = 'en';
1644
+ const SUPPORTED_LANGUAGES$3 = ['ro', 'en', 'fr', 'ar', 'hr'];
1645
+ const TRANSLATIONS$3 = {
1301
1646
  en: {
1302
1647
  totalItems: 'Total {total} items',
1303
1648
  perPage: '{size} / page',
@@ -1336,9 +1681,9 @@ const TRANSLATIONS$4 = {
1336
1681
  ar: {},
1337
1682
  hr: {}
1338
1683
  };
1339
- const translate$4 = (key, customLang, replacements) => {
1684
+ const translate$3 = (key, customLang, replacements) => {
1340
1685
  const lang = customLang;
1341
- let translation = TRANSLATIONS$4[lang !== undefined && SUPPORTED_LANGUAGES$4.includes(lang) ? lang : DEFAULT_LANGUAGE$4][key];
1686
+ let translation = TRANSLATIONS$3[lang !== undefined && SUPPORTED_LANGUAGES$3.includes(lang) ? lang : DEFAULT_LANGUAGE$3][key];
1342
1687
  if (replacements) {
1343
1688
  Object.keys(replacements).forEach((placeholder) => {
1344
1689
  translation = translation.replace(`{${placeholder}}`, replacements[placeholder]);
@@ -1349,7 +1694,7 @@ const translate$4 = (key, customLang, replacements) => {
1349
1694
  const getTranslations$3 = (data) => {
1350
1695
  Object.keys(data).forEach((item) => {
1351
1696
  for (let key in data[item]) {
1352
- TRANSLATIONS$4[item][key] = data[item][key];
1697
+ TRANSLATIONS$3[item][key] = data[item][key];
1353
1698
  }
1354
1699
  });
1355
1700
  };
@@ -1417,8 +1762,8 @@ const LotteryTippingFilter = class {
1417
1762
  getTranslations$3(JSON.parse(this.translationUrl));
1418
1763
  }
1419
1764
  this.ticketTypeList = [
1420
- { label: translate$4('normal', this.language), value: 'NORMAL' },
1421
- { label: translate$4('subscription', this.language), value: 'SUBSCRIPTION' }
1765
+ { label: translate$3('normal', this.language), value: 'NORMAL' },
1766
+ { label: translate$3('subscription', this.language), value: 'SUBSCRIPTION' }
1422
1767
  ];
1423
1768
  }
1424
1769
  componentDidLoad() {
@@ -1484,18 +1829,18 @@ const LotteryTippingFilter = class {
1484
1829
  render() {
1485
1830
  return (index.h("div", { key: '74aa590f6f92b9df971fd17cb3f573cc6a0a68e9', class: "lottery-tipping-filter", ref: (el) => (this.stylingContainer = el) }, index.h("div", { key: 'ebf385371627466c5eb06a5ef75a14a467b1badd', class: "operate-btns" }, !this.showClearButton && (index.h("div", { key: '55c709034e124b51e8b9057980f5a3c3b8c6d5ce', class: "operate-btn", onClick: () => {
1486
1831
  this.isOpen = true;
1487
- } }, translate$4('filter', this.language))), (this.showClearButton || this.quickFiltersActive) && (index.h("div", { key: 'aa747af2461e72fbacc16decd7fc75cd6f640c47', class: "operate-btn", onClick: () => this.resetSearch() }, translate$4('clear', this.language)))), index.h("lottery-tipping-dialog", { key: '9a9472dee498db7acc83fd96db89b635be07a837', "dialog-title": translate$4('ticketResult', this.language), visible: this.isOpen, onCancel: () => {
1832
+ } }, translate$3('filter', this.language))), (this.showClearButton || this.quickFiltersActive) && (index.h("div", { key: 'aa747af2461e72fbacc16decd7fc75cd6f640c47', class: "operate-btn", onClick: () => this.resetSearch() }, translate$3('clear', this.language)))), index.h("lottery-tipping-dialog", { key: '9a9472dee498db7acc83fd96db89b635be07a837', "dialog-title": translate$3('ticketResult', this.language), visible: this.isOpen, onCancel: () => {
1488
1833
  this.isOpen = false;
1489
- }, onConfirm: this.handleDialogConfirm.bind(this), animationDuration: 300, language: this.language, "translation-url": this.translationUrl }, index.h("div", { key: 'a7bfe435c8f7a43abf2c2d500d7e31fe62123787', class: "dialog-content" }, index.h("div", { key: '4fcf5f1d3da61ba5e3e8c09b4a97339c1eafaf64', class: "filter-item" }, index.h("div", { key: '397bb60af15071331c46c0b83366475ef66205fd', class: "filter-item-label" }, translate$4('searchByTicketId', this.language)), index.h("div", { key: '657e0014bb0d8af52ed273149bad534b2cd035b6', class: "filter-item-val" }, index.h("div", { key: '7e49aab4b087a1e077cc03d4331df52be03a79c2', class: "general-multi-select-container" }, index.h("vaadin-text-field", { key: '9d810aac3959e689cefed434d7c5569b18e4c0ec', placeholder: translate$4('enterTicketId', this.language), value: this.filterData.ticketId, onInput: (event) => {
1834
+ }, onConfirm: this.handleDialogConfirm.bind(this), animationDuration: 300, language: this.language, "translation-url": this.translationUrl }, index.h("div", { key: 'a7bfe435c8f7a43abf2c2d500d7e31fe62123787', class: "dialog-content" }, index.h("div", { key: '4fcf5f1d3da61ba5e3e8c09b4a97339c1eafaf64', class: "filter-item" }, index.h("div", { key: '397bb60af15071331c46c0b83366475ef66205fd', class: "filter-item-label" }, translate$3('searchByTicketId', this.language)), index.h("div", { key: '657e0014bb0d8af52ed273149bad534b2cd035b6', class: "filter-item-val" }, index.h("div", { key: '7e49aab4b087a1e077cc03d4331df52be03a79c2', class: "general-multi-select-container" }, index.h("vaadin-text-field", { key: '9d810aac3959e689cefed434d7c5569b18e4c0ec', placeholder: translate$3('enterTicketId', this.language), value: this.filterData.ticketId, onInput: (event) => {
1490
1835
  this.filterData.ticketId = event.target.value;
1491
- } })))), index.h("div", { key: '8b9fda151a493c920797e4c7e2a8693c84ea5620', class: "filter-item" }, index.h("div", { key: '23439a0cad69db2ddafc8c131d5e1f5a019c3805', class: "filter-item-label" }, translate$4('searchByTicketType', this.language)), index.h("div", { key: 'ffe8de6c8acb7ecb92301d417e5d3cddb9941601', class: "general-multi-select-container" }, index.h("general-multi-select", { key: '90b2b967b17830a22ea08aa0f22e155e42922f21', ref: (el) => (this.comboBox = el), placeholder: translate$4('selectTicketType', this.language), "max-visible-chips": "2", options: this.ticketTypeList.map((item) => ({
1836
+ } })))), index.h("div", { key: '8b9fda151a493c920797e4c7e2a8693c84ea5620', class: "filter-item" }, index.h("div", { key: '23439a0cad69db2ddafc8c131d5e1f5a019c3805', class: "filter-item-label" }, translate$3('searchByTicketType', this.language)), index.h("div", { key: 'ffe8de6c8acb7ecb92301d417e5d3cddb9941601', class: "general-multi-select-container" }, index.h("general-multi-select", { key: '90b2b967b17830a22ea08aa0f22e155e42922f21', ref: (el) => (this.comboBox = el), placeholder: translate$3('selectTicketType', this.language), "max-visible-chips": "2", options: this.ticketTypeList.map((item) => ({
1492
1837
  text: item.label,
1493
1838
  value: item.value
1494
- })), onChange: this.handleTicketType, "client-styling": this.clientStyling, "client-styling-Url": this.clientStylingUrl, "mb-source": this.mbSource }))), index.h("div", { key: 'b8dc91b5337a8f4064160c50c20f213fbb1649bd', class: "filter-item" }, index.h("div", { key: '476fb4074ad41ce1a014eb9355504aa4a53161ca', class: "filter-item-label" }, translate$4('searchByDate', this.language)), index.h("div", { key: 'd4498509f769af6cd5d008dc8433a61b9c9c5487', class: "filter-item-val" }, index.h("vaadin-date-picker", { key: 'bd525309eb193cd2e12fc87aee172d423397d22e', value: this.filterData.filterFromCalendar, max: this.filterData.filterToCalendar === undefined
1839
+ })), onChange: this.handleTicketType, "client-styling": this.clientStyling, "client-styling-Url": this.clientStylingUrl, "mb-source": this.mbSource }))), index.h("div", { key: 'b8dc91b5337a8f4064160c50c20f213fbb1649bd', class: "filter-item" }, index.h("div", { key: '476fb4074ad41ce1a014eb9355504aa4a53161ca', class: "filter-item-label" }, translate$3('searchByDate', this.language)), index.h("div", { key: 'd4498509f769af6cd5d008dc8433a61b9c9c5487', class: "filter-item-val" }, index.h("vaadin-date-picker", { key: 'bd525309eb193cd2e12fc87aee172d423397d22e', value: this.filterData.filterFromCalendar, max: this.filterData.filterToCalendar === undefined
1495
1840
  ? undefined
1496
- : this.changeFormate(this.filterData.filterToCalendar), onChange: this.handleFilterFrom, placeholder: translate$4('from', this.language), ref: (el) => this.setDateFormate(el), class: "VaadinDatePicker" }), index.h("vaadin-date-picker", { key: '50eb713df259a2d0fce36b90d81d1ea388c8545d', value: this.filterData.filterToCalendar, min: this.filterData.filterFromCalendar === undefined
1841
+ : this.changeFormate(this.filterData.filterToCalendar), onChange: this.handleFilterFrom, placeholder: translate$3('from', this.language), ref: (el) => this.setDateFormate(el), class: "VaadinDatePicker" }), index.h("vaadin-date-picker", { key: '50eb713df259a2d0fce36b90d81d1ea388c8545d', value: this.filterData.filterToCalendar, min: this.filterData.filterFromCalendar === undefined
1497
1842
  ? undefined
1498
- : this.changeFormate(this.filterData.filterFromCalendar), onChange: this.handleFilterTo, placeholder: translate$4('to', this.language), ref: (el) => this.setDateFormate(el), class: "VaadinDatePicker" })))))));
1843
+ : this.changeFormate(this.filterData.filterFromCalendar), onChange: this.handleFilterTo, placeholder: translate$3('to', this.language), ref: (el) => this.setDateFormate(el), class: "VaadinDatePicker" })))))));
1499
1844
  }
1500
1845
  static get watchers() { return {
1501
1846
  "clientStyling": ["handleClientStylingChange"],
@@ -1648,10 +1993,9 @@ function thousandSeperator$1(value) {
1648
1993
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
1649
1994
  return parts.join('.');
1650
1995
  }
1651
- function formattedTurnover(turnover) {
1996
+ function formattedTurnover$1(turnover, unit = '€') {
1652
1997
  if (turnover === null || turnover === undefined)
1653
1998
  return '';
1654
- const unit = '€';
1655
1999
  return `${unit}${turnover ? thousandSeperator$1(turnover) : 0}`;
1656
2000
  }
1657
2001
  async function fetchGameInfo(endpoint, gameId) {
@@ -1904,10 +2248,10 @@ const LotteryTippingLatestResult = class {
1904
2248
  return name !== null && name !== void 0 ? name : bettingType;
1905
2249
  }
1906
2250
  render() {
1907
- return (index.h("div", { key: '516bc959365fa133d2dcff466e24c932628f3d55', class: "lottery-tipping-latest-result", ref: (el) => (this.stylingContainer = el) }, this.curDrawSelection && this.curDrawSelection.length > 0 && (index.h("div", { key: 'f059aa26c5aaa24b6b6c8896a8faef64e4787ddb', class: "result-wrapper" }, index.h("div", { key: '510c2e70ddd92bee503fa4dce06171640ddc6a49', class: "date-selection" }, index.h("div", { key: '53a38dca7a49f64e6f17588008ff2917af5862c6', class: "date-selection-leftIcon", innerHTML: leftArrowIcon, onClick: this.preDraw.bind(this) }), index.h("div", { key: '8038c06d44dadf692dc43c7e32573777682fdf64', class: "date-selection-calendar" }, index.h("lottery-tipping-calendar", { key: 'c73630103acd314e5ad36f7e2e432909c8b6bd82', date: this.lastestDate, highLightDates: this.hasDrawDates, language: this.language, "mb-source": this.mbSource, "client-styling-url": this.clientStylingUrl, "translation-url": this.translationUrl })), index.h("div", { key: '439399feaf89a3ec2d02721eacac3f072a6cce6c', class: "date-selection-rightIcon", innerHTML: rightArrowIcon, onClick: this.nextDraw.bind(this) })), index.h("div", { key: '889338084aaba2061e22f4ba6432fe776ca965e5', class: "winning-result" }, index.h("div", { key: '4f32680505bdde15fdb30072e0cbeff5f05c122d', class: "betting-type" }, index.h("div", { key: 'bcbab767beac80766f944790023d6a6025bbb5c3', class: "betting-type-title" }, translate$6('bettingType', this.language)), index.h("div", { key: 'fb4fe1ad80c557f934b49e9c33916432c9633d57', class: "betting-type-text" }, index.h("div", { key: '76fb553eb922d6b48926a087aa7217a8cc188248', class: "LotteryTippingTicketController__segmented-control" }, Object.keys(this.curDrawSelectionMap).map((bettingType) => (index.h("button", { class: {
2251
+ return (index.h("div", { key: '516bc959365fa133d2dcff466e24c932628f3d55', class: "lottery-tipping-latest-result", ref: (el) => (this.stylingContainer = el) }, this.curDrawSelection && this.curDrawSelection.length > 0 && (index.h("div", { key: 'f059aa26c5aaa24b6b6c8896a8faef64e4787ddb', class: "result-wrapper" }, index.h("div", { key: '510c2e70ddd92bee503fa4dce06171640ddc6a49', class: "date-selection" }, index.h("div", { key: '53a38dca7a49f64e6f17588008ff2917af5862c6', class: "date-selection-leftIcon", innerHTML: leftArrowIcon, onClick: this.preDraw.bind(this) }), index.h("div", { key: '8038c06d44dadf692dc43c7e32573777682fdf64', class: "date-selection-calendar" }, index.h("lottery-tipping-calendar", { key: 'c73630103acd314e5ad36f7e2e432909c8b6bd82', date: this.lastestDate, highLightDates: this.hasDrawDates, language: this.language, "mb-source": this.mbSource, "client-styling-url": this.clientStylingUrl, "translation-url": this.translationUrl })), index.h("div", { key: '439399feaf89a3ec2d02721eacac3f072a6cce6c', class: "date-selection-rightIcon", innerHTML: rightArrowIcon, onClick: this.nextDraw.bind(this) })), index.h("div", { key: '889338084aaba2061e22f4ba6432fe776ca965e5', class: "winning-result" }, index.h("div", { key: '4f32680505bdde15fdb30072e0cbeff5f05c122d', class: "betting-type" }, index.h("div", { key: 'bcbab767beac80766f944790023d6a6025bbb5c3', class: "betting-type-title" }, translate$5('bettingType', this.language)), index.h("div", { key: 'fb4fe1ad80c557f934b49e9c33916432c9633d57', class: "betting-type-text" }, index.h("div", { key: '76fb553eb922d6b48926a087aa7217a8cc188248', class: "LotteryTippingTicketController__segmented-control" }, Object.keys(this.curDrawSelectionMap).map((bettingType) => (index.h("button", { class: {
1908
2252
  LotteryTippingTicketController__segment: true,
1909
2253
  'LotteryTippingTicketController__segment--active': this.curDrawSelectionBettingType === bettingType
1910
- }, onClick: this.handleDrawBettingTypeChange.bind(this, bettingType) }, this.getBettingTypeName(bettingType))))))), index.h("lottery-tipping-ticket-bet", { key: '4c7f8f1078974c0bc7f0297cff32483c780b4f49', "session-id": this.sessionId, endpoint: this.endpoint, "game-id": this.vendorGameId, "draw-id": this.curDrawItem.id, "default-bullet-config-line-group": JSON.stringify(this.curDrawSelection), "read-pretty": true, "total-pages": this.curDrawSelection.length, language: this.language, "mb-source": this.mbSource, "client-styling-url": this.clientStylingUrl, "translation-url": this.translationUrl })), this.isLoadingTurnover ? (index.h("div", { class: "loading-wrap" }, index.h("ui-skeleton", { structure: "title", width: "140px", height: "30px" }), index.h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), index.h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), index.h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), index.h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }))) : (index.h("div", { class: "prize-result" }, index.h("div", { class: "prize-result-title" }, translate$6('prizeAllocation', this.language, { turnover: formattedTurnover(this.curTurnOver) })), index.h("div", { class: "prize-result-table" }, index.h("div", { class: "prize-result-table-header" }, index.h("div", { class: "prize-result-table-row" }, index.h("div", { class: "prize-result-table-column" }, translate$6('prizes', this.language)), index.h("div", { class: "prize-result-table-column" }, translate$6('numberOfWinners', this.language)), index.h("div", { class: "prize-result-table-column" }, translate$6('prizeMoney', this.language)))), index.h("div", { class: "prize-result-table-body" }, this.displayedPrizes.map((prize) => (index.h("div", { class: "prize-result-table-row" }, index.h("div", { class: "prize-result-table-column" }, prize.divisionDisplayName), index.h("div", { class: "prize-result-table-column" }, prize.players), index.h("div", { class: "prize-result-table-column" }, thousandSeperator$1(prize.totalAmount.value))))))))))), this.curDrawSelection.length == 0 && !this.isLoading && (index.h("div", { key: '93fd51e592eff954015ffbc6bf7230713441f7dd' }, translate$6('noLatestResult', this.language))), this.isLoading && index.h("div", { key: 'eb1a90026da5e7cd92936f18840acdc3ce95ebf4', class: "loading-wrap" }, translate$6('loading', this.language))));
2254
+ }, onClick: this.handleDrawBettingTypeChange.bind(this, bettingType) }, this.getBettingTypeName(bettingType))))))), index.h("lottery-tipping-ticket-bet", { key: '4c7f8f1078974c0bc7f0297cff32483c780b4f49', "session-id": this.sessionId, endpoint: this.endpoint, "game-id": this.vendorGameId, "draw-id": this.curDrawItem.id, "default-bullet-config-line-group": JSON.stringify(this.curDrawSelection), "read-pretty": true, "total-pages": this.curDrawSelection.length, language: this.language, "mb-source": this.mbSource, "client-styling-url": this.clientStylingUrl, "translation-url": this.translationUrl })), this.isLoadingTurnover ? (index.h("div", { class: "loading-wrap" }, index.h("ui-skeleton", { structure: "title", width: "140px", height: "30px" }), index.h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), index.h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), index.h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), index.h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }))) : (index.h("div", { class: "prize-result" }, index.h("div", { class: "prize-result-title" }, translate$5('prizeAllocation', this.language, { turnover: formattedTurnover$1(this.curTurnOver) })), index.h("div", { class: "prize-result-table" }, index.h("div", { class: "prize-result-table-header" }, index.h("div", { class: "prize-result-table-row" }, index.h("div", { class: "prize-result-table-column" }, translate$5('prizes', this.language)), index.h("div", { class: "prize-result-table-column" }, translate$5('numberOfWinners', this.language)), index.h("div", { class: "prize-result-table-column" }, translate$5('prizeMoney', this.language)))), index.h("div", { class: "prize-result-table-body" }, this.displayedPrizes.map((prize) => (index.h("div", { class: "prize-result-table-row" }, index.h("div", { class: "prize-result-table-column" }, prize.divisionDisplayName), index.h("div", { class: "prize-result-table-column" }, prize.players), index.h("div", { class: "prize-result-table-column" }, thousandSeperator$1(prize.totalAmount.value))))))))))), this.curDrawSelection.length == 0 && !this.isLoading && (index.h("div", { key: '93fd51e592eff954015ffbc6bf7230713441f7dd' }, translate$5('noLatestResult', this.language))), this.isLoading && index.h("div", { key: 'eb1a90026da5e7cd92936f18840acdc3ce95ebf4', class: "loading-wrap" }, translate$5('loading', this.language))));
1911
2255
  }
1912
2256
  static get watchers() { return {
1913
2257
  "clientStyling": ["handleClientStylingChange"],
@@ -1923,9 +2267,9 @@ var Tab;
1923
2267
  Tab["MyTickets"] = "MY_TICKETS";
1924
2268
  })(Tab || (Tab = {}));
1925
2269
 
1926
- const DEFAULT_LANGUAGE$3 = 'en';
1927
- const SUPPORTED_LANGUAGES$3 = ['ro', 'en', 'fr', 'ar', 'hr'];
1928
- const TRANSLATIONS$3 = {
2270
+ const DEFAULT_LANGUAGE$2 = 'en';
2271
+ const SUPPORTED_LANGUAGES$2 = ['ro', 'en', 'fr', 'ar', 'hr'];
2272
+ const TRANSLATIONS$2 = {
1929
2273
  en: {
1930
2274
  buyTickets: 'Buy Tickets',
1931
2275
  myTickets: 'My Tickets',
@@ -1952,14 +2296,14 @@ const TRANSLATIONS$3 = {
1952
2296
  logout: 'Odjava'
1953
2297
  }
1954
2298
  };
1955
- const translate$3 = (key, customLang) => {
2299
+ const translate$2 = (key, customLang) => {
1956
2300
  const lang = customLang;
1957
- return TRANSLATIONS$3[lang !== undefined && SUPPORTED_LANGUAGES$3.includes(lang) ? lang : DEFAULT_LANGUAGE$3][key];
2301
+ return TRANSLATIONS$2[lang !== undefined && SUPPORTED_LANGUAGES$2.includes(lang) ? lang : DEFAULT_LANGUAGE$2][key];
1958
2302
  };
1959
2303
  const getTranslations$2 = (data) => {
1960
2304
  Object.keys(data).forEach((item) => {
1961
2305
  for (let key in data[item]) {
1962
- TRANSLATIONS$3[item][key] = data[item][key];
2306
+ TRANSLATIONS$2[item][key] = data[item][key];
1963
2307
  }
1964
2308
  });
1965
2309
  };
@@ -2038,8 +2382,8 @@ const LotteryTippingPage = class {
2038
2382
  }
2039
2383
  renderTabs() {
2040
2384
  const tabOptions = {
2041
- [Tab.BuyTickets]: translate$3('buyTickets', this.language),
2042
- [Tab.MyTickets]: translate$3('myTickets', this.language)
2385
+ [Tab.BuyTickets]: translate$2('buyTickets', this.language),
2386
+ [Tab.MyTickets]: translate$2('myTickets', this.language)
2043
2387
  };
2044
2388
  return (index.h("div", { class: "tab-btns" }, Object.values(Tab).map((tab) => (index.h("div", { class: 'tab-btn' + (this.activeTab === tab ? ' active' : ''), onClick: this.handleTabClick.bind(this, tab) }, tabOptions[tab])))));
2045
2389
  }
@@ -2325,14 +2669,14 @@ const LotteryTippingPagination = class {
2325
2669
  }
2326
2670
  render() {
2327
2671
  const pages = this.getPagesToShow();
2328
- return (index.h("div", { key: 'daa1bf4cd3031ae3f908bd2638424cbf82b81021', class: "paginator", ref: (el) => (this.stylingContainer = el) }, index.h("div", { key: '93841d6094df6f52b24e277b66d92158aabd2955', class: "total-num" }, translate$4('totalItems', this.language, { total: this.total })), index.h("button", { key: '205e1dcc5e5c1b18f2dbbb61e127d13e4adaa79f', class: "arrow-btn", disabled: this.current <= 1, onClick: () => this.goToPage(this.current - 1) }, "<"), pages.map((item) => {
2672
+ return (index.h("div", { key: 'daa1bf4cd3031ae3f908bd2638424cbf82b81021', class: "paginator", ref: (el) => (this.stylingContainer = el) }, index.h("div", { key: '93841d6094df6f52b24e277b66d92158aabd2955', class: "total-num" }, translate$3('totalItems', this.language, { total: this.total })), index.h("button", { key: '205e1dcc5e5c1b18f2dbbb61e127d13e4adaa79f', class: "arrow-btn", disabled: this.current <= 1, onClick: () => this.goToPage(this.current - 1) }, "<"), pages.map((item) => {
2329
2673
  if (item.type === 'page') {
2330
2674
  return (index.h("button", { class: { page: true, active: this.current === item.value }, onClick: () => this.goToPage(item.value) }, item.value));
2331
2675
  }
2332
2676
  else {
2333
2677
  return (index.h("button", { class: "ellipsis", onClick: () => this.jumpTo(item.direction) }, "..."));
2334
2678
  }
2335
- }), index.h("button", { key: '3213a6519702b4215e66afadf8dc6e44839455e7', class: "arrow-btn", disabled: this.current >= this.totalPages, onClick: () => this.goToPage(this.current + 1) }, ">"), index.h("select", { key: 'da36befb97834a7d3ca212f724306cbe57f76167', onInput: (e) => this.changePageSize(parseInt(e.target.value)) }, this.pageSizeOptions.map((size) => (index.h("option", { value: size }, translate$4('perPage', this.language, { size: size }))))), index.h("div", { key: '063ca0f31a3ab170a697af945414602f95748dac', class: "jump-box" }, translate$4('goTo', this.language), index.h("input", { key: '1ec1cbf62de505ea6770c59536c41f3bbb241261', type: "number", min: "1", max: this.totalPages, value: this.current, onKeyDown: (e) => {
2679
+ }), index.h("button", { key: '3213a6519702b4215e66afadf8dc6e44839455e7', class: "arrow-btn", disabled: this.current >= this.totalPages, onClick: () => this.goToPage(this.current + 1) }, ">"), index.h("select", { key: 'da36befb97834a7d3ca212f724306cbe57f76167', onInput: (e) => this.changePageSize(parseInt(e.target.value)) }, this.pageSizeOptions.map((size) => (index.h("option", { value: size }, translate$3('perPage', this.language, { size: size }))))), index.h("div", { key: '063ca0f31a3ab170a697af945414602f95748dac', class: "jump-box" }, translate$3('goTo', this.language), index.h("input", { key: '1ec1cbf62de505ea6770c59536c41f3bbb241261', type: "number", min: "1", max: this.totalPages, value: this.current, onKeyDown: (e) => {
2336
2680
  if (e.key === 'Enter') {
2337
2681
  const input = e.target;
2338
2682
  const page = parseInt(input.value);
@@ -2417,390 +2761,19 @@ const lotteryTippingPanel = class {
2417
2761
  };
2418
2762
  lotteryTippingPanel.style = LotteryTippingPanelStyle0;
2419
2763
 
2420
- const DEFAULT_LANGUAGE$2 = 'en';
2421
- const SUPPORTED_LANGUAGES$2 = ['ro', 'en', 'fr', 'ar', 'hr'];
2422
- const TRANSLATIONS$2 = {
2764
+ const DEFAULT_LANGUAGE$1 = 'en';
2765
+ const SUPPORTED_LANGUAGES$1 = ['ro', 'en', 'fr', 'ar', 'hr'];
2766
+ const TRANSLATIONS$1 = {
2423
2767
  en: {
2424
- stop: 'Stop',
2425
- at: 'at',
2426
- turnover: 'Turnover: ',
2427
- selectionCleared: 'Your selection will be cleared.',
2428
- ticketSubmitted: 'Ticket submitted successfully.',
2429
- ticketFailed: 'Failed to purchase the ticket. Please try again.',
2430
- lines: 'Lines',
2431
- line: 'Line',
2432
- bettingType: 'Betting Type',
2433
- playingMode: 'Playing Mode',
2434
- orderSummaryTitle: 'Order Summary',
2435
- orderSummaryTickets: 'Tickets',
2436
- orderSummaryTotal: 'Total',
2437
- orderSummarySubmit: 'Submit',
2438
- cancel: 'Cancel',
2439
- confirm: 'Confirm',
2440
- stakePerLine: 'Stake per Line:'
2441
- },
2442
- ro: {
2443
- selectionCleared: 'Selecția dvs. va fi ștearsă.',
2444
- ticketSubmitted: 'Bilet trimis cu succes.',
2445
- ticketFailed: 'Nu s-a putut achiziționa biletul. Vă rugăm să încercați din nou.',
2446
- lines: 'Linii',
2447
- line: 'Linie',
2448
- bettingType: 'Tip de pariu',
2449
- playingMode: 'Mod de joc',
2450
- orderSummaryTitle: 'Sumar comandă',
2451
- orderSummaryTickets: 'Bilete',
2452
- orderSummaryTotal: 'Total',
2453
- orderSummarySubmit: 'Trimite',
2454
- cancel: 'Anulează',
2455
- confirm: 'Confirmă'
2456
- },
2457
- fr: {
2458
- selectionCleared: 'Votre sélection sera effacée.',
2459
- ticketSubmitted: 'Billet soumis avec succès.',
2460
- ticketFailed: "Échec de l'achat du billet. Veuillez réessayer.",
2461
- lines: 'Lignes',
2462
- line: 'Ligne',
2463
- bettingType: 'Type de pari',
2464
- playingMode: 'Mode de jeu',
2465
- orderSummaryTitle: 'Résumé de la commande',
2466
- orderSummaryTickets: 'Billets',
2467
- orderSummaryTotal: 'Total',
2468
- orderSummarySubmit: 'Soumettre',
2469
- cancel: 'Annuler',
2470
- confirm: 'Confirmer'
2471
- },
2472
- ar: {
2473
- selectionCleared: 'سيتم مسح اختيارك.',
2474
- ticketSubmitted: 'تم إرسال التذكرة بنجاح.',
2475
- ticketFailed: 'فشل شراء التذكرة. يرجى المحاولة مرة أخرى.',
2476
- lines: 'خطوط',
2477
- line: 'خط',
2478
- bettingType: 'نوع الرهان',
2479
- playingMode: 'وضع اللعب',
2480
- orderSummaryTitle: 'ملخص الطلب',
2481
- orderSummaryTickets: 'التذاكر',
2482
- orderSummaryTotal: 'المجموع',
2483
- orderSummarySubmit: 'إرسال',
2484
- cancel: 'إلغاء',
2485
- confirm: 'تأكيد'
2486
- },
2487
- hr: {
2488
- selectionCleared: 'Vaš odabir bit će obrisan.',
2489
- ticketSubmitted: 'Listić je uspješno predan.',
2490
- ticketFailed: 'Kupnja listića nije uspjela. Molimo pokušajte ponovo.',
2491
- lines: 'Linije',
2492
- line: 'Linija',
2493
- bettingType: 'Vrsta oklade',
2494
- playingMode: 'Način igranja',
2495
- orderSummaryTitle: 'Sažetak narudžbe',
2496
- orderSummaryTickets: 'Listići',
2497
- orderSummaryTotal: 'Ukupno',
2498
- orderSummarySubmit: 'Pošalji',
2499
- cancel: 'Odustani',
2500
- confirm: 'Potvrdi'
2501
- }
2502
- };
2503
- const translate$2 = (key, customLang) => {
2504
- const lang = customLang;
2505
- return TRANSLATIONS$2[lang !== undefined && SUPPORTED_LANGUAGES$2.includes(lang) ? lang : DEFAULT_LANGUAGE$2][key];
2506
- };
2507
- const getTranslations$1 = (data) => {
2508
- Object.keys(data).forEach((item) => {
2509
- for (let key in data[item]) {
2510
- TRANSLATIONS$2[item][key] = data[item][key];
2511
- }
2512
- });
2513
- };
2514
- const resolveTranslationUrl = async (translationUrl) => {
2515
- if (translationUrl) {
2516
- try {
2517
- const response = await fetch(translationUrl);
2518
- if (!response.ok) {
2519
- throw new Error(`HTTP error! status: ${response.status}`);
2520
- }
2521
- const translations = await response.json();
2522
- getTranslations$1(translations);
2523
- }
2524
- catch (error) {
2525
- console.error('Failed to fetch or parse translations from URL:', error);
2526
- }
2527
- }
2528
- };
2529
-
2530
- const formatDate$1 = ({ date, type = 'date', format }) => {
2531
- try {
2532
- const parsedDate = lotteryTippingEntrance.parseISO(date);
2533
- if (isNaN(parsedDate.getTime())) {
2534
- throw new Error(`Invalid date: ${date}`);
2535
- }
2536
- if (format)
2537
- return lotteryTippingEntrance.format(parsedDate, format);
2538
- let formatStr = 'dd/MM/yyyy';
2539
- if (type === 'time') {
2540
- formatStr = 'dd/MM/yyyy HH:mm:ss';
2541
- }
2542
- else if (type === 'week') {
2543
- formatStr = 'ccc dd/MM/yyyy HH:mm:ss';
2544
- }
2545
- return lotteryTippingEntrance.format(parsedDate, formatStr);
2546
- }
2547
- catch (error) {
2548
- console.error('Error formatting date:', error.message);
2549
- return '';
2550
- }
2551
- };
2552
- const generateUUID$1 = () => {
2553
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
2554
- var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;
2555
- return v.toString(16);
2556
- });
2557
- };
2558
- function fetchRequest(url, method = 'GET', body = null, headers = {}) {
2559
- return new Promise((resolve, reject) => {
2560
- const uuid = generateUUID$1();
2561
- const headersOrigin = Object.assign({ 'Content-Type': 'application/json' }, headers);
2562
- if (method !== 'GET' && method !== 'HEAD') {
2563
- headersOrigin['X-Idempotency-Key'] = uuid;
2564
- }
2565
- const options = {
2566
- method,
2567
- headers: headersOrigin
2568
- };
2569
- if (body && method !== 'GET' && method !== 'HEAD') {
2570
- options.body = JSON.stringify(body);
2571
- }
2572
- fetch(url, options)
2573
- .then((response) => {
2574
- if (!response.ok) {
2575
- throw new Error(`HTTP error! Status: ${response.status}`);
2576
- }
2577
- return response.json();
2578
- })
2579
- .then((data) => resolve(data))
2580
- .catch((error) => reject(error));
2581
- });
2582
- }
2583
- const showNotification$1 = ({ message, theme = 'success' }) => {
2584
- window.postMessage({
2585
- type: 'ShowNotificationToast',
2586
- message,
2587
- theme
2588
- });
2589
- };
2590
- const thousandSeparator = (value) => {
2591
- if (value === 0) {
2592
- return '0';
2593
- }
2594
- if (!value) {
2595
- return '';
2596
- }
2597
- value = value.toString();
2598
- const parts = value.split('.');
2599
- parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
2600
- return parts.join('.');
2601
- };
2602
- const HomeDrawAwayArr = ['H', 'D', 'A'];
2603
- // Utility to format raw results into winning numbers (H/D/A)
2604
- const formatResultsToWinningNumbers = (rawResults) => {
2605
- // Convert each bullet item into binary (1 if selected, 0 otherwise)
2606
- const toBinarySelection = (matchRes) => matchRes.map((bulletItem) => (bulletItem.isSelected ? 1 : 0));
2607
- // Step 1: Convert rawResults into arrays of 0/1 flags
2608
- const binaryResults = rawResults.map((lineRes) => lineRes.map(toBinarySelection));
2609
- const resultLinesArr = [];
2610
- // Step 2: Iterate through each line of results
2611
- binaryResults.forEach((line, lineIdx) => {
2612
- const formattedLine = [];
2613
- // Step 3: Iterate through each match in a line
2614
- line.forEach((match, matchIdx) => {
2615
- // Step 4: Collect the winning outcomes (H/D/A) based on binary flags
2616
- const outcomes = match.map((isSelected, idx) => (isSelected ? HomeDrawAwayArr[idx] : null)).filter(Boolean);
2617
- // Wrap outcomes into the expected structure [[matchRes]]
2618
- formattedLine[matchIdx] = [outcomes];
2619
- });
2620
- resultLinesArr[lineIdx] = formattedLine;
2621
- });
2622
- return resultLinesArr;
2623
- };
2624
- const buildSubmitParam = ({ playerId, rawResults, gameId, rawData, amount, currentStake, betTypeId, betType }) => {
2625
- var _a;
2626
- const body = { playerId, tickets: [] };
2627
- const selections = formatResultsToWinningNumbers(rawResults);
2628
- const stake = currentStake || {};
2629
- body.tickets.push({
2630
- startingDrawId: (_a = rawData === null || rawData === void 0 ? void 0 : rawData.currentDraw) === null || _a === void 0 ? void 0 : _a.id,
2631
- amount,
2632
- gameId: gameId,
2633
- gameName: rawData.name,
2634
- currency: stake.currency,
2635
- selection: selections.map((i) => ({
2636
- betType: betTypeId,
2637
- stake: +stake.value,
2638
- poolGameSelections: i,
2639
- quickPick: false,
2640
- betName: betType.name
2641
- })),
2642
- multiplier: false,
2643
- drawCount: 1,
2644
- quickPick: false
2645
- });
2646
- return body;
2647
- };
2648
- // BettingTypes, playModes and playTypes
2649
- const getEnableOptions = (raw = []) => raw.filter((i) => i.enabled);
2650
- // the first one in bet type config that enabled = true, will be default choice
2651
- const getDefaultType = ({ playTypeConfig = [], betTypeConfig = [], enabledBettingTypeOptions = [], enabledPlayingModeOptions = [] }) => {
2652
- const enabledBetTypeConfig = betTypeConfig.filter((i) => i.enabled);
2653
- for (const item of enabledBetTypeConfig) {
2654
- const { bettingType, playMode } = playTypeConfig === null || playTypeConfig === void 0 ? void 0 : playTypeConfig.find((i) => i.betTypeId === item.id);
2655
- if (enabledBettingTypeOptions.map((i) => i.code).includes(bettingType) &&
2656
- enabledPlayingModeOptions.map((i) => i.code).includes(playMode))
2657
- return { bettingType, playMode };
2658
- }
2659
- return {};
2660
- };
2661
- const calculatePlayingModeOptions = ({ bettingType, playTypeConfig, betTypeConfig, enabledPlayingModeOptions }) => {
2662
- const enabledBetTypeIdConfig = betTypeConfig.filter((i) => i.enabled).map((i) => i.id);
2663
- const filteredPlayTypesConfig = playTypeConfig.filter((i) => enabledBetTypeIdConfig.includes(i.betTypeId));
2664
- const selectedBettingTypeFilteredPlayTypesConfig = filteredPlayTypesConfig.filter((i) => i.bettingType === bettingType);
2665
- const _ = selectedBettingTypeFilteredPlayTypesConfig.map((i) => i.playMode);
2666
- return enabledPlayingModeOptions.filter((i) => _.includes(i.code));
2667
- };
2668
- const getCheckedCountForEachLineAndEachMatch = ({ rawResults }) => {
2669
- const getMatchCheckRes = (matchRes) => matchRes.filter((bulletItem) => bulletItem.isSelected).length;
2670
- const checkedCountForEachLineAndEachMatch = rawResults.map((lineRes) => lineRes.length > 0 ? lineRes.map(getMatchCheckRes) : [0]);
2671
- return checkedCountForEachLineAndEachMatch;
2672
- };
2673
- const getPlayTypeConfig = ({ rawData, selectedBettingType, selectedPlayingMode }) => {
2674
- var _a, _b, _c, _d, _e, _f;
2675
- const betTypeId = (_d = (_c = (_b = (_a = rawData === null || rawData === void 0 ? void 0 : rawData.rules) === null || _a === void 0 ? void 0 : _a.poolGame) === null || _b === void 0 ? void 0 : _b.playTypes) === null || _c === void 0 ? void 0 : _c.find((i) => i.bettingType === selectedBettingType && i.playMode === selectedPlayingMode)) === null || _d === void 0 ? void 0 : _d.betTypeId;
2676
- const betType = (_f = (_e = rawData === null || rawData === void 0 ? void 0 : rawData.rules) === null || _e === void 0 ? void 0 : _e.betTypes) === null || _f === void 0 ? void 0 : _f.find((i) => i.id === betTypeId);
2677
- return { betTypeId, betType };
2678
- };
2679
- const getMinValue = (arr) => (arr.length ? Math.min.apply(null, arr) : undefined);
2680
-
2681
- const DEFAULT_LANGUAGE$1 = 'en';
2682
- const SUPPORTED_LANGUAGES$1 = ['ro', 'en', 'fr', 'ar', 'hr'];
2683
- const TRANSLATIONS$1 = {
2684
- en: {
2685
- stop: 'Stop',
2686
- at: 'at',
2687
- turnover: 'Turnover: '
2688
- },
2689
- ro: {
2690
- stop: 'Oprește',
2691
- at: 'la'
2692
- },
2693
- fr: {
2694
- stop: 'Arrêtez',
2695
- at: 'à'
2696
- },
2697
- ar: {
2698
- stop: 'توقف',
2699
- at: 'في'
2700
- },
2701
- hr: {
2702
- stop: 'Stop',
2703
- at: 'u'
2704
- }
2705
- };
2706
- const translate$1 = (key, customLang) => {
2707
- const lang = customLang;
2708
- return TRANSLATIONS$1[lang !== undefined && SUPPORTED_LANGUAGES$1.includes(lang) ? lang : DEFAULT_LANGUAGE$1][key];
2709
- };
2710
-
2711
- const lotteryTippingTicketBannerCss = ".lottery-tipping-ticket-banner__container {\n font-family: system-ui, sans-serif;\n font-size: 14px;\n container-type: inline-size;\n}\n\n.banner {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0 1rem;\n background: var(--emw--color-primary, #fed275);\n border-top: 2px solid var(--emw--color-primary, #fed275);\n border-bottom: 2px solid var(--emw--color-primary, #fed275);\n gap: 0.5rem;\n white-space: nowrap;\n position: relative;\n height: 46px;\n}\n\n.left {\n flex: 1;\n gap: 0.4rem;\n}\n.left .logo {\n width: 216px;\n position: absolute;\n top: -7px;\n}\n\n.brand {\n font-weight: 700;\n color: var(--emw--color-typography, #000);\n}\n\n.mid {\n flex: 1;\n font-size: 1.5rem;\n font-weight: 800;\n font-style: italic;\n letter-spacing: 0.04em;\n color: var(--emw--color-typography, #000);\n text-align: center;\n}\n\n.right {\n flex: 1;\n display: flex;\n gap: 0.4rem;\n flex-wrap: wrap;\n justify-content: flex-end;\n}\n\n@container (max-width: 420px) {\n .mid {\n text-align: right;\n }\n .right {\n justify-content: center;\n }\n}\n.pill {\n padding: 0.25rem 0.7rem;\n font-size: 0.9rem;\n color: var(--emw--color-gray-400, #000);\n display: inline-flex;\n align-items: baseline;\n}\n\n.pill > strong {\n font-weight: 700;\n}";
2712
- const LotteryTippingTicketBannerStyle0 = lotteryTippingTicketBannerCss;
2713
-
2714
- const LotteryTippingTicketBanner = class {
2715
- constructor(hostRef) {
2716
- index.registerInstance(this, hostRef);
2717
- this.mbSource = undefined;
2718
- this.clientStyling = undefined;
2719
- this.clientStylingUrl = undefined;
2720
- this.language = 'en';
2721
- this.translationUrl = '';
2722
- this.logoUrl = undefined;
2723
- this.stopTime = '';
2724
- this.period = undefined;
2725
- this.formattedTurnover = undefined;
2726
- }
2727
- get formattedStopTime() {
2728
- let _temp = '';
2729
- if (!this.stopTime) {
2730
- return _temp;
2731
- }
2732
- _temp = formatDate$1({ date: this.stopTime, format: 'dd/MM/yyyy HH:mm' });
2733
- if (isToday(new Date(this.stopTime))) {
2734
- _temp = formatDate$1({ date: this.stopTime, format: 'HH:mm' });
2735
- }
2736
- return _temp;
2737
- }
2738
- get formattedPeriod() {
2739
- let _temp = '';
2740
- _temp = formatDate$1({ date: this.period, format: 'EEEE' });
2741
- if (_temp.toLowerCase() === 'wednesday') {
2742
- _temp = 'MIDWEEK';
2743
- }
2744
- return _temp.toUpperCase();
2745
- }
2746
- handleClientStylingChange(newValue, oldValue) {
2747
- if (newValue != oldValue) {
2748
- lotteryTippingEntrance.setClientStyling(this.stylingContainer, this.clientStyling);
2749
- }
2750
- }
2751
- handleClientStylingUrlChange(newValue, oldValue) {
2752
- if (newValue != oldValue) {
2753
- lotteryTippingEntrance.setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
2754
- }
2755
- }
2756
- handleMbSourceChange(newValue, oldValue) {
2757
- if (newValue != oldValue) {
2758
- lotteryTippingEntrance.setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
2759
- }
2760
- }
2761
- async componentWillLoad() {
2762
- if (this.translationUrl) {
2763
- resolveTranslationUrl(this.translationUrl);
2764
- }
2765
- }
2766
- componentDidLoad() {
2767
- if (this.stylingContainer) {
2768
- if (this.mbSource)
2769
- lotteryTippingEntrance.setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
2770
- if (this.clientStyling)
2771
- lotteryTippingEntrance.setClientStyling(this.stylingContainer, this.clientStyling);
2772
- if (this.clientStylingUrl)
2773
- lotteryTippingEntrance.setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
2774
- }
2775
- }
2776
- disconnectedCallback() {
2777
- this.stylingSubscription && this.stylingSubscription.unsubscribe();
2778
- }
2779
- render() {
2780
- return (index.h("div", { key: 'e9286d0a6a9433698703b9c04d6d50892a7b3168', ref: (el) => (this.stylingContainer = el), class: "lottery-tipping-ticket-banner__container" }, index.h("section", { key: 'd787e64156f76cf6d12bd552513971301534860c', class: "banner" }, index.h("div", { key: '027baf0c88733d1430801c96b5b338f79f92f22c', class: "left" }, this.logoUrl && index.h("img", { key: '7b41d5635a2121ccf394aca19de48e10e9a93357', alt: "Betting", src: this.logoUrl, class: "logo" })), index.h("div", { key: '73e6c3ffa336b020a3819a72b71117b8084381b1', class: "mid period" }, this.formattedPeriod), index.h("div", { key: '922ae894814157f68aa8f0774c8aa5ca06e1e7cd', class: "right" }, index.h("span", { key: 'efaf79b1ff5617f2ba92cfef464232041cd87fbf', class: "pill" }, index.h("strong", { key: 'c842562b15a13407038933da9d1cc7c6fafa0b76' }, translate$1('stop', this.language)), "\u00A0", translate$1('at', this.language), "\u00A0", this.formattedStopTime), index.h("span", { key: '3e79a5ec17cbcf0896d58196286fa0b637988f69', class: "pill" }, index.h("strong", { key: '1158b00abffb1c6bf04e9eec10b4c996d04f118e' }, translate$1('turnover', this.language)), "\u00A0", this.formattedTurnover)))));
2781
- }
2782
- static get assetsDirs() { return ["../static"]; }
2783
- static get watchers() { return {
2784
- "clientStyling": ["handleClientStylingChange"],
2785
- "clientStylingUrl": ["handleClientStylingUrlChange"],
2786
- "mbSource": ["handleMbSourceChange"]
2787
- }; }
2788
- };
2789
- LotteryTippingTicketBanner.style = LotteryTippingTicketBannerStyle0;
2790
-
2791
- const DEFAULT_LANGUAGE = 'en';
2792
- const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
2793
- const TRANSLATIONS = {
2794
- en: {
2795
- homeTeam: 'Home team:',
2796
- awayTeam: 'Away team:',
2797
- selectionCleared: 'Your selection has been cleared.',
2798
- selectionOnLineCleared: 'Your selection on this line will be cleared.',
2799
- loading: 'Loading...',
2800
- error: 'Error!',
2801
- noData: 'No data available.',
2802
- lineInfo: 'Line {currentPage} of {totalPages}',
2803
- clearAll: 'Clear All',
2768
+ homeTeam: 'Home team:',
2769
+ awayTeam: 'Away team:',
2770
+ selectionCleared: 'Your selection has been cleared.',
2771
+ selectionOnLineCleared: 'Your selection on this line will be cleared.',
2772
+ loading: 'Loading...',
2773
+ error: 'Error!',
2774
+ noData: 'No data available.',
2775
+ lineInfo: 'Line {currentPage} of {totalPages}',
2776
+ clearAll: 'Clear All',
2804
2777
  cancel: 'Cancel',
2805
2778
  confirm: 'Confirm'
2806
2779
  },
@@ -2853,9 +2826,9 @@ const TRANSLATIONS = {
2853
2826
  confirm: 'Potvrdi'
2854
2827
  }
2855
2828
  };
2856
- const translate = (key, customLang, replacements) => {
2829
+ const translate$1 = (key, customLang, replacements) => {
2857
2830
  const lang = customLang;
2858
- let translation = TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
2831
+ let translation = TRANSLATIONS$1[lang !== undefined && SUPPORTED_LANGUAGES$1.includes(lang) ? lang : DEFAULT_LANGUAGE$1][key];
2859
2832
  if (replacements) {
2860
2833
  Object.keys(replacements).forEach((placeholder) => {
2861
2834
  translation = translation.replace(`{${placeholder}}`, replacements[placeholder]);
@@ -2863,15 +2836,15 @@ const translate = (key, customLang, replacements) => {
2863
2836
  }
2864
2837
  return translation;
2865
2838
  };
2866
- const getTranslations = (data) => {
2839
+ const getTranslations$1 = (data) => {
2867
2840
  Object.keys(data).forEach((item) => {
2868
2841
  for (let key in data[item]) {
2869
- TRANSLATIONS[item][key] = data[item][key];
2842
+ TRANSLATIONS$1[item][key] = data[item][key];
2870
2843
  }
2871
2844
  });
2872
2845
  };
2873
2846
 
2874
- const formatDate = ({ date, type = 'date', format }) => {
2847
+ const formatDate$1 = ({ date, type = 'date', format }) => {
2875
2848
  try {
2876
2849
  const parsedDate = lotteryTippingEntrance.parseISO(date);
2877
2850
  if (isNaN(parsedDate.getTime())) {
@@ -2906,7 +2879,7 @@ const DEFAULT_BULLET_CONFIG = [
2906
2879
  }
2907
2880
  ];
2908
2881
  const SPLIT_TOKEN = '-';
2909
- const showNotification = ({ message, theme = 'success' }) => {
2882
+ const showNotification$1 = ({ message, theme = 'success' }) => {
2910
2883
  window.postMessage({
2911
2884
  type: 'ShowNotificationToast',
2912
2885
  message,
@@ -2937,7 +2910,7 @@ const LotteryTippingTicketBet = class {
2937
2910
  index.registerInstance(this, hostRef);
2938
2911
  this.lotteryTippingBulletBetEvent = index.createEvent(this, "lotteryTippingBulletBetSelect", 7);
2939
2912
  this.lotteryTippingCurrentPageChangeEvent = index.createEvent(this, "lotteryTippingCurrentPageChange", 7);
2940
- this.eventNameRender = (item, value) => (index.h("div", { class: "flex gap-1 eventNameContainer__item" }, index.h("span", { class: "eventNameContainer__item--title" }, value), index.h("general-tooltip", null, index.h("span", { slot: "trigger", class: "icon info-icon", innerHTML: infoImagePath, style: { width: '18px' } }), index.h("div", { slot: "content" }, index.h("div", { class: "match-info" }, index.h("div", { class: "match-info-item" }, index.h("div", { class: "match-info-item-label" }, translate('homeTeam', this.language)), index.h("div", { class: "match-info-item-value" }, item.homeName)), index.h("div", { class: "match-info-item" }, index.h("div", { class: "match-info-item-label" }, translate('awayTeam', this.language)), index.h("div", { class: "match-info-item-value" }, item.awayName)))))));
2913
+ this.eventNameRender = (item, value) => (index.h("div", { class: "flex gap-1 eventNameContainer__item" }, index.h("span", { class: "eventNameContainer__item--title" }, value), index.h("general-tooltip", null, index.h("span", { slot: "trigger", class: "icon info-icon", innerHTML: infoImagePath, style: { width: '18px' } }), index.h("div", { slot: "content" }, index.h("div", { class: "match-info" }, index.h("div", { class: "match-info-item" }, index.h("div", { class: "match-info-item-label" }, translate$1('homeTeam', this.language)), index.h("div", { class: "match-info-item-value" }, item.homeName)), index.h("div", { class: "match-info-item" }, index.h("div", { class: "match-info-item-label" }, translate$1('awayTeam', this.language)), index.h("div", { class: "match-info-item-value" }, item.awayName)))))));
2941
2914
  this.columns = [
2942
2915
  { title: '', value: 'index', width: 3 },
2943
2916
  {
@@ -2952,7 +2925,7 @@ const LotteryTippingTicketBet = class {
2952
2925
  width: 22,
2953
2926
  align: 'right',
2954
2927
  nowrap: true,
2955
- render: (_, value) => formatDate({ date: value, format: 'ccc HH:mm' })
2928
+ render: (_, value) => formatDate$1({ date: value, format: 'ccc HH:mm' })
2956
2929
  },
2957
2930
  {
2958
2931
  title: () => (index.h("lottery-tipping-bullet-group", { theme: "text", bulletConfigContent: JSON.stringify(DEFAULT_BULLET_CONFIG) })),
@@ -2990,7 +2963,7 @@ const LotteryTippingTicketBet = class {
2990
2963
  }
2991
2964
  handleNewTranslations() {
2992
2965
  this.isLoading = true;
2993
- getTranslations(JSON.parse(this.translationUrl));
2966
+ getTranslations$1(JSON.parse(this.translationUrl));
2994
2967
  this.isLoading = false;
2995
2968
  }
2996
2969
  handleClientStylingChange(newValue, oldValue) {
@@ -3013,7 +2986,7 @@ const LotteryTippingTicketBet = class {
3013
2986
  }
3014
2987
  componentWillLoad() {
3015
2988
  if (this.translationUrl) {
3016
- getTranslations(JSON.parse(this.translationUrl));
2989
+ getTranslations$1(JSON.parse(this.translationUrl));
3017
2990
  }
3018
2991
  }
3019
2992
  componentDidLoad() {
@@ -3087,7 +3060,7 @@ const LotteryTippingTicketBet = class {
3087
3060
  }
3088
3061
  handleClearAll() {
3089
3062
  this._resetBulletConfig();
3090
- showNotification({ message: translate('selectionCleared', this.language) });
3063
+ showNotification$1({ message: translate$1('selectionCleared', this.language) });
3091
3064
  this.lotteryTippingBulletBetEvent.emit({ hasSelectBullet: false });
3092
3065
  }
3093
3066
  async resetBulletConfig({ minLineNumber, maxLineNumber, defaultBoards }) {
@@ -3171,7 +3144,7 @@ const LotteryTippingTicketBet = class {
3171
3144
  };
3172
3145
  this.dialogConfig = {
3173
3146
  visible: true,
3174
- content: translate('selectionOnLineCleared', this.language),
3147
+ content: translate$1('selectionOnLineCleared', this.language),
3175
3148
  onConfirm: doRemove,
3176
3149
  onCancel: closeDialog
3177
3150
  };
@@ -3205,67 +3178,352 @@ const LotteryTippingTicketBet = class {
3205
3178
  handleCurrentPageChange() {
3206
3179
  this.lotteryTippingCurrentPageChangeEvent.emit({ currentPage: this.currentPage });
3207
3180
  }
3208
- renderLoading() {
3209
- return (index.h("div", { class: "loading-wrap" }, index.h("section", { class: "dots-container" }, index.h("div", { class: "dot" }), index.h("div", { class: "dot" }), index.h("div", { class: "dot" }), index.h("div", { class: "dot" }), index.h("div", { class: "dot" }))));
3181
+ renderLoading() {
3182
+ return (index.h("div", { class: "loading-wrap" }, index.h("section", { class: "dots-container" }, index.h("div", { class: "dot" }), index.h("div", { class: "dot" }), index.h("div", { class: "dot" }), index.h("div", { class: "dot" }), index.h("div", { class: "dot" }))));
3183
+ }
3184
+ render() {
3185
+ var _a, _b, _c, _d;
3186
+ if (this.isLoading) {
3187
+ return this.renderLoading();
3188
+ }
3189
+ if (this.hasErrors) {
3190
+ return (index.h("div", { ref: (el) => (this.stylingContainer = el), class: "LotteryTippingTicketBet__container" }, index.h("p", null, translate$1('error', this.language))));
3191
+ }
3192
+ const MyTable = ({ columns, dataSource, hideHead = false, grid = true, bordered = true }) => (index.h("table", { class: { bordered: bordered, grid: grid, 'my-table-component': true } }, !hideHead && (index.h("thead", null, index.h("tr", null, columns.map((column) => {
3193
+ var _a;
3194
+ return (index.h("th", { key: column.value, style: { width: column.width + '%', textAlign: column.align } }, typeof column.title === 'string' ? column.title : (_a = column.title) === null || _a === void 0 ? void 0 : _a.call(column)));
3195
+ })))), index.h("tbody", null, dataSource.map((row, index$1) => (index.h("tr", { key: index$1 }, columns.map((column) => (index.h("td", { key: column.value, style: { width: column.width + '%', textAlign: column.align }, class: { 'no-wrap': column.nowrap } }, column.render ? column.render(row, row[column.value], index$1) : row[column.value])))))))));
3196
+ const lineOperatorAddShow = this.totalPages < this.maxTotalPages && this.currentPage === this.totalPages ? true : false;
3197
+ const lineOperatorRemoveShow = this.totalPages > this.minTotalPages ? true : false;
3198
+ if (this.ticketDataSource.length === 0 || this.minTotalPages === 0 || this.maxTotalPages === 0) {
3199
+ return (index.h("div", { class: "LotteryTippingTicketBet__container", ref: (el) => (this.stylingContainer = el) }, index.h("div", { class: "LotteryTippingTicketBet__empty" }, index.h("p", null, translate$1('noData', this.language)))));
3200
+ }
3201
+ if (this.readPretty) {
3202
+ return (index.h("div", { class: "LotteryTippingTicketBet__container", ref: (el) => (this.stylingContainer = el) }, index.h("div", { class: "LotteryTippingTicketBet__main", ref: (el) => (this.mainContainer = el) }, index.h(MyTable, { columns: this.columns, dataSource: ((_a = this.ticketDataSource) === null || _a === void 0 ? void 0 : _a.map((item, index) => (Object.assign(Object.assign({}, item), { index: index + 1 })))) || [], hideHead: false, grid: false, bordered: false }), this.totalPages > 1 && (index.h("div", null, index.h("div", { class: 'border-line' }), index.h("div", { class: "LotteryTippingTicketBet__footer" }, index.h("div", { class: "my-pagination flex justify-between" }, index.h("span", null, translate$1('lineInfo', this.language, {
3203
+ currentPage: this.currentPage,
3204
+ totalPages: this.totalPages
3205
+ })), index.h("div", { class: 'flex gap-1' }, index.h("span", { class: `btn ${this.currentPage === 1 ? 'disabled' : ''}`, onClick: this.prevPage.bind(this) }, index.h("span", { class: "icon", innerHTML: leftImagePath })), index.h("span", { class: `btn ${this.currentPage === this.totalPages ? 'disabled' : ''}`, onClick: this.nextPage.bind(this) }, index.h("span", { class: "icon", innerHTML: rightImagePath }))))))))));
3206
+ }
3207
+ return (index.h("div", { ref: (el) => (this.stylingContainer = el), class: "LotteryTippingTicketBet__container" }, index.h("div", { class: "LotteryTippingTicketBet__tableToolbar flex justify-end gap-1" }, index.h("button", { class: {
3208
+ 'LotteryTippingTicketBet__tableToolbar--item': true,
3209
+ 'mr-0': !(lineOperatorAddShow || lineOperatorRemoveShow)
3210
+ }, onClick: this.handleClearAll.bind(this) }, translate$1('clearAll', this.language))), index.h("div", { class: "flex align-center LotteryTippingTicketBet__main", ref: (el) => (this.mainContainer = el) }, index.h(MyTable, { columns: this.columns, dataSource: ((_b = this.ticketDataSource) === null || _b === void 0 ? void 0 : _b.map((item, index) => (Object.assign(Object.assign({}, item), { index: index + 1 })))) || [], hideHead: false, grid: false, bordered: false }), (lineOperatorAddShow || lineOperatorRemoveShow) && (index.h("div", { class: "LotteryTippingTicketBet__lineOperatorGroup" }, lineOperatorAddShow && (index.h("div", { class: {
3211
+ 'LotteryTippingTicketBet__lineOperatorGroup--item': true
3212
+ }, onClick: this.handleAddLine.bind(this) }, index.h("span", { class: "icon", innerHTML: addImagePath }))), lineOperatorRemoveShow && (index.h("div", { class: {
3213
+ 'LotteryTippingTicketBet__lineOperatorGroup--item': true
3214
+ }, onClick: this.handleRemoveLine.bind(this) }, index.h("span", { class: "icon", innerHTML: deleteImagePath })))))), index.h("div", { class: 'border-line' }), index.h("div", { class: "LotteryTippingTicketBet__footer" }, index.h("div", { class: "my-pagination flex justify-between" }, index.h("span", null, translate$1('lineInfo', this.language, { currentPage: this.currentPage, totalPages: this.totalPages })), index.h("div", { class: 'flex gap-1' }, index.h("span", { class: `btn ${this.currentPage === 1 ? 'disabled' : ''}`, onClick: this.prevPage.bind(this) }, index.h("span", { class: "icon", innerHTML: leftImagePath })), index.h("span", { class: `btn ${this.currentPage === this.totalPages ? 'disabled' : ''}`, onClick: this.nextPage.bind(this) }, index.h("span", { class: "icon", innerHTML: rightImagePath }))))), this.dialogConfig.visible && (index.h("vaadin-confirm-dialog", { rejectButtonVisible: true, rejectText: translate$1('cancel', this.language), confirmText: translate$1('confirm', this.language), opened: (_c = this.dialogConfig) === null || _c === void 0 ? void 0 : _c.visible, onConfirm: this.dialogConfig.onConfirm, onReject: this.dialogConfig.onCancel }, (_d = this.dialogConfig) === null || _d === void 0 ? void 0 : _d.content))));
3215
+ }
3216
+ static get assetsDirs() { return ["../static"]; }
3217
+ static get watchers() { return {
3218
+ "translationUrl": ["handleNewTranslations"],
3219
+ "clientStyling": ["handleClientStylingChange"],
3220
+ "clientStylingUrl": ["handleClientStylingUrlChange"],
3221
+ "mbSource": ["handleMbSourceChange"],
3222
+ "gameId": ["fetchMatchData"],
3223
+ "sessionId": ["fetchMatchData"],
3224
+ "drawId": ["fetchMatchData"],
3225
+ "defaultBulletConfigLineGroup": ["fetchMatchData"],
3226
+ "currentPage": ["handleCurrentPageChange"]
3227
+ }; }
3228
+ };
3229
+ LotteryTippingTicketBet.style = LotteryTippingTicketBetStyle0;
3230
+
3231
+ var PlayModeEnum;
3232
+ (function (PlayModeEnum) {
3233
+ PlayModeEnum["SingleBet"] = "SingleBet";
3234
+ PlayModeEnum["SystemBet"] = "SystemBet";
3235
+ })(PlayModeEnum || (PlayModeEnum = {}));
3236
+ var BettingTypeEnum;
3237
+ (function (BettingTypeEnum) {
3238
+ BettingTypeEnum["FullTime"] = "FullTime";
3239
+ BettingTypeEnum["HalfTime"] = "HalfTime";
3240
+ BettingTypeEnum["Both"] = "Both";
3241
+ })(BettingTypeEnum || (BettingTypeEnum = {}));
3242
+ var DrawStatus;
3243
+ (function (DrawStatus) {
3244
+ DrawStatus["OPEN"] = "OPEN";
3245
+ })(DrawStatus || (DrawStatus = {}));
3246
+ var TicketState;
3247
+ (function (TicketState) {
3248
+ TicketState["Settled"] = "Settled";
3249
+ TicketState["Purchased"] = "Purchased";
3250
+ TicketState["Canceled"] = "Canceled";
3251
+ })(TicketState || (TicketState = {}));
3252
+
3253
+ const DEFAULT_LANGUAGE = 'en';
3254
+ const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
3255
+ const TRANSLATIONS = {
3256
+ en: {
3257
+ stop: 'Stop',
3258
+ at: 'at',
3259
+ turnover: 'Turnover: ',
3260
+ selectionCleared: 'Your selection will be cleared.',
3261
+ ticketSubmitted: 'Ticket submitted successfully.',
3262
+ ticketFailed: 'Failed to submit tickets.',
3263
+ lines: 'Lines',
3264
+ line: 'Line',
3265
+ bettingType: 'Betting Type',
3266
+ playingMode: 'Playing Mode',
3267
+ orderSummaryTitle: 'Order Summary',
3268
+ orderSummaryTickets: 'Tickets',
3269
+ orderSummaryTotal: 'Total',
3270
+ orderSummarySubmit: 'Submit',
3271
+ cancel: 'Cancel',
3272
+ confirm: 'Confirm',
3273
+ stakePerLine: 'Stake per Line:'
3274
+ },
3275
+ ro: {
3276
+ selectionCleared: 'Selecția dvs. va fi ștearsă.',
3277
+ ticketSubmitted: 'Bilet trimis cu succes.',
3278
+ ticketFailed: 'Nu s-a putut achiziționa biletul. Vă rugăm să încercați din nou.',
3279
+ lines: 'Linii',
3280
+ line: 'Linie',
3281
+ bettingType: 'Tip de pariu',
3282
+ playingMode: 'Mod de joc',
3283
+ orderSummaryTitle: 'Sumar comandă',
3284
+ orderSummaryTickets: 'Bilete',
3285
+ orderSummaryTotal: 'Total',
3286
+ orderSummarySubmit: 'Trimite',
3287
+ cancel: 'Anulează',
3288
+ confirm: 'Confirmă'
3289
+ },
3290
+ fr: {
3291
+ selectionCleared: 'Votre sélection sera effacée.',
3292
+ ticketSubmitted: 'Billet soumis avec succès.',
3293
+ ticketFailed: "Échec de l'achat du billet. Veuillez réessayer.",
3294
+ lines: 'Lignes',
3295
+ line: 'Ligne',
3296
+ bettingType: 'Type de pari',
3297
+ playingMode: 'Mode de jeu',
3298
+ orderSummaryTitle: 'Résumé de la commande',
3299
+ orderSummaryTickets: 'Billets',
3300
+ orderSummaryTotal: 'Total',
3301
+ orderSummarySubmit: 'Soumettre',
3302
+ cancel: 'Annuler',
3303
+ confirm: 'Confirmer'
3304
+ },
3305
+ ar: {
3306
+ selectionCleared: 'سيتم مسح اختيارك.',
3307
+ ticketSubmitted: 'تم إرسال التذكرة بنجاح.',
3308
+ ticketFailed: 'فشل شراء التذكرة. يرجى المحاولة مرة أخرى.',
3309
+ lines: 'خطوط',
3310
+ line: 'خط',
3311
+ bettingType: 'نوع الرهان',
3312
+ playingMode: 'وضع اللعب',
3313
+ orderSummaryTitle: 'ملخص الطلب',
3314
+ orderSummaryTickets: 'التذاكر',
3315
+ orderSummaryTotal: 'المجموع',
3316
+ orderSummarySubmit: 'إرسال',
3317
+ cancel: 'إلغاء',
3318
+ confirm: 'تأكيد'
3319
+ },
3320
+ hr: {
3321
+ selectionCleared: 'Vaš odabir bit će obrisan.',
3322
+ ticketSubmitted: 'Listić je uspješno predan.',
3323
+ ticketFailed: 'Kupnja listića nije uspjela. Molimo pokušajte ponovo.',
3324
+ lines: 'Linije',
3325
+ line: 'Linija',
3326
+ bettingType: 'Vrsta oklade',
3327
+ playingMode: 'Način igranja',
3328
+ orderSummaryTitle: 'Sažetak narudžbe',
3329
+ orderSummaryTickets: 'Listići',
3330
+ orderSummaryTotal: 'Ukupno',
3331
+ orderSummarySubmit: 'Pošalji',
3332
+ cancel: 'Odustani',
3333
+ confirm: 'Potvrdi'
3334
+ }
3335
+ };
3336
+ const translate = (key, customLang) => {
3337
+ const lang = customLang;
3338
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
3339
+ };
3340
+ const getTranslations = (data) => {
3341
+ Object.keys(data).forEach((item) => {
3342
+ for (let key in data[item]) {
3343
+ TRANSLATIONS[item][key] = data[item][key];
3344
+ }
3345
+ });
3346
+ };
3347
+ const resolveTranslationUrl = async (translationUrl) => {
3348
+ if (translationUrl) {
3349
+ try {
3350
+ const response = await fetch(translationUrl);
3351
+ if (!response.ok) {
3352
+ throw new Error(`HTTP error! status: ${response.status}`);
3353
+ }
3354
+ const translations = await response.json();
3355
+ getTranslations(translations);
3356
+ }
3357
+ catch (error) {
3358
+ console.error('Failed to fetch or parse translations from URL:', error);
3359
+ }
3210
3360
  }
3211
- render() {
3212
- var _a, _b, _c, _d;
3213
- if (this.isLoading) {
3214
- return this.renderLoading();
3361
+ };
3362
+
3363
+ const formatDate = ({ date, type = 'date', format }) => {
3364
+ try {
3365
+ const parsedDate = lotteryTippingEntrance.parseISO(date);
3366
+ if (isNaN(parsedDate.getTime())) {
3367
+ throw new Error(`Invalid date: ${date}`);
3215
3368
  }
3216
- if (this.hasErrors) {
3217
- return (index.h("div", { ref: (el) => (this.stylingContainer = el), class: "LotteryTippingTicketBet__container" }, index.h("p", null, translate('error', this.language))));
3369
+ if (format)
3370
+ return lotteryTippingEntrance.format(parsedDate, format);
3371
+ let formatStr = 'dd/MM/yyyy';
3372
+ if (type === 'time') {
3373
+ formatStr = 'dd/MM/yyyy HH:mm:ss';
3218
3374
  }
3219
- const MyTable = ({ columns, dataSource, hideHead = false, grid = true, bordered = true }) => (index.h("table", { class: { bordered: bordered, grid: grid, 'my-table-component': true } }, !hideHead && (index.h("thead", null, index.h("tr", null, columns.map((column) => {
3220
- var _a;
3221
- return (index.h("th", { key: column.value, style: { width: column.width + '%', textAlign: column.align } }, typeof column.title === 'string' ? column.title : (_a = column.title) === null || _a === void 0 ? void 0 : _a.call(column)));
3222
- })))), index.h("tbody", null, dataSource.map((row, index$1) => (index.h("tr", { key: index$1 }, columns.map((column) => (index.h("td", { key: column.value, style: { width: column.width + '%', textAlign: column.align }, class: { 'no-wrap': column.nowrap } }, column.render ? column.render(row, row[column.value], index$1) : row[column.value])))))))));
3223
- const lineOperatorAddShow = this.totalPages < this.maxTotalPages && this.currentPage === this.totalPages ? true : false;
3224
- const lineOperatorRemoveShow = this.totalPages > this.minTotalPages ? true : false;
3225
- if (this.ticketDataSource.length === 0 || this.minTotalPages === 0 || this.maxTotalPages === 0) {
3226
- return (index.h("div", { class: "LotteryTippingTicketBet__container", ref: (el) => (this.stylingContainer = el) }, index.h("div", { class: "LotteryTippingTicketBet__empty" }, index.h("p", null, translate('noData', this.language)))));
3375
+ else if (type === 'week') {
3376
+ formatStr = 'ccc dd/MM/yyyy HH:mm:ss';
3227
3377
  }
3228
- if (this.readPretty) {
3229
- return (index.h("div", { class: "LotteryTippingTicketBet__container", ref: (el) => (this.stylingContainer = el) }, index.h("div", { class: "LotteryTippingTicketBet__main", ref: (el) => (this.mainContainer = el) }, index.h(MyTable, { columns: this.columns, dataSource: ((_a = this.ticketDataSource) === null || _a === void 0 ? void 0 : _a.map((item, index) => (Object.assign(Object.assign({}, item), { index: index + 1 })))) || [], hideHead: false, grid: false, bordered: false }), this.totalPages > 1 && (index.h("div", null, index.h("div", { class: 'border-line' }), index.h("div", { class: "LotteryTippingTicketBet__footer" }, index.h("div", { class: "my-pagination flex justify-between" }, index.h("span", null, translate('lineInfo', this.language, {
3230
- currentPage: this.currentPage,
3231
- totalPages: this.totalPages
3232
- })), index.h("div", { class: 'flex gap-1' }, index.h("span", { class: `btn ${this.currentPage === 1 ? 'disabled' : ''}`, onClick: this.prevPage.bind(this) }, index.h("span", { class: "icon", innerHTML: leftImagePath })), index.h("span", { class: `btn ${this.currentPage === this.totalPages ? 'disabled' : ''}`, onClick: this.nextPage.bind(this) }, index.h("span", { class: "icon", innerHTML: rightImagePath }))))))))));
3378
+ return lotteryTippingEntrance.format(parsedDate, formatStr);
3379
+ }
3380
+ catch (error) {
3381
+ console.error('Error formatting date:', error.message);
3382
+ return '';
3383
+ }
3384
+ };
3385
+ const generateUUID$1 = () => {
3386
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
3387
+ var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;
3388
+ return v.toString(16);
3389
+ });
3390
+ };
3391
+ function fetchRequest(url, method = 'GET', body = null, headers = {}) {
3392
+ return new Promise((resolve, reject) => {
3393
+ const uuid = generateUUID$1();
3394
+ const headersOrigin = Object.assign({ 'Content-Type': 'application/json' }, headers);
3395
+ if (method !== 'GET' && method !== 'HEAD') {
3396
+ headersOrigin['X-Idempotency-Key'] = uuid;
3233
3397
  }
3234
- return (index.h("div", { ref: (el) => (this.stylingContainer = el), class: "LotteryTippingTicketBet__container" }, index.h("div", { class: "LotteryTippingTicketBet__tableToolbar flex justify-end gap-1" }, index.h("button", { class: {
3235
- 'LotteryTippingTicketBet__tableToolbar--item': true,
3236
- 'mr-0': !(lineOperatorAddShow || lineOperatorRemoveShow)
3237
- }, onClick: this.handleClearAll.bind(this) }, translate('clearAll', this.language))), index.h("div", { class: "flex align-center LotteryTippingTicketBet__main", ref: (el) => (this.mainContainer = el) }, index.h(MyTable, { columns: this.columns, dataSource: ((_b = this.ticketDataSource) === null || _b === void 0 ? void 0 : _b.map((item, index) => (Object.assign(Object.assign({}, item), { index: index + 1 })))) || [], hideHead: false, grid: false, bordered: false }), (lineOperatorAddShow || lineOperatorRemoveShow) && (index.h("div", { class: "LotteryTippingTicketBet__lineOperatorGroup" }, lineOperatorAddShow && (index.h("div", { class: {
3238
- 'LotteryTippingTicketBet__lineOperatorGroup--item': true
3239
- }, onClick: this.handleAddLine.bind(this) }, index.h("span", { class: "icon", innerHTML: addImagePath }))), lineOperatorRemoveShow && (index.h("div", { class: {
3240
- 'LotteryTippingTicketBet__lineOperatorGroup--item': true
3241
- }, onClick: this.handleRemoveLine.bind(this) }, index.h("span", { class: "icon", innerHTML: deleteImagePath })))))), index.h("div", { class: 'border-line' }), index.h("div", { class: "LotteryTippingTicketBet__footer" }, index.h("div", { class: "my-pagination flex justify-between" }, index.h("span", null, translate('lineInfo', this.language, { currentPage: this.currentPage, totalPages: this.totalPages })), index.h("div", { class: 'flex gap-1' }, index.h("span", { class: `btn ${this.currentPage === 1 ? 'disabled' : ''}`, onClick: this.prevPage.bind(this) }, index.h("span", { class: "icon", innerHTML: leftImagePath })), index.h("span", { class: `btn ${this.currentPage === this.totalPages ? 'disabled' : ''}`, onClick: this.nextPage.bind(this) }, index.h("span", { class: "icon", innerHTML: rightImagePath }))))), this.dialogConfig.visible && (index.h("vaadin-confirm-dialog", { rejectButtonVisible: true, rejectText: translate('cancel', this.language), confirmText: translate('confirm', this.language), opened: (_c = this.dialogConfig) === null || _c === void 0 ? void 0 : _c.visible, onConfirm: this.dialogConfig.onConfirm, onReject: this.dialogConfig.onCancel }, (_d = this.dialogConfig) === null || _d === void 0 ? void 0 : _d.content))));
3398
+ const options = {
3399
+ method,
3400
+ headers: headersOrigin
3401
+ };
3402
+ if (body && method !== 'GET' && method !== 'HEAD') {
3403
+ options.body = JSON.stringify(body);
3404
+ }
3405
+ fetch(url, options)
3406
+ .then((response) => {
3407
+ if (!response.ok) {
3408
+ throw new Error(`HTTP error! Status: ${response.status}`);
3409
+ }
3410
+ return response.json();
3411
+ })
3412
+ .then((data) => resolve(data))
3413
+ .catch((error) => reject(error));
3414
+ });
3415
+ }
3416
+ const showNotification = ({ message, theme = 'success' }) => {
3417
+ window.postMessage({
3418
+ type: 'ShowNotificationToast',
3419
+ message,
3420
+ theme
3421
+ });
3422
+ };
3423
+ const thousandSeparator = (value) => {
3424
+ if (value === 0) {
3425
+ return '0';
3242
3426
  }
3243
- static get assetsDirs() { return ["../static"]; }
3244
- static get watchers() { return {
3245
- "translationUrl": ["handleNewTranslations"],
3246
- "clientStyling": ["handleClientStylingChange"],
3247
- "clientStylingUrl": ["handleClientStylingUrlChange"],
3248
- "mbSource": ["handleMbSourceChange"],
3249
- "gameId": ["fetchMatchData"],
3250
- "sessionId": ["fetchMatchData"],
3251
- "drawId": ["fetchMatchData"],
3252
- "defaultBulletConfigLineGroup": ["fetchMatchData"],
3253
- "currentPage": ["handleCurrentPageChange"]
3254
- }; }
3427
+ if (!value) {
3428
+ return '';
3429
+ }
3430
+ value = value.toString();
3431
+ const parts = value.split('.');
3432
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
3433
+ return parts.join('.');
3255
3434
  };
3256
- LotteryTippingTicketBet.style = LotteryTippingTicketBetStyle0;
3257
-
3258
- var PlayModeEnum;
3259
- (function (PlayModeEnum) {
3260
- PlayModeEnum["SingleBet"] = "SingleBet";
3261
- PlayModeEnum["SystemBet"] = "SystemBet";
3262
- })(PlayModeEnum || (PlayModeEnum = {}));
3263
- var BettingTypeEnum;
3264
- (function (BettingTypeEnum) {
3265
- BettingTypeEnum["FullTime"] = "FullTime";
3266
- BettingTypeEnum["HalfTime"] = "HalfTime";
3267
- BettingTypeEnum["Both"] = "Both";
3268
- })(BettingTypeEnum || (BettingTypeEnum = {}));
3435
+ const HomeDrawAwayArr = ['H', 'D', 'A'];
3436
+ // Utility to format raw results into winning numbers (H/D/A)
3437
+ const formatResultsToWinningNumbers = (rawResults) => {
3438
+ // Convert each bullet item into binary (1 if selected, 0 otherwise)
3439
+ const toBinarySelection = (matchRes) => matchRes.map((bulletItem) => (bulletItem.isSelected ? 1 : 0));
3440
+ // Step 1: Convert rawResults into arrays of 0/1 flags
3441
+ const binaryResults = rawResults.map((lineRes) => lineRes.map(toBinarySelection));
3442
+ const resultLinesArr = [];
3443
+ // Step 2: Iterate through each line of results
3444
+ binaryResults.forEach((line, lineIdx) => {
3445
+ const formattedLine = [];
3446
+ // Step 3: Iterate through each match in a line
3447
+ line.forEach((match, matchIdx) => {
3448
+ // Step 4: Collect the winning outcomes (H/D/A) based on binary flags
3449
+ const outcomes = match.map((isSelected, idx) => (isSelected ? HomeDrawAwayArr[idx] : null)).filter(Boolean);
3450
+ // Wrap outcomes into the expected structure [[matchRes]]
3451
+ formattedLine[matchIdx] = [outcomes];
3452
+ });
3453
+ resultLinesArr[lineIdx] = formattedLine;
3454
+ });
3455
+ return resultLinesArr;
3456
+ };
3457
+ const buildSubmitParam = ({ playerId, rawResults, gameId, rawData, amount, currentStake, betTypeId, betType }) => {
3458
+ var _a;
3459
+ const body = { playerId, tickets: [] };
3460
+ const selections = formatResultsToWinningNumbers(rawResults);
3461
+ const stake = currentStake || {};
3462
+ body.tickets.push({
3463
+ startingDrawId: (_a = rawData === null || rawData === void 0 ? void 0 : rawData.currentDraw) === null || _a === void 0 ? void 0 : _a.id,
3464
+ amount,
3465
+ gameId: gameId,
3466
+ gameName: rawData.name,
3467
+ currency: stake.currency,
3468
+ selection: selections.map((i) => ({
3469
+ betType: betTypeId,
3470
+ stake: +stake.value,
3471
+ poolGameSelections: i,
3472
+ quickPick: false,
3473
+ betName: betType.name
3474
+ })),
3475
+ multiplier: false,
3476
+ drawCount: 1,
3477
+ quickPick: false
3478
+ });
3479
+ return body;
3480
+ };
3481
+ // BettingTypes, playModes and playTypes
3482
+ const getEnableOptions = (raw = []) => raw.filter((i) => i.enabled);
3483
+ // the first one in bet type config that enabled = true, will be default choice
3484
+ const getDefaultType = ({ playTypeConfig = [], betTypeConfig = [], enabledBettingTypeOptions = [], enabledPlayingModeOptions = [] }) => {
3485
+ const enabledBetTypeConfig = betTypeConfig.filter((i) => i.enabled);
3486
+ for (const item of enabledBetTypeConfig) {
3487
+ const { bettingType, playMode } = playTypeConfig === null || playTypeConfig === void 0 ? void 0 : playTypeConfig.find((i) => i.betTypeId === item.id);
3488
+ if (enabledBettingTypeOptions.map((i) => i.code).includes(bettingType) &&
3489
+ enabledPlayingModeOptions.map((i) => i.code).includes(playMode))
3490
+ return { bettingType, playMode };
3491
+ }
3492
+ return {};
3493
+ };
3494
+ const calculatePlayingModeOptions = ({ bettingType, playTypeConfig, betTypeConfig, enabledPlayingModeOptions }) => {
3495
+ const enabledBetTypeIdConfig = betTypeConfig.filter((i) => i.enabled).map((i) => i.id);
3496
+ const filteredPlayTypesConfig = playTypeConfig.filter((i) => enabledBetTypeIdConfig.includes(i.betTypeId));
3497
+ const selectedBettingTypeFilteredPlayTypesConfig = filteredPlayTypesConfig.filter((i) => i.bettingType === bettingType);
3498
+ const _ = selectedBettingTypeFilteredPlayTypesConfig.map((i) => i.playMode);
3499
+ return enabledPlayingModeOptions.filter((i) => _.includes(i.code));
3500
+ };
3501
+ const getCheckedCountForEachLineAndEachMatch = ({ rawResults }) => {
3502
+ const getMatchCheckRes = (matchRes) => matchRes.filter((bulletItem) => bulletItem.isSelected).length;
3503
+ const checkedCountForEachLineAndEachMatch = rawResults.map((lineRes) => lineRes.length > 0 ? lineRes.map(getMatchCheckRes) : [0]);
3504
+ return checkedCountForEachLineAndEachMatch;
3505
+ };
3506
+ const getPlayTypeConfig = ({ rawData, selectedBettingType, selectedPlayingMode }) => {
3507
+ var _a, _b, _c, _d, _e, _f;
3508
+ const betTypeId = (_d = (_c = (_b = (_a = rawData === null || rawData === void 0 ? void 0 : rawData.rules) === null || _a === void 0 ? void 0 : _a.poolGame) === null || _b === void 0 ? void 0 : _b.playTypes) === null || _c === void 0 ? void 0 : _c.find((i) => i.bettingType === selectedBettingType && i.playMode === selectedPlayingMode)) === null || _d === void 0 ? void 0 : _d.betTypeId;
3509
+ const betType = (_f = (_e = rawData === null || rawData === void 0 ? void 0 : rawData.rules) === null || _e === void 0 ? void 0 : _e.betTypes) === null || _f === void 0 ? void 0 : _f.find((i) => i.id === betTypeId);
3510
+ return { betTypeId, betType };
3511
+ };
3512
+ const getMinValue = (arr) => (arr.length ? Math.min.apply(null, arr) : undefined);
3513
+ function formattedTurnover(turnover, unit = '€') {
3514
+ if (turnover === null || turnover === undefined)
3515
+ return '';
3516
+ return `${unit}${turnover ? thousandSeparator(turnover) : 0}`;
3517
+ }
3518
+ function formattedWeekName(date) {
3519
+ if (!date)
3520
+ return '';
3521
+ const _temp = formatDate({ date, format: 'EEEE' });
3522
+ if (!['saturday', 'sunday'].includes(_temp.toLowerCase())) {
3523
+ return 'MIDWEEK';
3524
+ }
3525
+ return _temp.toUpperCase();
3526
+ }
3269
3527
 
3270
3528
  const TICKET_INVALID_TOKEN = 'TICKET_INVALID_TOKEN';
3271
3529
  const generateUUID = () => {
@@ -3292,9 +3550,18 @@ const doSubmitTicket = ({ body, sessionId, url }) => {
3292
3550
  if (res.status > 300) {
3293
3551
  throw new Error(res.statusText);
3294
3552
  }
3295
- return res.json();
3553
+ return res.json().then((data) => {
3554
+ if (checkTicketDetailHasError(data.tickets))
3555
+ throw new Error(res.statusText);
3556
+ return data;
3557
+ });
3296
3558
  });
3297
3559
  };
3560
+ function checkTicketDetailHasError(tickets) {
3561
+ if (!tickets || !tickets.length)
3562
+ return true;
3563
+ return tickets.some((i) => i.state !== TicketState.Purchased);
3564
+ }
3298
3565
  async function fetchSaleStatistics({ endpoint, gameId, drawId }) {
3299
3566
  try {
3300
3567
  const res = await fetchRequest(`${endpoint}/games/${gameId}/draws/${drawId}/saleStatistics`);
@@ -3336,6 +3603,7 @@ const LotteryTippingTicketController = class {
3336
3603
  this.hasSelectAllBullet = undefined;
3337
3604
  this.totalLineCombination = 0;
3338
3605
  this.submitLoading = undefined;
3606
+ this.drawSubmitAvailable = false;
3339
3607
  this.rawData = {};
3340
3608
  this.saleStatisticsInfo = {};
3341
3609
  this.currentStake = undefined;
@@ -3431,7 +3699,7 @@ const LotteryTippingTicketController = class {
3431
3699
  };
3432
3700
  this.dialogConfig = {
3433
3701
  visible: true,
3434
- content: translate$2('selectionCleared', this.language),
3702
+ content: translate('selectionCleared', this.language),
3435
3703
  onConfirm: onConfirm,
3436
3704
  onCancel: closeDialog
3437
3705
  };
@@ -3506,6 +3774,9 @@ const LotteryTippingTicketController = class {
3506
3774
  lotteryTippingEntrance.setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
3507
3775
  }
3508
3776
  }
3777
+ handleTimerStop() {
3778
+ this.drawSubmitAvailable = true;
3779
+ }
3509
3780
  componentWillLoad() {
3510
3781
  if (this.translationUrl) {
3511
3782
  resolveTranslationUrl(this.translationUrl);
@@ -3586,17 +3857,17 @@ const LotteryTippingTicketController = class {
3586
3857
  this.submitLoading = true;
3587
3858
  doSubmitTicket({ body, sessionId: this.sessionId, url: url.href })
3588
3859
  .then(() => {
3589
- showNotification$1({ message: translate$2('ticketSubmitted', this.language) });
3860
+ showNotification({ message: translate('ticketSubmitted', this.language) });
3590
3861
  this.clearBulletConfig();
3591
3862
  this.updateSaleStatistics();
3592
3863
  })
3593
3864
  .catch((res) => {
3594
3865
  if (res.message === TICKET_INVALID_TOKEN) {
3595
3866
  this.logoutEventHandler.emit();
3596
- showNotification$1({ message: TICKET_INVALID_TOKEN, theme: 'error' });
3867
+ showNotification({ message: TICKET_INVALID_TOKEN, theme: 'error' });
3597
3868
  return;
3598
3869
  }
3599
- showNotification$1({ message: translate$2('ticketFailed', this.language), theme: 'error' });
3870
+ showNotification({ message: translate('ticketFailed', this.language), theme: 'error' });
3600
3871
  })
3601
3872
  .finally(() => {
3602
3873
  this.submitLoading = false;
@@ -3604,9 +3875,9 @@ const LotteryTippingTicketController = class {
3604
3875
  }
3605
3876
  get lineCountRender() {
3606
3877
  const _ = thousandSeparator(this.totalLineCombination);
3607
- let unit = translate$2('lines', this.language);
3878
+ let unit = translate('lines', this.language);
3608
3879
  if ([0, 1].includes(+_))
3609
- unit = translate$2('line', this.language);
3880
+ unit = translate('line', this.language);
3610
3881
  return _ + ' ' + unit;
3611
3882
  }
3612
3883
  renderBettingControls() {
@@ -3624,23 +3895,18 @@ const LotteryTippingTicketController = class {
3624
3895
  var _a;
3625
3896
  return (index.h("div", null, index.h("vaadin-select", { items: this.stakeOptions || [], value: ((_a = this.currentStake) === null || _a === void 0 ? void 0 : _a.value) || '', "on-value-changed": this.onStakeChange.bind(this), "no-vertical-overlap": true })));
3626
3897
  };
3627
- return (index.h("div", { class: "LotteryTippingTicketController__top" }, index.h("div", { class: "LotteryTippingTicketController__row" }, index.h("div", { class: "LotteryTippingTicketController__section" }, index.h("span", { class: "LotteryTippingTicketController__label" }, translate$2('bettingType', this.language)), !!this.bettingTypeOptions.length ? renderBettingTypeOptions() : renderSkeleton()), index.h("div", { class: "LotteryTippingTicketController__section" }, index.h("span", { class: "LotteryTippingTicketController__label" }, translate$2('playingMode', this.language)), !!this.playingModeOptions.length ? renderPlayingModeOptions() : renderSkeleton()), ((_a = this.stakeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (index.h("div", { class: "LotteryTippingTicketController__section" }, index.h("span", { class: "LotteryTippingTicketController__label" }, translate$2('stakePerLine', this.language)), renderingStakeOptions())), ((_b = this.stakeOptions) === null || _b === void 0 ? void 0 : _b.length) > 1 && (index.h("div", { class: "LotteryTippingTicketController__section" }, index.h("span", { class: "LotteryTippingTicketController__label" }, translate$2('stakePerLine', this.language)), renderingStakeOptions())))));
3898
+ return (index.h("div", { class: "LotteryTippingTicketController__top" }, index.h("div", { class: "LotteryTippingTicketController__row" }, index.h("div", { class: "LotteryTippingTicketController__section" }, index.h("span", { class: "LotteryTippingTicketController__label" }, translate('bettingType', this.language)), !!this.bettingTypeOptions.length ? renderBettingTypeOptions() : renderSkeleton()), index.h("div", { class: "LotteryTippingTicketController__section" }, index.h("span", { class: "LotteryTippingTicketController__label" }, translate('playingMode', this.language)), !!this.playingModeOptions.length ? renderPlayingModeOptions() : renderSkeleton()), ((_a = this.stakeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (index.h("div", { class: "LotteryTippingTicketController__section" }, index.h("span", { class: "LotteryTippingTicketController__label" }, translate('stakePerLine', this.language)), renderingStakeOptions())), ((_b = this.stakeOptions) === null || _b === void 0 ? void 0 : _b.length) > 1 && (index.h("div", { class: "LotteryTippingTicketController__section" }, index.h("span", { class: "LotteryTippingTicketController__label" }, translate('stakePerLine', this.language)), renderingStakeOptions())))));
3628
3899
  }
3629
3900
  renderOrderSummary() {
3630
3901
  var _a;
3631
- return (index.h("div", { class: "LotteryTippingTicketController__main--right order-summary" }, index.h("h3", { class: "order-summary__title" }, translate$2('orderSummaryTitle', this.language)), index.h("div", { class: "order-summary__ticket-info" }, index.h("div", { class: "order-summary__ticket" }, translate$2('orderSummaryTickets', this.language), ":"), index.h("div", { class: "order-summary__details" }, index.h("span", { class: "order-summary__line-count" }, this.lineCountRender), index.h("div", null, this.currentStake && index.h("span", { class: "order-summary__multiplier" }, "x"), index.h("span", { class: "order-summary__stake" }, this.currentStakeFormatted)), this.isBothBettingType && (index.h("div", null, index.h("span", { class: "order-summary__multiplier" }, "x"), index.h("span", { class: "order-summary__stake" }, this.bothBettingTypeMultiplier))))), index.h("hr", { class: "order-summary__divider" }), index.h("div", { class: "order-summary__ticket-info" }, index.h("div", { class: "order-summary__ticket" }, translate$2('orderSummaryTotal', this.language), ":"), index.h("span", { class: "order-summary__details" }, this.totalAmountFormatted)), index.h("div", { class: "order-summary__button-wrapper" }, index.h("lottery-button", { onClick: this.handleSubmit.bind(this), loading: this.submitLoading, disabled: !this.hasSelectAllBullet || this.submitLoading || ((_a = this.currentStake) === null || _a === void 0 ? void 0 : _a.value) === undefined, text: translate$2('orderSummarySubmit', this.language) }))));
3632
- }
3633
- get formattedTurnover() {
3634
- var _a, _b, _c;
3635
- const turnover = (_c = (_b = (_a = this.saleStatisticsInfo) === null || _a === void 0 ? void 0 : _a.wagerSegment) === null || _b === void 0 ? void 0 : _b.totalSalesCrossDraw) !== null && _c !== void 0 ? _c : 0;
3636
- if (turnover === null || turnover === undefined)
3637
- return '';
3638
- const unit = '€';
3639
- return `${unit}${turnover ? thousandSeparator(turnover) : 0}`;
3902
+ return (index.h("div", { class: "LotteryTippingTicketController__main--right order-summary" }, index.h("h3", { class: "order-summary__title" }, translate('orderSummaryTitle', this.language)), index.h("div", { class: "order-summary__ticket-info" }, index.h("div", { class: "order-summary__ticket" }, translate('orderSummaryTickets', this.language), ":"), index.h("div", { class: "order-summary__details" }, index.h("span", { class: "order-summary__line-count" }, this.lineCountRender), index.h("div", null, this.currentStake && index.h("span", { class: "order-summary__multiplier" }, "x"), index.h("span", { class: "order-summary__stake" }, this.currentStakeFormatted)), this.isBothBettingType && (index.h("div", null, index.h("span", { class: "order-summary__multiplier" }, "x"), index.h("span", { class: "order-summary__stake" }, this.bothBettingTypeMultiplier))))), index.h("hr", { class: "order-summary__divider" }), index.h("div", { class: "order-summary__ticket-info" }, index.h("div", { class: "order-summary__ticket" }, translate('orderSummaryTotal', this.language), ":"), index.h("span", { class: "order-summary__details" }, this.totalAmountFormatted)), index.h("div", { class: "order-summary__button-wrapper" }, index.h("lottery-button", { onClick: this.handleSubmit.bind(this), loading: this.submitLoading, disabled: !this.hasSelectAllBullet ||
3903
+ this.submitLoading ||
3904
+ ((_a = this.currentStake) === null || _a === void 0 ? void 0 : _a.value) === undefined ||
3905
+ !this.drawSubmitAvailable, text: translate('orderSummarySubmit', this.language) }))));
3640
3906
  }
3641
3907
  render() {
3642
- var _a, _b, _c, _d, _e, _f, _g;
3643
- return (index.h("div", { key: '353f56111a3dc6f6e7365d563163a38c850f2e88', class: "lottery-tipping-ticket-controller__container", ref: (el) => (this.stylingContainer = el) }, index.h("lottery-tipping-ticket-banner", { key: '3a2472f0bf9195547f5e4c6c2c0a2362c790aa27', "client-styling": this.clientStyling, "client-styling-Url": this.clientStylingUrl, stopTime: (_b = (_a = this.rawData) === null || _a === void 0 ? void 0 : _a.currentDraw) === null || _b === void 0 ? void 0 : _b.wagerCloseTime, period: (_d = (_c = this.rawData) === null || _c === void 0 ? void 0 : _c.currentDraw) === null || _d === void 0 ? void 0 : _d.date, "formatted-turnover": this.formattedTurnover, language: this.language, "translation-url": this.translationUrl, "logo-url": this.logoUrl }), this.renderBettingControls(), index.h("div", { key: '9d0a9391ccf79351959cc280e3c15efc657a966f', class: "flex flex-wrap LotteryTippingTicketController__main" }, index.h("div", { key: 'c61fdb41d41694227971478e193cc5162bff30c3', class: "LotteryTippingTicketController__main--left" }, index.h("lottery-tipping-ticket-bet", { key: '56964177a4366a366279b2ebfff2ee52d1e27de0', ref: (el) => (this.childRef = el), endpoint: this.endpoint, "session-id": this.sessionId, "game-id": (_e = this.rawData) === null || _e === void 0 ? void 0 : _e.type, "draw-id": this.drawId, language: this.language, "translation-url": this.translationUrl, "max-total-pages": this.lineNumberRange.maxLineNumber, "min-total-pages": this.lineNumberRange.minLineNumber, "total-pages": this.lineNumberRange.defaultBoards, mode: this.selectedPlayingMode === PlayModeEnum.SingleBet ? 'single' : 'multi', "client-styling": this.clientStyling, "client-styling-Url": this.clientStylingUrl })), this.renderOrderSummary()), this.dialogConfig.visible && (index.h("vaadin-confirm-dialog", { key: 'fe8eb6d26eecee3c6e10b20c4f2ad968f707d51c', rejectButtonVisible: true, rejectText: translate$2('cancel', this.language), confirmText: translate$2('confirm', this.language), opened: (_f = this.dialogConfig) === null || _f === void 0 ? void 0 : _f.visible, onConfirm: this.dialogConfig.onConfirm, onReject: this.dialogConfig.onCancel }, (_g = this.dialogConfig) === null || _g === void 0 ? void 0 : _g.content))));
3908
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
3909
+ return (index.h("div", { key: '71d1e6567f13267094ca2bdc32caa02891ad8540', class: "lottery-tipping-ticket-controller__container", ref: (el) => (this.stylingContainer = el) }, index.h("lottery-banner", { key: '4393c6b8cf885f3aa6df61e0283172f99d22fd12', "client-styling": this.clientStyling, "client-styling-Url": this.clientStylingUrl, stopTime: (_b = (_a = this.rawData) === null || _a === void 0 ? void 0 : _a.currentDraw) === null || _b === void 0 ? void 0 : _b.wagerCloseTime, startTime: (_d = (_c = this.rawData) === null || _c === void 0 ? void 0 : _c.currentDraw) === null || _d === void 0 ? void 0 : _d.wagerStartTime, "banner-title": formattedWeekName((_f = (_e = this.rawData) === null || _e === void 0 ? void 0 : _e.currentDraw) === null || _f === void 0 ? void 0 : _f.date), turnover: formattedTurnover((_h = (_g = this.saleStatisticsInfo) === null || _g === void 0 ? void 0 : _g.wagerSegment) === null || _h === void 0 ? void 0 : _h.totalSalesCrossDraw), language: this.language, "translation-url": this.translationUrl, "logo-url": this.logoUrl, onLotteryBannerTimerStop: this.handleTimerStop.bind(this) }), this.renderBettingControls(), index.h("div", { key: 'd054f3970388474745f6e92e7aa028d4509e6250', class: "flex flex-wrap LotteryTippingTicketController__main" }, index.h("div", { key: '736a9c1c2ff1d5c88252b64e6a90a08d185574a0', class: "LotteryTippingTicketController__main--left" }, index.h("lottery-tipping-ticket-bet", { key: '3976fecaa6e049c6d3b7521e58c8fcdf37fa9db4', ref: (el) => (this.childRef = el), endpoint: this.endpoint, "session-id": this.sessionId, "game-id": (_j = this.rawData) === null || _j === void 0 ? void 0 : _j.type, "draw-id": this.drawId, language: this.language, "translation-url": this.translationUrl, "max-total-pages": this.lineNumberRange.maxLineNumber, "min-total-pages": this.lineNumberRange.minLineNumber, "total-pages": this.lineNumberRange.defaultBoards, mode: this.selectedPlayingMode === PlayModeEnum.SingleBet ? 'single' : 'multi', "client-styling": this.clientStyling, "client-styling-Url": this.clientStylingUrl })), this.renderOrderSummary()), this.dialogConfig.visible && (index.h("vaadin-confirm-dialog", { key: '60415251900e4e1c12c14b78314d8085bfbc4c5b', rejectButtonVisible: true, rejectText: translate('cancel', this.language), confirmText: translate('confirm', this.language), opened: (_k = this.dialogConfig) === null || _k === void 0 ? void 0 : _k.visible, onConfirm: this.dialogConfig.onConfirm, onReject: this.dialogConfig.onCancel }, (_l = this.dialogConfig) === null || _l === void 0 ? void 0 : _l.content))));
3644
3910
  }
3645
3911
  static get assetsDirs() { return ["../static"]; }
3646
3912
  static get watchers() { return {
@@ -8853,15 +9119,15 @@ const LotteryTippingTicketHistory = class {
8853
9119
  }
8854
9120
  this.statusOptions = [
8855
9121
  {
8856
- label: translate$4('settled', this.language),
9122
+ label: translate$3('settled', this.language),
8857
9123
  value: 'Settled'
8858
9124
  },
8859
9125
  {
8860
- label: translate$4('purchased', this.language),
9126
+ label: translate$3('purchased', this.language),
8861
9127
  value: 'Purchased'
8862
9128
  },
8863
9129
  {
8864
- label: translate$4('canceled', this.language),
9130
+ label: translate$3('canceled', this.language),
8865
9131
  value: 'Canceled'
8866
9132
  }
8867
9133
  ];
@@ -8953,12 +9219,12 @@ const LotteryTippingTicketHistory = class {
8953
9219
  return name !== null && name !== void 0 ? name : bettingType;
8954
9220
  }
8955
9221
  render() {
8956
- return (index.h("div", { key: '8b5cf7b807d86f60585333f6e1ad908c27e69d2d', class: "lottery-tipping-ticket-history", ref: (el) => (this.stylingContainer = el) }, index.h("div", { key: '5d5b27c8663171c205fa542fa8cabaf43a8e9868', class: "ticket-history-title" }, translate$4('ticketsHistory', this.language)), index.h("div", { key: '80a725f121d8ae43918655645b539386523f2c5b', class: "filter-wrap" }, index.h("div", { key: 'ddfbecf52c2b34ff65a0a1eb1c4461e2ec4adb83', class: "filter-status" }, this.statusOptions.map((status) => (index.h("div", { class: 'filter-status-btn' + (this.activeStatus == status.value ? ' active' : ''), onClick: () => this.changeStatus(status.value) }, status.label)))), index.h("div", { key: 'd7af5f48131401c38ed5e47526cf8a0b66bf7ed5', class: "filter-operation" }, index.h("lottery-tipping-filter", { key: '6cb80e892227bb0cca2231dbd01c967e39f00057', "quick-filters-active": this.quickFiltersActive, language: this.language, "translation-url": this.translationUrl }))), this.isLoading && (index.h("div", { key: '9b1ded95022c5eff5963d81eea67c3f6a915033e', class: "loading-wrap" }, index.h("section", { key: '731d40f195f1cba224b792d250e9f9e4b86b61ae', class: "dots-container" }, index.h("div", { key: '0b5c88b5c231045760c8951e02b828f8539168ac', class: "dot" }), index.h("div", { key: 'e534a45e4b666ec35cefc3a709cc0b9bcb6ddd56', class: "dot" }), index.h("div", { key: '4adae575af1bcaa438f50fe0fa9ca1a5c8ea8c73', class: "dot" }), index.h("div", { key: '27c4cc688611722d858436bb857d2435d3bb57f9', class: "dot" }), index.h("div", { key: 'acd88b2c9756ef9c7dff629fd9d238d63128e63c', class: "dot" })))), !this.isLoading && this.paginationInfo.total > 0 && (index.h("div", { key: '9afe2101cbafb68c1d0a648ccf85d7df497ea5bc', class: "ticket-list-wrap" }, this.ticketHistory.map((item) => (index.h("lottery-tipping-panel", { "header-title": lotteryTippingEntrance.format(new Date(item.createdAt), 'dd/MM/yyyy HH:mm:ss') + ' ' + item.state }, index.h("div", { class: "panel-content", slot: "content" }, index.h("div", { class: "ticket-info" }, index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$4('ticketId', this.language)), index.h("div", { class: "ticket-info-val" }, item.id, " ")), index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$4('ticketType', this.language)), index.h("div", { class: "ticket-info-val" }, this.ticketTypeMap[item.wagerType], " ")), index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$4('ticketAmount', this.language)), index.h("div", { class: "ticket-info-val" }, `${item.amount} ${item.currency}`)), index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$4('lineDetail', this.language)), index.h("div", { class: "ticket-info-val" }, index.h("span", { class: "show-detail-link", onClick: () => this.handleShowTicketLineDetial(item) }, translate$4('seeDetails', this.language)))), index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$4('numberOfDraw', this.language)), index.h("div", { class: "ticket-info-val" }, item.drawCount))), item.state == 'Settled' &&
8957
- item.drawResults.map((drawResultItem) => (index.h("div", { class: "draw-info-container" }, drawResultItem.tempDrawData ? (index.h("div", { class: "draw-info" }, index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$4('ticketResult', this.language)), index.h("div", { class: "draw-info-val" }, this.resultMap[drawResultItem.state])), index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$4('drawId', this.language)), index.h("div", { class: "draw-info-val" }, drawResultItem.drawId)), index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$4('drawDate', this.language)), index.h("div", { class: "draw-info-val" }, lotteryTippingEntrance.format(new Date(drawResultItem.tempDrawData.date), 'dd/MM/yyyy'))), index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$4('result', this.language)), index.h("div", { class: "draw-info-val" }, index.h("span", { class: "show-detail-link", onClick: () => this.handleShowCurrentDraw(drawResultItem.tempDrawData) }, translate$4('seeDetails', this.language)))), drawResultItem.state === DrawResult.WON && (index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$4('prize', this.language)), index.h("div", { class: "draw-info-val1" }, index.h("div", { style: { height: '20px' } }), drawResultItem.prizeDetails.map((prizeItem) => (index.h("span", null, index.h("div", null, index.h("span", { style: { color: 'rgb(85, 85, 85)' } }, prizeItem.prizeName, prizeItem.times > 1 ? ' x ' + prizeItem.times : '', ":", ' '), index.h("span", { style: { 'margin-right': '4px', color: 'rgb(85, 85, 85)' } }, thousandSeperator(prizeItem.amount)), index.h("span", { style: { color: 'rgb(85, 85, 85)' } }, prizeItem.currency)))))))))) : (index.h("div", { class: "draw-info-skeleton" }, [...Array(5)].map(() => (index.h("div", { class: "skeleton-line" })))))))))))))), !this.isLoading && this.paginationInfo.total === 0 && (index.h("div", { key: '5de413a3747c7928d9dae3a817337a6f014f0b17', class: "empty-wrap" }, translate$4('noData', this.language))), index.h("lottery-tipping-dialog", { key: 'f11f915d619c10d836427105090e861b74931d56', visible: this.showCurrentTicketLine, width: !isMobile(window.navigator.userAgent) ? '720px' : undefined, fullscreen: isMobile(window.navigator.userAgent), closable: true, showFooter: false, onCancel: () => {
9222
+ return (index.h("div", { key: '8b5cf7b807d86f60585333f6e1ad908c27e69d2d', class: "lottery-tipping-ticket-history", ref: (el) => (this.stylingContainer = el) }, index.h("div", { key: '5d5b27c8663171c205fa542fa8cabaf43a8e9868', class: "ticket-history-title" }, translate$3('ticketsHistory', this.language)), index.h("div", { key: '80a725f121d8ae43918655645b539386523f2c5b', class: "filter-wrap" }, index.h("div", { key: 'ddfbecf52c2b34ff65a0a1eb1c4461e2ec4adb83', class: "filter-status" }, this.statusOptions.map((status) => (index.h("div", { class: 'filter-status-btn' + (this.activeStatus == status.value ? ' active' : ''), onClick: () => this.changeStatus(status.value) }, status.label)))), index.h("div", { key: 'd7af5f48131401c38ed5e47526cf8a0b66bf7ed5', class: "filter-operation" }, index.h("lottery-tipping-filter", { key: '6cb80e892227bb0cca2231dbd01c967e39f00057', "quick-filters-active": this.quickFiltersActive, language: this.language, "translation-url": this.translationUrl }))), this.isLoading && (index.h("div", { key: '9b1ded95022c5eff5963d81eea67c3f6a915033e', class: "loading-wrap" }, index.h("section", { key: '731d40f195f1cba224b792d250e9f9e4b86b61ae', class: "dots-container" }, index.h("div", { key: '0b5c88b5c231045760c8951e02b828f8539168ac', class: "dot" }), index.h("div", { key: 'e534a45e4b666ec35cefc3a709cc0b9bcb6ddd56', class: "dot" }), index.h("div", { key: '4adae575af1bcaa438f50fe0fa9ca1a5c8ea8c73', class: "dot" }), index.h("div", { key: '27c4cc688611722d858436bb857d2435d3bb57f9', class: "dot" }), index.h("div", { key: 'acd88b2c9756ef9c7dff629fd9d238d63128e63c', class: "dot" })))), !this.isLoading && this.paginationInfo.total > 0 && (index.h("div", { key: '9afe2101cbafb68c1d0a648ccf85d7df497ea5bc', class: "ticket-list-wrap" }, this.ticketHistory.map((item) => (index.h("lottery-tipping-panel", { "header-title": lotteryTippingEntrance.format(new Date(item.createdAt), 'dd/MM/yyyy HH:mm:ss') + ' ' + item.state }, index.h("div", { class: "panel-content", slot: "content" }, index.h("div", { class: "ticket-info" }, index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$3('ticketId', this.language)), index.h("div", { class: "ticket-info-val" }, item.id, " ")), index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$3('ticketType', this.language)), index.h("div", { class: "ticket-info-val" }, this.ticketTypeMap[item.wagerType], " ")), index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$3('ticketAmount', this.language)), index.h("div", { class: "ticket-info-val" }, `${item.amount} ${item.currency}`)), index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$3('lineDetail', this.language)), index.h("div", { class: "ticket-info-val" }, index.h("span", { class: "show-detail-link", onClick: () => this.handleShowTicketLineDetial(item) }, translate$3('seeDetails', this.language)))), index.h("div", { class: "ticket-info-item" }, index.h("div", { class: "ticket-info-label" }, translate$3('numberOfDraw', this.language)), index.h("div", { class: "ticket-info-val" }, item.drawCount))), item.state == 'Settled' &&
9223
+ item.drawResults.map((drawResultItem) => (index.h("div", { class: "draw-info-container" }, drawResultItem.tempDrawData ? (index.h("div", { class: "draw-info" }, index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$3('ticketResult', this.language)), index.h("div", { class: "draw-info-val" }, this.resultMap[drawResultItem.state])), index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$3('drawId', this.language)), index.h("div", { class: "draw-info-val" }, drawResultItem.drawId)), index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$3('drawDate', this.language)), index.h("div", { class: "draw-info-val" }, lotteryTippingEntrance.format(new Date(drawResultItem.tempDrawData.date), 'dd/MM/yyyy'))), index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$3('result', this.language)), index.h("div", { class: "draw-info-val" }, index.h("span", { class: "show-detail-link", onClick: () => this.handleShowCurrentDraw(drawResultItem.tempDrawData) }, translate$3('seeDetails', this.language)))), drawResultItem.state === DrawResult.WON && (index.h("div", { class: "draw-info-item" }, index.h("div", { class: "draw-info-label" }, translate$3('prize', this.language)), index.h("div", { class: "draw-info-val1" }, index.h("div", { style: { height: '20px' } }), drawResultItem.prizeDetails.map((prizeItem) => (index.h("span", null, index.h("div", null, index.h("span", { style: { color: 'rgb(85, 85, 85)' } }, prizeItem.prizeName, prizeItem.times > 1 ? ' x ' + prizeItem.times : '', ":", ' '), index.h("span", { style: { 'margin-right': '4px', color: 'rgb(85, 85, 85)' } }, thousandSeperator(prizeItem.amount)), index.h("span", { style: { color: 'rgb(85, 85, 85)' } }, prizeItem.currency)))))))))) : (index.h("div", { class: "draw-info-skeleton" }, [...Array(5)].map(() => (index.h("div", { class: "skeleton-line" })))))))))))))), !this.isLoading && this.paginationInfo.total === 0 && (index.h("div", { key: '5de413a3747c7928d9dae3a817337a6f014f0b17', class: "empty-wrap" }, translate$3('noData', this.language))), index.h("lottery-tipping-dialog", { key: 'f11f915d619c10d836427105090e861b74931d56', visible: this.showCurrentTicketLine, width: !isMobile(window.navigator.userAgent) ? '720px' : undefined, fullscreen: isMobile(window.navigator.userAgent), closable: true, showFooter: false, onCancel: () => {
8958
9224
  this.showCurrentTicketLine = false;
8959
- }, language: this.language, "translation-url": this.translationUrl }, this.curSelection && this.curSelection.length && this.showCurrentTicketLine && (index.h("div", { key: '899c2830647dcee4be611199a4bc42af78588894' }, index.h("div", { key: '5671d9815195d631026f6ed43400a0b79b43f828', class: "betting-type" }, index.h("div", { key: '842a5226b1f304ad23ab26081428e5bbd814671f', class: "betting-type-title" }, translate$4('bettingType', this.language)), index.h("div", { key: '9028c66fca47e8ca7e7d054154361fcca56a9b22', class: "betting-type-text" }, this.getBettingTypeName(this.getBettingType(this.curTicketItem.selection[this.curSelectionIdx].betType)))), index.h("lottery-tipping-ticket-bet", { key: '3df8c748aeb165eadf68ec631ede5ef6a11ae42a', endpoint: this.endpoint, "session-id": this.sessionId, "game-id": this.curTicketItem.vendorGameId, "draw-id": this.curTicketItem.startingDrawId, "default-bullet-config-line-group": JSON.stringify(this.curSelection), "read-pretty": true, "total-pages": this.curSelection.length, language: this.language, "translation-url": this.translationUrl })))), index.h("lottery-tipping-dialog", { key: '3f3dc5b9922890c11104ca55120b3fa029378f78', visible: this.showCurrentDrawResult, width: !isMobile(window.navigator.userAgent) ? '720px' : undefined, fullscreen: isMobile(window.navigator.userAgent), closable: true, showFooter: false, onCancel: () => {
9225
+ }, language: this.language, "translation-url": this.translationUrl }, this.curSelection && this.curSelection.length && this.showCurrentTicketLine && (index.h("div", { key: '899c2830647dcee4be611199a4bc42af78588894' }, index.h("div", { key: '5671d9815195d631026f6ed43400a0b79b43f828', class: "betting-type" }, index.h("div", { key: '842a5226b1f304ad23ab26081428e5bbd814671f', class: "betting-type-title" }, translate$3('bettingType', this.language)), index.h("div", { key: '9028c66fca47e8ca7e7d054154361fcca56a9b22', class: "betting-type-text" }, this.getBettingTypeName(this.getBettingType(this.curTicketItem.selection[this.curSelectionIdx].betType)))), index.h("lottery-tipping-ticket-bet", { key: '3df8c748aeb165eadf68ec631ede5ef6a11ae42a', endpoint: this.endpoint, "session-id": this.sessionId, "game-id": this.curTicketItem.vendorGameId, "draw-id": this.curTicketItem.startingDrawId, "default-bullet-config-line-group": JSON.stringify(this.curSelection), "read-pretty": true, "total-pages": this.curSelection.length, language: this.language, "translation-url": this.translationUrl })))), index.h("lottery-tipping-dialog", { key: '3f3dc5b9922890c11104ca55120b3fa029378f78', visible: this.showCurrentDrawResult, width: !isMobile(window.navigator.userAgent) ? '720px' : undefined, fullscreen: isMobile(window.navigator.userAgent), closable: true, showFooter: false, onCancel: () => {
8960
9226
  this.showCurrentDrawResult = false;
8961
- }, language: this.language, "translation-url": this.translationUrl }, this.curDrawSelection && this.curDrawSelection.length && this.showCurrentDrawResult && (index.h("div", { key: '348359e4256d86c47f0cb2cfe936a669f6f7c0e8' }, index.h("div", { key: '98ed4f468d1a1a4b237c1cfc776fcb990f69fdcf', class: "betting-type" }, index.h("div", { key: '2ba8e6723d1259aefd74900d82dbf3968325f944', class: "betting-type-title" }, translate$4('bettingType', this.language)), index.h("div", { key: '7ae55771416badb3c4746bd37353d956362241f8', class: "betting-type-text" }, index.h("div", { key: '998242980ce53ff0ca9ef509bb45e62d3680fd73', class: "LotteryTippingTicketController__segmented-control" }, Object.keys(this.curDrawSelectionMap).map((bettingType) => (index.h("button", { class: {
9227
+ }, language: this.language, "translation-url": this.translationUrl }, this.curDrawSelection && this.curDrawSelection.length && this.showCurrentDrawResult && (index.h("div", { key: '348359e4256d86c47f0cb2cfe936a669f6f7c0e8' }, index.h("div", { key: '98ed4f468d1a1a4b237c1cfc776fcb990f69fdcf', class: "betting-type" }, index.h("div", { key: '2ba8e6723d1259aefd74900d82dbf3968325f944', class: "betting-type-title" }, translate$3('bettingType', this.language)), index.h("div", { key: '7ae55771416badb3c4746bd37353d956362241f8', class: "betting-type-text" }, index.h("div", { key: '998242980ce53ff0ca9ef509bb45e62d3680fd73', class: "LotteryTippingTicketController__segmented-control" }, Object.keys(this.curDrawSelectionMap).map((bettingType) => (index.h("button", { class: {
8962
9228
  LotteryTippingTicketController__segment: true,
8963
9229
  'LotteryTippingTicketController__segment--active': this.curDrawSelectionBettingType === bettingType
8964
9230
  }, onClick: () => this.handleDrawBettingTypeChange(bettingType) }, this.getBettingTypeName(bettingType))))))), index.h("lottery-tipping-ticket-bet", { key: '57c44eb7624411a20dade3b41251285a214e4b8c', endpoint: this.endpoint, "session-id": this.sessionId, "game-id": this.curDrawItem.vendorGameId, "draw-id": this.curDrawItem.id, "default-bullet-config-line-group": JSON.stringify(this.curDrawSelection), "read-pretty": true, "total-pages": this.curDrawSelection.length, language: this.language, "translation-url": this.translationUrl })))), index.h("div", { key: '296c91bff848ca5f2ab5fe9df414ffd3b03aef58', class: "pagination-wrap" }, index.h("lottery-tipping-pagination", { key: '3495c8c81cf96dd28aad9a79b963d94877c8db01', total: this.paginationInfo.total, current: this.paginationInfo.current, "page-size": this.paginationInfo.pageSize, language: this.language, "translation-url": this.translationUrl }))));
@@ -9153,6 +9419,7 @@ exports.lottery_tipping_entrance = lotteryTippingEntrance.LotteryTippingEntrance
9153
9419
  exports.draw_selection = DrawSelection;
9154
9420
  exports.general_multi_select = GeneralMultiSelect;
9155
9421
  exports.general_tooltip = GeneralTooltip;
9422
+ exports.lottery_banner = LotteryBanner;
9156
9423
  exports.lottery_button = LotteryButton;
9157
9424
  exports.lottery_tipping_bullet = LotteryTippingBullet;
9158
9425
  exports.lottery_tipping_bullet_group = LotteryTippingBulletGroup;
@@ -9163,7 +9430,6 @@ exports.lottery_tipping_latest_result = LotteryTippingLatestResult;
9163
9430
  exports.lottery_tipping_page = LotteryTippingPage;
9164
9431
  exports.lottery_tipping_pagination = LotteryTippingPagination;
9165
9432
  exports.lottery_tipping_panel = lotteryTippingPanel;
9166
- exports.lottery_tipping_ticket_banner = LotteryTippingTicketBanner;
9167
9433
  exports.lottery_tipping_ticket_bet = LotteryTippingTicketBet;
9168
9434
  exports.lottery_tipping_ticket_controller = LotteryTippingTicketController;
9169
9435
  exports.lottery_tipping_ticket_history = LotteryTippingTicketHistory;