@everymatrix/lottery-tipping-entrance 1.87.28 → 1.87.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getAssetPath, a as getElement, H as Host } from './index-c22bb7d4.js';
2
- import { r as requiredArgs, t as toDate, a as toInteger, s as setClientStyling, b as setClientStylingURL, c as setStreamStyling, f as formatDate$2, d as translate$8, i as isMobile$1, g as getDayWithSuffixLocal, e as format, p as parseISO } from './lottery-tipping-entrance-1da12caf.js';
3
- export { L as lottery_tipping_entrance } from './lottery-tipping-entrance-1da12caf.js';
2
+ import { r as requiredArgs, t as toDate, a as toInteger, s as setClientStyling, b as setClientStylingURL, c as setStreamStyling, f as formatDate$3, d as translate$8, i as isMobile$1, g as getDayWithSuffixLocal, p as parseISO, e as format } from './lottery-tipping-entrance-565275ea.js';
3
+ export { L as lottery_tipping_entrance } from './lottery-tipping-entrance-565275ea.js';
4
4
 
5
5
  /**
6
6
  * @name addDays
@@ -122,6 +122,75 @@ function differenceInMilliseconds(dateLeft, dateRight) {
122
122
  return toDate(dateLeft).getTime() - toDate(dateRight).getTime();
123
123
  }
124
124
 
125
+ var roundingMap = {
126
+ ceil: Math.ceil,
127
+ round: Math.round,
128
+ floor: Math.floor,
129
+ trunc: function trunc(value) {
130
+ return value < 0 ? Math.ceil(value) : Math.floor(value);
131
+ } // Math.trunc is not supported by IE
132
+ };
133
+
134
+ var defaultRoundingMethod = 'trunc';
135
+ function getRoundingMethod(method) {
136
+ return method ? roundingMap[method] : roundingMap[defaultRoundingMethod];
137
+ }
138
+
139
+ /**
140
+ * @name differenceInSeconds
141
+ * @category Second Helpers
142
+ * @summary Get the number of seconds between the given dates.
143
+ *
144
+ * @description
145
+ * Get the number of seconds between the given dates.
146
+ *
147
+ * @param {Date|Number} dateLeft - the later date
148
+ * @param {Date|Number} dateRight - the earlier date
149
+ * @param {Object} [options] - an object with options.
150
+ * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)
151
+ * @returns {Number} the number of seconds
152
+ * @throws {TypeError} 2 arguments required
153
+ *
154
+ * @example
155
+ * // How many seconds are between
156
+ * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?
157
+ * const result = differenceInSeconds(
158
+ * new Date(2014, 6, 2, 12, 30, 20, 0),
159
+ * new Date(2014, 6, 2, 12, 30, 7, 999)
160
+ * )
161
+ * //=> 12
162
+ */
163
+ function differenceInSeconds(dateLeft, dateRight, options) {
164
+ requiredArgs(2, arguments);
165
+ var diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;
166
+ return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);
167
+ }
168
+
169
+ /**
170
+ * @name isBefore
171
+ * @category Common Helpers
172
+ * @summary Is the first date before the second one?
173
+ *
174
+ * @description
175
+ * Is the first date before the second one?
176
+ *
177
+ * @param {Date|Number} date - the date that should be before the other one to return true
178
+ * @param {Date|Number} dateToCompare - the date to compare with
179
+ * @returns {Boolean} the first date is before the second date
180
+ * @throws {TypeError} 2 arguments required
181
+ *
182
+ * @example
183
+ * // Is 10 July 1989 before 11 February 1987?
184
+ * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))
185
+ * //=> false
186
+ */
187
+ function isBefore(dirtyDate, dirtyDateToCompare) {
188
+ requiredArgs(2, arguments);
189
+ var date = toDate(dirtyDate);
190
+ var dateToCompare = toDate(dirtyDateToCompare);
191
+ return date.getTime() < dateToCompare.getTime();
192
+ }
193
+
125
194
  /**
126
195
  * @name isToday
127
196
  * @category Day Helpers
@@ -148,6 +217,58 @@ function isToday(dirtyDate) {
148
217
  return isSameDay(dirtyDate, Date.now());
149
218
  }
150
219
 
220
+ /**
221
+ * @name isWithinInterval
222
+ * @category Interval Helpers
223
+ * @summary Is the given date within the interval?
224
+ *
225
+ * @description
226
+ * Is the given date within the interval? (Including start and end.)
227
+ *
228
+ * @param {Date|Number} date - the date to check
229
+ * @param {Interval} interval - the interval to check
230
+ * @returns {Boolean} the date is within the interval
231
+ * @throws {TypeError} 2 arguments required
232
+ * @throws {RangeError} The start of an interval cannot be after its end
233
+ * @throws {RangeError} Date in interval cannot be `Invalid Date`
234
+ *
235
+ * @example
236
+ * // For the date within the interval:
237
+ * isWithinInterval(new Date(2014, 0, 3), {
238
+ * start: new Date(2014, 0, 1),
239
+ * end: new Date(2014, 0, 7)
240
+ * })
241
+ * //=> true
242
+ *
243
+ * @example
244
+ * // For the date outside of the interval:
245
+ * isWithinInterval(new Date(2014, 0, 10), {
246
+ * start: new Date(2014, 0, 1),
247
+ * end: new Date(2014, 0, 7)
248
+ * })
249
+ * //=> false
250
+ *
251
+ * @example
252
+ * // For date equal to interval start:
253
+ * isWithinInterval(date, { start, end: date }) // => true
254
+ *
255
+ * @example
256
+ * // For date equal to interval end:
257
+ * isWithinInterval(date, { start: date, end }) // => true
258
+ */
259
+ function isWithinInterval(dirtyDate, interval) {
260
+ requiredArgs(2, arguments);
261
+ var time = toDate(dirtyDate).getTime();
262
+ var startTime = toDate(interval.start).getTime();
263
+ var endTime = toDate(interval.end).getTime();
264
+
265
+ // Throw an exception if start date is after end date or if any date is `Invalid Date`
266
+ if (!(startTime <= endTime)) {
267
+ throw new RangeError('Invalid interval');
268
+ }
269
+ return time >= startTime && time <= endTime;
270
+ }
271
+
151
272
  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>`;
152
273
 
153
274
  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}}";
@@ -198,7 +319,7 @@ const DrawSelection = class {
198
319
  this.stylingSubscription && this.stylingSubscription.unsubscribe();
199
320
  }
200
321
  formattedDay(date) {
201
- let _temp = formatDate$2({ date, format: 'EEEE' });
322
+ let _temp = formatDate$3({ date, format: 'EEEE' });
202
323
  if (_temp.toLowerCase() === 'wednesday') {
203
324
  return 'MIDWEEK';
204
325
  }
@@ -463,8 +584,232 @@ const GeneralTooltip = class {
463
584
  GeneralTooltip.style = GeneralTooltipStyle0;
464
585
 
465
586
  const DEFAULT_LANGUAGE$7 = 'en';
466
- const SUPPORTED_LANGUAGES$7 = ['ro', 'en', 'fr', 'ar', 'hr', 'zh'];
587
+ const SUPPORTED_LANGUAGES$7 = ['ro', 'en', 'fr', 'ar', 'hr'];
467
588
  const TRANSLATIONS$7 = {
589
+ en: {
590
+ stop: 'Stop',
591
+ at: 'at',
592
+ turnover: 'Turnover: ',
593
+ start: 'Sales Start',
594
+ in: 'in'
595
+ },
596
+ ro: {
597
+ stop: 'Oprește',
598
+ at: 'la'
599
+ },
600
+ fr: {
601
+ stop: 'Arrêtez',
602
+ at: 'à'
603
+ },
604
+ ar: {
605
+ stop: 'توقف',
606
+ at: 'في'
607
+ },
608
+ hr: {
609
+ stop: 'Stop',
610
+ at: 'u'
611
+ }
612
+ };
613
+ const translate$7 = (key, customLang) => {
614
+ const lang = customLang;
615
+ return TRANSLATIONS$7[lang !== undefined && SUPPORTED_LANGUAGES$7.includes(lang) ? lang : DEFAULT_LANGUAGE$7][key];
616
+ };
617
+ const getTranslations$7 = (data) => {
618
+ Object.keys(data).forEach((item) => {
619
+ for (let key in data[item]) {
620
+ TRANSLATIONS$7[item][key] = data[item][key];
621
+ }
622
+ });
623
+ };
624
+ const resolveTranslationUrl$4 = async (translationUrl) => {
625
+ if (translationUrl) {
626
+ try {
627
+ const response = await fetch(translationUrl);
628
+ if (!response.ok) {
629
+ throw new Error(`HTTP error! status: ${response.status}`);
630
+ }
631
+ const translations = await response.json();
632
+ getTranslations$7(translations);
633
+ }
634
+ catch (error) {
635
+ console.error('Failed to fetch or parse translations from URL:', error);
636
+ }
637
+ }
638
+ };
639
+
640
+ const formatDate$2 = ({ date, type = 'date', format: format$1 }) => {
641
+ try {
642
+ const parsedDate = parseISO(date);
643
+ if (isNaN(parsedDate.getTime())) {
644
+ throw new Error(`Invalid date: ${date}`);
645
+ }
646
+ if (format$1)
647
+ return format(parsedDate, format$1);
648
+ let formatStr = 'dd/MM/yyyy';
649
+ if (type === 'time') {
650
+ formatStr = 'dd/MM/yyyy HH:mm:ss';
651
+ }
652
+ else if (type === 'week') {
653
+ formatStr = 'ccc dd/MM/yyyy HH:mm:ss';
654
+ }
655
+ return format(parsedDate, formatStr);
656
+ }
657
+ catch (error) {
658
+ console.error('Error formatting date:', error.message);
659
+ return '';
660
+ }
661
+ };
662
+ function formatTime(time) {
663
+ if (!time)
664
+ return;
665
+ if (isToday(new Date(time))) {
666
+ return formatDate$2({ date: time, format: 'HH:mm' });
667
+ }
668
+ return formatDate$2({ date: time, format: 'dd/MM/yyyy HH:mm' });
669
+ }
670
+ function formatCountdown(stopTime, _now) {
671
+ if (!stopTime)
672
+ return;
673
+ const endTime = typeof stopTime === 'string' ? parseISO(stopTime) : stopTime;
674
+ const now = _now && new Date();
675
+ let totalSeconds = differenceInSeconds(endTime, now);
676
+ if (totalSeconds < 0)
677
+ return '0D 00H 00M 00S';
678
+ const days = Math.floor(totalSeconds / 86400);
679
+ totalSeconds %= 86400;
680
+ const hours = Math.floor(totalSeconds / 3600);
681
+ totalSeconds %= 3600;
682
+ const minutes = Math.floor(totalSeconds / 60);
683
+ const seconds = totalSeconds % 60;
684
+ return `${days}D ${hours.toString().padStart(2, '0')}H ${minutes.toString().padStart(2, '0')}M ${seconds
685
+ .toString()
686
+ .padStart(2, '0')}S`;
687
+ }
688
+ function getWagerTime(startTime, stopTime) {
689
+ const now = new Date();
690
+ if (startTime && isBefore(now, parseISO(startTime))) {
691
+ return { start: formatCountdown(startTime, now) };
692
+ }
693
+ if (startTime &&
694
+ stopTime &&
695
+ isWithinInterval(now, {
696
+ start: parseISO(startTime),
697
+ end: parseISO(stopTime)
698
+ })) {
699
+ return { end: formatTime(stopTime) };
700
+ }
701
+ return {};
702
+ }
703
+
704
+ 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}";
705
+ const LotteryBannerStyle0 = lotteryBannerCss;
706
+
707
+ const LotteryBanner = class {
708
+ constructor(hostRef) {
709
+ registerInstance(this, hostRef);
710
+ this.lotteryBannerTimerStop = createEvent(this, "lotteryBannerTimerStop", 7);
711
+ this.mbSource = undefined;
712
+ this.clientStyling = undefined;
713
+ this.clientStylingUrl = undefined;
714
+ this.translationUrl = '';
715
+ this.language = 'en';
716
+ this.logoUrl = undefined;
717
+ this.stopTime = '';
718
+ this.startTime = '';
719
+ this.bannerTitle = undefined;
720
+ this.turnover = undefined;
721
+ this.layout = 'logo,title,info';
722
+ this.formattedTime = undefined;
723
+ }
724
+ handleClientStylingChange(newValue, oldValue) {
725
+ if (newValue !== oldValue) {
726
+ setClientStyling(this.stylingContainer, this.clientStyling);
727
+ }
728
+ }
729
+ handleClientStylingUrlChange(newValue, oldValue) {
730
+ if (newValue !== oldValue) {
731
+ setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
732
+ }
733
+ }
734
+ handleMbSourceChange(newValue, oldValue) {
735
+ if (newValue !== oldValue) {
736
+ setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
737
+ }
738
+ }
739
+ handleTimeChange() {
740
+ this.startTimer();
741
+ }
742
+ async componentWillLoad() {
743
+ if (this.translationUrl) {
744
+ resolveTranslationUrl$4(this.translationUrl);
745
+ }
746
+ this.startTimer();
747
+ }
748
+ startTimer() {
749
+ if (this.timer) {
750
+ clearInterval(this.timer);
751
+ }
752
+ this.updateTime();
753
+ this.timer = setInterval(() => {
754
+ this.updateTime();
755
+ }, 1000);
756
+ }
757
+ updateTime() {
758
+ var _a;
759
+ this.formattedTime = getWagerTime(this.startTime, this.stopTime);
760
+ if ((_a = this.formattedTime) === null || _a === void 0 ? void 0 : _a.end) {
761
+ this.timer && clearInterval(this.timer);
762
+ this.lotteryBannerTimerStop.emit();
763
+ }
764
+ }
765
+ componentDidLoad() {
766
+ if (this.stylingContainer) {
767
+ if (this.mbSource)
768
+ setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
769
+ if (this.clientStyling)
770
+ setClientStyling(this.stylingContainer, this.clientStyling);
771
+ if (this.clientStylingUrl)
772
+ setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
773
+ }
774
+ }
775
+ disconnectedCallback() {
776
+ this.stylingSubscription && this.stylingSubscription.unsubscribe();
777
+ this.timer && clearInterval(this.timer);
778
+ }
779
+ renderElement(item, className = '') {
780
+ var _a, _b;
781
+ switch (item) {
782
+ case 'logo':
783
+ return (h("div", { class: `lottery-banner__logo-wrapper ${className}` }, this.logoUrl && h("img", { alt: "logo", src: this.logoUrl, class: "lottery-banner__logo" })));
784
+ case 'title':
785
+ return this.bannerTitle && h("div", { class: `lottery-banner__title ${className}` }, this.bannerTitle);
786
+ case 'info':
787
+ return (h("div", { class: `lottery-banner__info ${className}` }, ((_a = this.formattedTime) === null || _a === void 0 ? void 0 : _a.start) && (h("div", { class: "lottery-banner__info-item" }, h("span", { class: "lottery-banner__info-item-label" }, h("span", { class: "lottery-banner__info-item-label__strong" }, translate$7('start', this.language)), "\u00A0", translate$7('in', this.language)), h("span", { class: "lottery-banner__info-item-value" }, this.formattedTime.start))), ((_b = this.formattedTime) === null || _b === void 0 ? void 0 : _b.end) && (h("div", { class: "lottery-banner__info-item" }, h("span", { class: "lottery-banner__info-item-label" }, h("span", { class: "lottery-banner__info-item-label__strong" }, translate$7('stop', this.language)), "\u00A0", translate$7('at', this.language)), h("span", { class: "lottery-banner__info-item-value" }, this.formattedTime.end))), this.turnover !== null && this.turnover !== undefined && (h("div", { class: "lottery-banner__info-item" }, h("span", { class: "lottery-banner__info-item-label" }, translate$7('turnover', this.language)), h("span", { class: "lottery-banner__info-item-value" }, this.turnover)))));
788
+ default:
789
+ return null;
790
+ }
791
+ }
792
+ render() {
793
+ const layoutItems = this.layout.split(',').map((item) => item.trim());
794
+ return (h("section", { key: '058aa04a8104d393f6066fd2738fb33cb6d832a2', ref: (el) => (this.stylingContainer = el), class: "lottery-banner" }, layoutItems.map((item, index) => {
795
+ const isMiddle = layoutItems.length === 3 && index === 1;
796
+ const className = isMiddle ? 'lottery-banner__item--center' : '';
797
+ return this.renderElement(item, className);
798
+ })));
799
+ }
800
+ static get watchers() { return {
801
+ "clientStyling": ["handleClientStylingChange"],
802
+ "clientStylingUrl": ["handleClientStylingUrlChange"],
803
+ "mbSource": ["handleMbSourceChange"],
804
+ "startTime": ["handleTimeChange"],
805
+ "stopTime": ["handleTimeChange"]
806
+ }; }
807
+ };
808
+ LotteryBanner.style = LotteryBannerStyle0;
809
+
810
+ const DEFAULT_LANGUAGE$6 = 'en';
811
+ const SUPPORTED_LANGUAGES$6 = ['ro', 'en', 'fr', 'ar', 'hr', 'zh'];
812
+ const TRANSLATIONS$6 = {
468
813
  en: {
469
814
  loading: 'Loading'
470
815
  },
@@ -473,9 +818,9 @@ const TRANSLATIONS$7 = {
473
818
  ar: {},
474
819
  hr: {}
475
820
  };
476
- const translate$7 = (key, customLang, replacements) => {
821
+ const translate$6 = (key, customLang, replacements) => {
477
822
  const lang = customLang;
478
- let translation = TRANSLATIONS$7[lang !== undefined && SUPPORTED_LANGUAGES$7.includes(lang) ? lang : DEFAULT_LANGUAGE$7][key];
823
+ let translation = TRANSLATIONS$6[lang !== undefined && SUPPORTED_LANGUAGES$6.includes(lang) ? lang : DEFAULT_LANGUAGE$6][key];
479
824
  if (replacements) {
480
825
  Object.keys(replacements).forEach((placeholder) => {
481
826
  translation = translation.replace(`{${placeholder}}`, replacements[placeholder]);
@@ -486,7 +831,7 @@ const translate$7 = (key, customLang, replacements) => {
486
831
  const getTranslations$6 = (data) => {
487
832
  Object.keys(data).forEach((item) => {
488
833
  for (let key in data[item]) {
489
- TRANSLATIONS$7[item][key] = data[item][key];
834
+ TRANSLATIONS$6[item][key] = data[item][key];
490
835
  }
491
836
  });
492
837
  };
@@ -616,7 +961,7 @@ const LotteryButton = class {
616
961
  [`btn--${variant}`]: true,
617
962
  [`btn--${size}`]: true,
618
963
  'btn--loading': this.loading
619
- }, style: color ? buttonStyles : undefined, disabled: isDisabled, onClick: this.handleClick, ref: (el) => (this.stylingContainer = el) }, this.loading ? (h("div", { class: "loading-container" }, h("span", { class: "content" }, this.text || translate$7('loading', this.language)), h("span", { class: "spinner" }))) : (h("span", { class: "content" }, h("slot", { name: "icon-left" }), this.text || h("slot", null), h("slot", { name: "icon-right" }))), h("div", { key: '302ea02be395bb24989d4abc040a513e23fa029a', class: "ripple-container" }, this.ripples.map((ripple, index) => (h("span", { key: index, class: "ripple", style: {
964
+ }, style: color ? buttonStyles : undefined, disabled: isDisabled, onClick: this.handleClick, ref: (el) => (this.stylingContainer = el) }, this.loading ? (h("div", { class: "loading-container" }, h("span", { class: "content" }, this.text || translate$6('loading', this.language)), h("span", { class: "spinner" }))) : (h("span", { class: "content" }, h("slot", { name: "icon-left" }), this.text || h("slot", null), h("slot", { name: "icon-right" }))), h("div", { key: '302ea02be395bb24989d4abc040a513e23fa029a', class: "ripple-container" }, this.ripples.map((ripple, index) => (h("span", { key: index, class: "ripple", style: {
620
965
  top: `${ripple.top}px`,
621
966
  left: `${ripple.left}px`,
622
967
  width: `${ripple.size}px`,
@@ -874,9 +1219,9 @@ function renderAbstractNodeToSVGElement(node, options) {
874
1219
  return "<".concat(node.tag).concat(attrsToken, " />");
875
1220
  }
876
1221
 
877
- const DEFAULT_LANGUAGE$6 = 'en';
878
- const SUPPORTED_LANGUAGES$6 = ['ro', 'en', 'fr', 'ar', 'hr'];
879
- const TRANSLATIONS$6 = {
1222
+ const DEFAULT_LANGUAGE$5 = 'en';
1223
+ const SUPPORTED_LANGUAGES$5 = ['ro', 'en', 'fr', 'ar', 'hr'];
1224
+ const TRANSLATIONS$5 = {
880
1225
  en: {
881
1226
  weeks: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
882
1227
  bettingType: 'Betting Type:',
@@ -924,9 +1269,9 @@ const TRANSLATIONS$6 = {
924
1269
  loading: 'Učitavanje....'
925
1270
  }
926
1271
  };
927
- const translate$6 = (key, customLang, replacements) => {
1272
+ const translate$5 = (key, customLang, replacements) => {
928
1273
  const lang = customLang;
929
- let translation = TRANSLATIONS$6[lang !== undefined && SUPPORTED_LANGUAGES$6.includes(lang) ? lang : DEFAULT_LANGUAGE$6][key];
1274
+ let translation = TRANSLATIONS$5[lang !== undefined && SUPPORTED_LANGUAGES$5.includes(lang) ? lang : DEFAULT_LANGUAGE$5][key];
930
1275
  if (replacements) {
931
1276
  Object.keys(replacements).forEach((placeholder) => {
932
1277
  translation = translation.replace(`{${placeholder}}`, replacements[placeholder]);
@@ -937,7 +1282,7 @@ const translate$6 = (key, customLang, replacements) => {
937
1282
  const getTranslations$5 = (data) => {
938
1283
  Object.keys(data).forEach((item) => {
939
1284
  for (let key in data[item]) {
940
- TRANSLATIONS$6[item][key] = data[item][key];
1285
+ TRANSLATIONS$5[item][key] = data[item][key];
941
1286
  }
942
1287
  });
943
1288
  };
@@ -1025,7 +1370,7 @@ const LotteryTippingCalendar = class {
1025
1370
  if (this.translationUrl) {
1026
1371
  getTranslations$5(JSON.parse(this.translationUrl));
1027
1372
  }
1028
- this.weeks = translate$6('weeks', this.language);
1373
+ this.weeks = translate$5('weeks', this.language);
1029
1374
  const d = this.date ? new Date(this.date) : new Date();
1030
1375
  this.alterDate = { year: d.getFullYear(), month: d.getMonth(), day: d.getDate() };
1031
1376
  this.curDate = Object.assign({}, this.alterDate);
@@ -1135,9 +1480,9 @@ const LotteryTippingCalendar = class {
1135
1480
  };
1136
1481
  LotteryTippingCalendar.style = LotteryTippingCalendarStyle0;
1137
1482
 
1138
- const DEFAULT_LANGUAGE$5 = 'en';
1139
- const SUPPORTED_LANGUAGES$5 = ['ro', 'en', 'fr', 'ar', 'hr'];
1140
- const TRANSLATIONS$5 = {
1483
+ const DEFAULT_LANGUAGE$4 = 'en';
1484
+ const SUPPORTED_LANGUAGES$4 = ['ro', 'en', 'fr', 'ar', 'hr'];
1485
+ const TRANSLATIONS$4 = {
1141
1486
  en: {
1142
1487
  cancel: 'Cancel',
1143
1488
  confirm: 'Confirm'
@@ -1159,14 +1504,14 @@ const TRANSLATIONS$5 = {
1159
1504
  confirm: 'Potvrdi'
1160
1505
  }
1161
1506
  };
1162
- const translate$5 = (key, customLang) => {
1507
+ const translate$4 = (key, customLang) => {
1163
1508
  const lang = customLang;
1164
- return TRANSLATIONS$5[lang !== undefined && SUPPORTED_LANGUAGES$5.includes(lang) ? lang : DEFAULT_LANGUAGE$5][key];
1509
+ return TRANSLATIONS$4[lang !== undefined && SUPPORTED_LANGUAGES$4.includes(lang) ? lang : DEFAULT_LANGUAGE$4][key];
1165
1510
  };
1166
1511
  const getTranslations$4 = (data) => {
1167
1512
  Object.keys(data).forEach((item) => {
1168
1513
  for (let key in data[item]) {
1169
- TRANSLATIONS$5[item][key] = data[item][key];
1514
+ TRANSLATIONS$4[item][key] = data[item][key];
1170
1515
  }
1171
1516
  });
1172
1517
  };
@@ -1281,7 +1626,7 @@ const LotteryTippingDialog = class {
1281
1626
  maxHeight: 'calc(100vh - 62px)',
1282
1627
  overflowY: 'auto'
1283
1628
  };
1284
- return (h("div", { key: '306683c5190fa6dca57dcf75e52eca575c0215e7', class: dialogWrapperClass.join(' '), ref: (el) => (this.stylingContainer = el) }, h("div", { key: '8be097f3a86fcd9ad4e18c6ac56cafdcf249049b', class: maskClass.join(' '), onClick: this.handleMaskClick.bind(this) }), h("div", { key: '87d2206d3e3d75fe0e0ef8a6afd8de5c20892ae6', part: "dialog", class: computedDialogClass, style: computedDialogStyle, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-title" }, (this.dialogTitle || this.closable) && (h("div", { key: '04d54878aa24e0d9eb98bc921ea3edfacd6de3af', class: "dialog-header" }, h("h2", { key: 'f6f6c279de47e49cde86d0c907b9b40a115926b3', id: "dialog-title", class: "dialog-title" }, this.dialogTitle), this.closable && (h("button", { key: 'e1625473e5460cd667961923bf678c9a91b69c82', class: "close-btn", onClick: this.handleClose.bind(this) }, "x")))), h("div", { key: 'fb0db8dd765832cf1d8e8b682131e4c97a93ac22', class: "dialog-content", style: contentStyle }, h("slot", { key: '75336f59c2a8fe6775fc12ed4e2e26ff6bb6b508' })), this.showFooter && (h("div", { key: 'a305086a2830265317abb0fd6f59b4a053fd54a9', class: "dialog-footer" }, h("slot", { key: 'cb330ea63908002f4f8b4b8139d5843c2570302e', name: "footer" }, this.showCancelBtn && (h("button", { key: 'c3d2c15195e56efd6d388265e9ccb87030627b7b', class: "cancel-btn", onClick: this.handleClose.bind(this) }, translate$5('cancel', this.language))), h("button", { key: 'af9c96b4e1ce82f9ecb73e2b9f4e93cba0382d76', class: "confirm-btn", onClick: this.handleConfirm.bind(this) }, translate$5('confirm', this.language))))))));
1629
+ return (h("div", { key: '306683c5190fa6dca57dcf75e52eca575c0215e7', class: dialogWrapperClass.join(' '), ref: (el) => (this.stylingContainer = el) }, h("div", { key: '8be097f3a86fcd9ad4e18c6ac56cafdcf249049b', class: maskClass.join(' '), onClick: this.handleMaskClick.bind(this) }), h("div", { key: '87d2206d3e3d75fe0e0ef8a6afd8de5c20892ae6', part: "dialog", class: computedDialogClass, style: computedDialogStyle, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-title" }, (this.dialogTitle || this.closable) && (h("div", { key: '04d54878aa24e0d9eb98bc921ea3edfacd6de3af', class: "dialog-header" }, h("h2", { key: 'f6f6c279de47e49cde86d0c907b9b40a115926b3', id: "dialog-title", class: "dialog-title" }, this.dialogTitle), this.closable && (h("button", { key: 'e1625473e5460cd667961923bf678c9a91b69c82', class: "close-btn", onClick: this.handleClose.bind(this) }, "x")))), h("div", { key: 'fb0db8dd765832cf1d8e8b682131e4c97a93ac22', class: "dialog-content", style: contentStyle }, h("slot", { key: '75336f59c2a8fe6775fc12ed4e2e26ff6bb6b508' })), this.showFooter && (h("div", { key: 'a305086a2830265317abb0fd6f59b4a053fd54a9', class: "dialog-footer" }, h("slot", { key: 'cb330ea63908002f4f8b4b8139d5843c2570302e', name: "footer" }, this.showCancelBtn && (h("button", { key: 'c3d2c15195e56efd6d388265e9ccb87030627b7b', class: "cancel-btn", onClick: this.handleClose.bind(this) }, translate$4('cancel', this.language))), h("button", { key: 'af9c96b4e1ce82f9ecb73e2b9f4e93cba0382d76', class: "confirm-btn", onClick: this.handleConfirm.bind(this) }, translate$4('confirm', this.language))))))));
1285
1630
  }
1286
1631
  get el() { return getElement(this); }
1287
1632
  static get watchers() { return {
@@ -1292,9 +1637,9 @@ const LotteryTippingDialog = class {
1292
1637
  };
1293
1638
  LotteryTippingDialog.style = LotteryTippingDialogStyle0;
1294
1639
 
1295
- const DEFAULT_LANGUAGE$4 = 'en';
1296
- const SUPPORTED_LANGUAGES$4 = ['ro', 'en', 'fr', 'ar', 'hr'];
1297
- const TRANSLATIONS$4 = {
1640
+ const DEFAULT_LANGUAGE$3 = 'en';
1641
+ const SUPPORTED_LANGUAGES$3 = ['ro', 'en', 'fr', 'ar', 'hr'];
1642
+ const TRANSLATIONS$3 = {
1298
1643
  en: {
1299
1644
  totalItems: 'Total {total} items',
1300
1645
  perPage: '{size} / page',
@@ -1333,9 +1678,9 @@ const TRANSLATIONS$4 = {
1333
1678
  ar: {},
1334
1679
  hr: {}
1335
1680
  };
1336
- const translate$4 = (key, customLang, replacements) => {
1681
+ const translate$3 = (key, customLang, replacements) => {
1337
1682
  const lang = customLang;
1338
- let translation = TRANSLATIONS$4[lang !== undefined && SUPPORTED_LANGUAGES$4.includes(lang) ? lang : DEFAULT_LANGUAGE$4][key];
1683
+ let translation = TRANSLATIONS$3[lang !== undefined && SUPPORTED_LANGUAGES$3.includes(lang) ? lang : DEFAULT_LANGUAGE$3][key];
1339
1684
  if (replacements) {
1340
1685
  Object.keys(replacements).forEach((placeholder) => {
1341
1686
  translation = translation.replace(`{${placeholder}}`, replacements[placeholder]);
@@ -1346,7 +1691,7 @@ const translate$4 = (key, customLang, replacements) => {
1346
1691
  const getTranslations$3 = (data) => {
1347
1692
  Object.keys(data).forEach((item) => {
1348
1693
  for (let key in data[item]) {
1349
- TRANSLATIONS$4[item][key] = data[item][key];
1694
+ TRANSLATIONS$3[item][key] = data[item][key];
1350
1695
  }
1351
1696
  });
1352
1697
  };
@@ -1414,8 +1759,8 @@ const LotteryTippingFilter = class {
1414
1759
  getTranslations$3(JSON.parse(this.translationUrl));
1415
1760
  }
1416
1761
  this.ticketTypeList = [
1417
- { label: translate$4('normal', this.language), value: 'NORMAL' },
1418
- { label: translate$4('subscription', this.language), value: 'SUBSCRIPTION' }
1762
+ { label: translate$3('normal', this.language), value: 'NORMAL' },
1763
+ { label: translate$3('subscription', this.language), value: 'SUBSCRIPTION' }
1419
1764
  ];
1420
1765
  }
1421
1766
  componentDidLoad() {
@@ -1481,18 +1826,18 @@ const LotteryTippingFilter = class {
1481
1826
  render() {
1482
1827
  return (h("div", { key: '74aa590f6f92b9df971fd17cb3f573cc6a0a68e9', class: "lottery-tipping-filter", ref: (el) => (this.stylingContainer = el) }, h("div", { key: 'ebf385371627466c5eb06a5ef75a14a467b1badd', class: "operate-btns" }, !this.showClearButton && (h("div", { key: '55c709034e124b51e8b9057980f5a3c3b8c6d5ce', class: "operate-btn", onClick: () => {
1483
1828
  this.isOpen = true;
1484
- } }, translate$4('filter', this.language))), (this.showClearButton || this.quickFiltersActive) && (h("div", { key: 'aa747af2461e72fbacc16decd7fc75cd6f640c47', class: "operate-btn", onClick: () => this.resetSearch() }, translate$4('clear', this.language)))), h("lottery-tipping-dialog", { key: '9a9472dee498db7acc83fd96db89b635be07a837', "dialog-title": translate$4('ticketResult', this.language), visible: this.isOpen, onCancel: () => {
1829
+ } }, translate$3('filter', this.language))), (this.showClearButton || this.quickFiltersActive) && (h("div", { key: 'aa747af2461e72fbacc16decd7fc75cd6f640c47', class: "operate-btn", onClick: () => this.resetSearch() }, translate$3('clear', this.language)))), h("lottery-tipping-dialog", { key: '9a9472dee498db7acc83fd96db89b635be07a837', "dialog-title": translate$3('ticketResult', this.language), visible: this.isOpen, onCancel: () => {
1485
1830
  this.isOpen = false;
1486
- }, onConfirm: this.handleDialogConfirm.bind(this), animationDuration: 300, language: this.language, "translation-url": this.translationUrl }, h("div", { key: 'a7bfe435c8f7a43abf2c2d500d7e31fe62123787', class: "dialog-content" }, h("div", { key: '4fcf5f1d3da61ba5e3e8c09b4a97339c1eafaf64', class: "filter-item" }, h("div", { key: '397bb60af15071331c46c0b83366475ef66205fd', class: "filter-item-label" }, translate$4('searchByTicketId', this.language)), h("div", { key: '657e0014bb0d8af52ed273149bad534b2cd035b6', class: "filter-item-val" }, h("div", { key: '7e49aab4b087a1e077cc03d4331df52be03a79c2', class: "general-multi-select-container" }, h("vaadin-text-field", { key: '9d810aac3959e689cefed434d7c5569b18e4c0ec', placeholder: translate$4('enterTicketId', this.language), value: this.filterData.ticketId, onInput: (event) => {
1831
+ }, onConfirm: this.handleDialogConfirm.bind(this), animationDuration: 300, language: this.language, "translation-url": this.translationUrl }, h("div", { key: 'a7bfe435c8f7a43abf2c2d500d7e31fe62123787', class: "dialog-content" }, h("div", { key: '4fcf5f1d3da61ba5e3e8c09b4a97339c1eafaf64', class: "filter-item" }, h("div", { key: '397bb60af15071331c46c0b83366475ef66205fd', class: "filter-item-label" }, translate$3('searchByTicketId', this.language)), h("div", { key: '657e0014bb0d8af52ed273149bad534b2cd035b6', class: "filter-item-val" }, h("div", { key: '7e49aab4b087a1e077cc03d4331df52be03a79c2', class: "general-multi-select-container" }, h("vaadin-text-field", { key: '9d810aac3959e689cefed434d7c5569b18e4c0ec', placeholder: translate$3('enterTicketId', this.language), value: this.filterData.ticketId, onInput: (event) => {
1487
1832
  this.filterData.ticketId = event.target.value;
1488
- } })))), h("div", { key: '8b9fda151a493c920797e4c7e2a8693c84ea5620', class: "filter-item" }, h("div", { key: '23439a0cad69db2ddafc8c131d5e1f5a019c3805', class: "filter-item-label" }, translate$4('searchByTicketType', this.language)), h("div", { key: 'ffe8de6c8acb7ecb92301d417e5d3cddb9941601', class: "general-multi-select-container" }, 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) => ({
1833
+ } })))), h("div", { key: '8b9fda151a493c920797e4c7e2a8693c84ea5620', class: "filter-item" }, h("div", { key: '23439a0cad69db2ddafc8c131d5e1f5a019c3805', class: "filter-item-label" }, translate$3('searchByTicketType', this.language)), h("div", { key: 'ffe8de6c8acb7ecb92301d417e5d3cddb9941601', class: "general-multi-select-container" }, 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) => ({
1489
1834
  text: item.label,
1490
1835
  value: item.value
1491
- })), onChange: this.handleTicketType, "client-styling": this.clientStyling, "client-styling-Url": this.clientStylingUrl, "mb-source": this.mbSource }))), h("div", { key: 'b8dc91b5337a8f4064160c50c20f213fbb1649bd', class: "filter-item" }, h("div", { key: '476fb4074ad41ce1a014eb9355504aa4a53161ca', class: "filter-item-label" }, translate$4('searchByDate', this.language)), h("div", { key: 'd4498509f769af6cd5d008dc8433a61b9c9c5487', class: "filter-item-val" }, h("vaadin-date-picker", { key: 'bd525309eb193cd2e12fc87aee172d423397d22e', value: this.filterData.filterFromCalendar, max: this.filterData.filterToCalendar === undefined
1836
+ })), onChange: this.handleTicketType, "client-styling": this.clientStyling, "client-styling-Url": this.clientStylingUrl, "mb-source": this.mbSource }))), h("div", { key: 'b8dc91b5337a8f4064160c50c20f213fbb1649bd', class: "filter-item" }, h("div", { key: '476fb4074ad41ce1a014eb9355504aa4a53161ca', class: "filter-item-label" }, translate$3('searchByDate', this.language)), h("div", { key: 'd4498509f769af6cd5d008dc8433a61b9c9c5487', class: "filter-item-val" }, h("vaadin-date-picker", { key: 'bd525309eb193cd2e12fc87aee172d423397d22e', value: this.filterData.filterFromCalendar, max: this.filterData.filterToCalendar === undefined
1492
1837
  ? undefined
1493
- : this.changeFormate(this.filterData.filterToCalendar), onChange: this.handleFilterFrom, placeholder: translate$4('from', this.language), ref: (el) => this.setDateFormate(el), class: "VaadinDatePicker" }), h("vaadin-date-picker", { key: '50eb713df259a2d0fce36b90d81d1ea388c8545d', value: this.filterData.filterToCalendar, min: this.filterData.filterFromCalendar === undefined
1838
+ : this.changeFormate(this.filterData.filterToCalendar), onChange: this.handleFilterFrom, placeholder: translate$3('from', this.language), ref: (el) => this.setDateFormate(el), class: "VaadinDatePicker" }), h("vaadin-date-picker", { key: '50eb713df259a2d0fce36b90d81d1ea388c8545d', value: this.filterData.filterToCalendar, min: this.filterData.filterFromCalendar === undefined
1494
1839
  ? undefined
1495
- : this.changeFormate(this.filterData.filterFromCalendar), onChange: this.handleFilterTo, placeholder: translate$4('to', this.language), ref: (el) => this.setDateFormate(el), class: "VaadinDatePicker" })))))));
1840
+ : this.changeFormate(this.filterData.filterFromCalendar), onChange: this.handleFilterTo, placeholder: translate$3('to', this.language), ref: (el) => this.setDateFormate(el), class: "VaadinDatePicker" })))))));
1496
1841
  }
1497
1842
  static get watchers() { return {
1498
1843
  "clientStyling": ["handleClientStylingChange"],
@@ -1645,10 +1990,9 @@ function thousandSeperator$1(value) {
1645
1990
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
1646
1991
  return parts.join('.');
1647
1992
  }
1648
- function formattedTurnover(turnover) {
1993
+ function formattedTurnover$1(turnover, unit = '€') {
1649
1994
  if (turnover === null || turnover === undefined)
1650
1995
  return '';
1651
- const unit = '€';
1652
1996
  return `${unit}${turnover ? thousandSeperator$1(turnover) : 0}`;
1653
1997
  }
1654
1998
  async function fetchGameInfo(endpoint, gameId) {
@@ -1901,10 +2245,10 @@ const LotteryTippingLatestResult = class {
1901
2245
  return name !== null && name !== void 0 ? name : bettingType;
1902
2246
  }
1903
2247
  render() {
1904
- return (h("div", { key: '516bc959365fa133d2dcff466e24c932628f3d55', class: "lottery-tipping-latest-result", ref: (el) => (this.stylingContainer = el) }, this.curDrawSelection && this.curDrawSelection.length > 0 && (h("div", { key: 'f059aa26c5aaa24b6b6c8896a8faef64e4787ddb', class: "result-wrapper" }, h("div", { key: '510c2e70ddd92bee503fa4dce06171640ddc6a49', class: "date-selection" }, h("div", { key: '53a38dca7a49f64e6f17588008ff2917af5862c6', class: "date-selection-leftIcon", innerHTML: leftArrowIcon, onClick: this.preDraw.bind(this) }), h("div", { key: '8038c06d44dadf692dc43c7e32573777682fdf64', class: "date-selection-calendar" }, 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 })), h("div", { key: '439399feaf89a3ec2d02721eacac3f072a6cce6c', class: "date-selection-rightIcon", innerHTML: rightArrowIcon, onClick: this.nextDraw.bind(this) })), h("div", { key: '889338084aaba2061e22f4ba6432fe776ca965e5', class: "winning-result" }, h("div", { key: '4f32680505bdde15fdb30072e0cbeff5f05c122d', class: "betting-type" }, h("div", { key: 'bcbab767beac80766f944790023d6a6025bbb5c3', class: "betting-type-title" }, translate$6('bettingType', this.language)), h("div", { key: 'fb4fe1ad80c557f934b49e9c33916432c9633d57', class: "betting-type-text" }, h("div", { key: '76fb553eb922d6b48926a087aa7217a8cc188248', class: "LotteryTippingTicketController__segmented-control" }, Object.keys(this.curDrawSelectionMap).map((bettingType) => (h("button", { class: {
2248
+ return (h("div", { key: '516bc959365fa133d2dcff466e24c932628f3d55', class: "lottery-tipping-latest-result", ref: (el) => (this.stylingContainer = el) }, this.curDrawSelection && this.curDrawSelection.length > 0 && (h("div", { key: 'f059aa26c5aaa24b6b6c8896a8faef64e4787ddb', class: "result-wrapper" }, h("div", { key: '510c2e70ddd92bee503fa4dce06171640ddc6a49', class: "date-selection" }, h("div", { key: '53a38dca7a49f64e6f17588008ff2917af5862c6', class: "date-selection-leftIcon", innerHTML: leftArrowIcon, onClick: this.preDraw.bind(this) }), h("div", { key: '8038c06d44dadf692dc43c7e32573777682fdf64', class: "date-selection-calendar" }, 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 })), h("div", { key: '439399feaf89a3ec2d02721eacac3f072a6cce6c', class: "date-selection-rightIcon", innerHTML: rightArrowIcon, onClick: this.nextDraw.bind(this) })), h("div", { key: '889338084aaba2061e22f4ba6432fe776ca965e5', class: "winning-result" }, h("div", { key: '4f32680505bdde15fdb30072e0cbeff5f05c122d', class: "betting-type" }, h("div", { key: 'bcbab767beac80766f944790023d6a6025bbb5c3', class: "betting-type-title" }, translate$5('bettingType', this.language)), h("div", { key: 'fb4fe1ad80c557f934b49e9c33916432c9633d57', class: "betting-type-text" }, h("div", { key: '76fb553eb922d6b48926a087aa7217a8cc188248', class: "LotteryTippingTicketController__segmented-control" }, Object.keys(this.curDrawSelectionMap).map((bettingType) => (h("button", { class: {
1905
2249
  LotteryTippingTicketController__segment: true,
1906
2250
  'LotteryTippingTicketController__segment--active': this.curDrawSelectionBettingType === bettingType
1907
- }, onClick: this.handleDrawBettingTypeChange.bind(this, bettingType) }, this.getBettingTypeName(bettingType))))))), 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 ? (h("div", { class: "loading-wrap" }, h("ui-skeleton", { structure: "title", width: "140px", height: "30px" }), h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }))) : (h("div", { class: "prize-result" }, h("div", { class: "prize-result-title" }, translate$6('prizeAllocation', this.language, { turnover: formattedTurnover(this.curTurnOver) })), h("div", { class: "prize-result-table" }, h("div", { class: "prize-result-table-header" }, h("div", { class: "prize-result-table-row" }, h("div", { class: "prize-result-table-column" }, translate$6('prizes', this.language)), h("div", { class: "prize-result-table-column" }, translate$6('numberOfWinners', this.language)), h("div", { class: "prize-result-table-column" }, translate$6('prizeMoney', this.language)))), h("div", { class: "prize-result-table-body" }, this.displayedPrizes.map((prize) => (h("div", { class: "prize-result-table-row" }, h("div", { class: "prize-result-table-column" }, prize.divisionDisplayName), h("div", { class: "prize-result-table-column" }, prize.players), h("div", { class: "prize-result-table-column" }, thousandSeperator$1(prize.totalAmount.value))))))))))), this.curDrawSelection.length == 0 && !this.isLoading && (h("div", { key: '93fd51e592eff954015ffbc6bf7230713441f7dd' }, translate$6('noLatestResult', this.language))), this.isLoading && h("div", { key: 'eb1a90026da5e7cd92936f18840acdc3ce95ebf4', class: "loading-wrap" }, translate$6('loading', this.language))));
2251
+ }, onClick: this.handleDrawBettingTypeChange.bind(this, bettingType) }, this.getBettingTypeName(bettingType))))))), 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 ? (h("div", { class: "loading-wrap" }, h("ui-skeleton", { structure: "title", width: "140px", height: "30px" }), h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }), h("ui-skeleton", { structure: "rectangle", width: "100%", height: "30px" }))) : (h("div", { class: "prize-result" }, h("div", { class: "prize-result-title" }, translate$5('prizeAllocation', this.language, { turnover: formattedTurnover$1(this.curTurnOver) })), h("div", { class: "prize-result-table" }, h("div", { class: "prize-result-table-header" }, h("div", { class: "prize-result-table-row" }, h("div", { class: "prize-result-table-column" }, translate$5('prizes', this.language)), h("div", { class: "prize-result-table-column" }, translate$5('numberOfWinners', this.language)), h("div", { class: "prize-result-table-column" }, translate$5('prizeMoney', this.language)))), h("div", { class: "prize-result-table-body" }, this.displayedPrizes.map((prize) => (h("div", { class: "prize-result-table-row" }, h("div", { class: "prize-result-table-column" }, prize.divisionDisplayName), h("div", { class: "prize-result-table-column" }, prize.players), h("div", { class: "prize-result-table-column" }, thousandSeperator$1(prize.totalAmount.value))))))))))), this.curDrawSelection.length == 0 && !this.isLoading && (h("div", { key: '93fd51e592eff954015ffbc6bf7230713441f7dd' }, translate$5('noLatestResult', this.language))), this.isLoading && h("div", { key: 'eb1a90026da5e7cd92936f18840acdc3ce95ebf4', class: "loading-wrap" }, translate$5('loading', this.language))));
1908
2252
  }
1909
2253
  static get watchers() { return {
1910
2254
  "clientStyling": ["handleClientStylingChange"],
@@ -1920,9 +2264,9 @@ var Tab;
1920
2264
  Tab["MyTickets"] = "MY_TICKETS";
1921
2265
  })(Tab || (Tab = {}));
1922
2266
 
1923
- const DEFAULT_LANGUAGE$3 = 'en';
1924
- const SUPPORTED_LANGUAGES$3 = ['ro', 'en', 'fr', 'ar', 'hr'];
1925
- const TRANSLATIONS$3 = {
2267
+ const DEFAULT_LANGUAGE$2 = 'en';
2268
+ const SUPPORTED_LANGUAGES$2 = ['ro', 'en', 'fr', 'ar', 'hr'];
2269
+ const TRANSLATIONS$2 = {
1926
2270
  en: {
1927
2271
  buyTickets: 'Buy Tickets',
1928
2272
  myTickets: 'My Tickets',
@@ -1949,14 +2293,14 @@ const TRANSLATIONS$3 = {
1949
2293
  logout: 'Odjava'
1950
2294
  }
1951
2295
  };
1952
- const translate$3 = (key, customLang) => {
2296
+ const translate$2 = (key, customLang) => {
1953
2297
  const lang = customLang;
1954
- return TRANSLATIONS$3[lang !== undefined && SUPPORTED_LANGUAGES$3.includes(lang) ? lang : DEFAULT_LANGUAGE$3][key];
2298
+ return TRANSLATIONS$2[lang !== undefined && SUPPORTED_LANGUAGES$2.includes(lang) ? lang : DEFAULT_LANGUAGE$2][key];
1955
2299
  };
1956
2300
  const getTranslations$2 = (data) => {
1957
2301
  Object.keys(data).forEach((item) => {
1958
2302
  for (let key in data[item]) {
1959
- TRANSLATIONS$3[item][key] = data[item][key];
2303
+ TRANSLATIONS$2[item][key] = data[item][key];
1960
2304
  }
1961
2305
  });
1962
2306
  };
@@ -2035,8 +2379,8 @@ const LotteryTippingPage = class {
2035
2379
  }
2036
2380
  renderTabs() {
2037
2381
  const tabOptions = {
2038
- [Tab.BuyTickets]: translate$3('buyTickets', this.language),
2039
- [Tab.MyTickets]: translate$3('myTickets', this.language)
2382
+ [Tab.BuyTickets]: translate$2('buyTickets', this.language),
2383
+ [Tab.MyTickets]: translate$2('myTickets', this.language)
2040
2384
  };
2041
2385
  return (h("div", { class: "tab-btns" }, Object.values(Tab).map((tab) => (h("div", { class: 'tab-btn' + (this.activeTab === tab ? ' active' : ''), onClick: this.handleTabClick.bind(this, tab) }, tabOptions[tab])))));
2042
2386
  }
@@ -2322,14 +2666,14 @@ const LotteryTippingPagination = class {
2322
2666
  }
2323
2667
  render() {
2324
2668
  const pages = this.getPagesToShow();
2325
- return (h("div", { key: 'daa1bf4cd3031ae3f908bd2638424cbf82b81021', class: "paginator", ref: (el) => (this.stylingContainer = el) }, h("div", { key: '93841d6094df6f52b24e277b66d92158aabd2955', class: "total-num" }, translate$4('totalItems', this.language, { total: this.total })), h("button", { key: '205e1dcc5e5c1b18f2dbbb61e127d13e4adaa79f', class: "arrow-btn", disabled: this.current <= 1, onClick: () => this.goToPage(this.current - 1) }, "<"), pages.map((item) => {
2669
+ return (h("div", { key: 'daa1bf4cd3031ae3f908bd2638424cbf82b81021', class: "paginator", ref: (el) => (this.stylingContainer = el) }, h("div", { key: '93841d6094df6f52b24e277b66d92158aabd2955', class: "total-num" }, translate$3('totalItems', this.language, { total: this.total })), h("button", { key: '205e1dcc5e5c1b18f2dbbb61e127d13e4adaa79f', class: "arrow-btn", disabled: this.current <= 1, onClick: () => this.goToPage(this.current - 1) }, "<"), pages.map((item) => {
2326
2670
  if (item.type === 'page') {
2327
2671
  return (h("button", { class: { page: true, active: this.current === item.value }, onClick: () => this.goToPage(item.value) }, item.value));
2328
2672
  }
2329
2673
  else {
2330
2674
  return (h("button", { class: "ellipsis", onClick: () => this.jumpTo(item.direction) }, "..."));
2331
2675
  }
2332
- }), h("button", { key: '3213a6519702b4215e66afadf8dc6e44839455e7', class: "arrow-btn", disabled: this.current >= this.totalPages, onClick: () => this.goToPage(this.current + 1) }, ">"), h("select", { key: 'da36befb97834a7d3ca212f724306cbe57f76167', onInput: (e) => this.changePageSize(parseInt(e.target.value)) }, this.pageSizeOptions.map((size) => (h("option", { value: size }, translate$4('perPage', this.language, { size: size }))))), h("div", { key: '063ca0f31a3ab170a697af945414602f95748dac', class: "jump-box" }, translate$4('goTo', this.language), h("input", { key: '1ec1cbf62de505ea6770c59536c41f3bbb241261', type: "number", min: "1", max: this.totalPages, value: this.current, onKeyDown: (e) => {
2676
+ }), h("button", { key: '3213a6519702b4215e66afadf8dc6e44839455e7', class: "arrow-btn", disabled: this.current >= this.totalPages, onClick: () => this.goToPage(this.current + 1) }, ">"), h("select", { key: 'da36befb97834a7d3ca212f724306cbe57f76167', onInput: (e) => this.changePageSize(parseInt(e.target.value)) }, this.pageSizeOptions.map((size) => (h("option", { value: size }, translate$3('perPage', this.language, { size: size }))))), h("div", { key: '063ca0f31a3ab170a697af945414602f95748dac', class: "jump-box" }, translate$3('goTo', this.language), h("input", { key: '1ec1cbf62de505ea6770c59536c41f3bbb241261', type: "number", min: "1", max: this.totalPages, value: this.current, onKeyDown: (e) => {
2333
2677
  if (e.key === 'Enter') {
2334
2678
  const input = e.target;
2335
2679
  const page = parseInt(input.value);
@@ -2414,390 +2758,19 @@ const lotteryTippingPanel = class {
2414
2758
  };
2415
2759
  lotteryTippingPanel.style = LotteryTippingPanelStyle0;
2416
2760
 
2417
- const DEFAULT_LANGUAGE$2 = 'en';
2418
- const SUPPORTED_LANGUAGES$2 = ['ro', 'en', 'fr', 'ar', 'hr'];
2419
- const TRANSLATIONS$2 = {
2761
+ const DEFAULT_LANGUAGE$1 = 'en';
2762
+ const SUPPORTED_LANGUAGES$1 = ['ro', 'en', 'fr', 'ar', 'hr'];
2763
+ const TRANSLATIONS$1 = {
2420
2764
  en: {
2421
- stop: 'Stop',
2422
- at: 'at',
2423
- turnover: 'Turnover: ',
2424
- selectionCleared: 'Your selection will be cleared.',
2425
- ticketSubmitted: 'Ticket submitted successfully.',
2426
- ticketFailed: 'Failed to purchase the ticket. Please try again.',
2427
- lines: 'Lines',
2428
- line: 'Line',
2429
- bettingType: 'Betting Type',
2430
- playingMode: 'Playing Mode',
2431
- orderSummaryTitle: 'Order Summary',
2432
- orderSummaryTickets: 'Tickets',
2433
- orderSummaryTotal: 'Total',
2434
- orderSummarySubmit: 'Submit',
2435
- cancel: 'Cancel',
2436
- confirm: 'Confirm',
2437
- stakePerLine: 'Stake per Line:'
2438
- },
2439
- ro: {
2440
- selectionCleared: 'Selecția dvs. va fi ștearsă.',
2441
- ticketSubmitted: 'Bilet trimis cu succes.',
2442
- ticketFailed: 'Nu s-a putut achiziționa biletul. Vă rugăm să încercați din nou.',
2443
- lines: 'Linii',
2444
- line: 'Linie',
2445
- bettingType: 'Tip de pariu',
2446
- playingMode: 'Mod de joc',
2447
- orderSummaryTitle: 'Sumar comandă',
2448
- orderSummaryTickets: 'Bilete',
2449
- orderSummaryTotal: 'Total',
2450
- orderSummarySubmit: 'Trimite',
2451
- cancel: 'Anulează',
2452
- confirm: 'Confirmă'
2453
- },
2454
- fr: {
2455
- selectionCleared: 'Votre sélection sera effacée.',
2456
- ticketSubmitted: 'Billet soumis avec succès.',
2457
- ticketFailed: "Échec de l'achat du billet. Veuillez réessayer.",
2458
- lines: 'Lignes',
2459
- line: 'Ligne',
2460
- bettingType: 'Type de pari',
2461
- playingMode: 'Mode de jeu',
2462
- orderSummaryTitle: 'Résumé de la commande',
2463
- orderSummaryTickets: 'Billets',
2464
- orderSummaryTotal: 'Total',
2465
- orderSummarySubmit: 'Soumettre',
2466
- cancel: 'Annuler',
2467
- confirm: 'Confirmer'
2468
- },
2469
- ar: {
2470
- selectionCleared: 'سيتم مسح اختيارك.',
2471
- ticketSubmitted: 'تم إرسال التذكرة بنجاح.',
2472
- ticketFailed: 'فشل شراء التذكرة. يرجى المحاولة مرة أخرى.',
2473
- lines: 'خطوط',
2474
- line: 'خط',
2475
- bettingType: 'نوع الرهان',
2476
- playingMode: 'وضع اللعب',
2477
- orderSummaryTitle: 'ملخص الطلب',
2478
- orderSummaryTickets: 'التذاكر',
2479
- orderSummaryTotal: 'المجموع',
2480
- orderSummarySubmit: 'إرسال',
2481
- cancel: 'إلغاء',
2482
- confirm: 'تأكيد'
2483
- },
2484
- hr: {
2485
- selectionCleared: 'Vaš odabir bit će obrisan.',
2486
- ticketSubmitted: 'Listić je uspješno predan.',
2487
- ticketFailed: 'Kupnja listića nije uspjela. Molimo pokušajte ponovo.',
2488
- lines: 'Linije',
2489
- line: 'Linija',
2490
- bettingType: 'Vrsta oklade',
2491
- playingMode: 'Način igranja',
2492
- orderSummaryTitle: 'Sažetak narudžbe',
2493
- orderSummaryTickets: 'Listići',
2494
- orderSummaryTotal: 'Ukupno',
2495
- orderSummarySubmit: 'Pošalji',
2496
- cancel: 'Odustani',
2497
- confirm: 'Potvrdi'
2498
- }
2499
- };
2500
- const translate$2 = (key, customLang) => {
2501
- const lang = customLang;
2502
- return TRANSLATIONS$2[lang !== undefined && SUPPORTED_LANGUAGES$2.includes(lang) ? lang : DEFAULT_LANGUAGE$2][key];
2503
- };
2504
- const getTranslations$1 = (data) => {
2505
- Object.keys(data).forEach((item) => {
2506
- for (let key in data[item]) {
2507
- TRANSLATIONS$2[item][key] = data[item][key];
2508
- }
2509
- });
2510
- };
2511
- const resolveTranslationUrl = async (translationUrl) => {
2512
- if (translationUrl) {
2513
- try {
2514
- const response = await fetch(translationUrl);
2515
- if (!response.ok) {
2516
- throw new Error(`HTTP error! status: ${response.status}`);
2517
- }
2518
- const translations = await response.json();
2519
- getTranslations$1(translations);
2520
- }
2521
- catch (error) {
2522
- console.error('Failed to fetch or parse translations from URL:', error);
2523
- }
2524
- }
2525
- };
2526
-
2527
- const formatDate$1 = ({ date, type = 'date', format: format$1 }) => {
2528
- try {
2529
- const parsedDate = parseISO(date);
2530
- if (isNaN(parsedDate.getTime())) {
2531
- throw new Error(`Invalid date: ${date}`);
2532
- }
2533
- if (format$1)
2534
- return format(parsedDate, format$1);
2535
- let formatStr = 'dd/MM/yyyy';
2536
- if (type === 'time') {
2537
- formatStr = 'dd/MM/yyyy HH:mm:ss';
2538
- }
2539
- else if (type === 'week') {
2540
- formatStr = 'ccc dd/MM/yyyy HH:mm:ss';
2541
- }
2542
- return format(parsedDate, formatStr);
2543
- }
2544
- catch (error) {
2545
- console.error('Error formatting date:', error.message);
2546
- return '';
2547
- }
2548
- };
2549
- const generateUUID$1 = () => {
2550
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
2551
- var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;
2552
- return v.toString(16);
2553
- });
2554
- };
2555
- function fetchRequest(url, method = 'GET', body = null, headers = {}) {
2556
- return new Promise((resolve, reject) => {
2557
- const uuid = generateUUID$1();
2558
- const headersOrigin = Object.assign({ 'Content-Type': 'application/json' }, headers);
2559
- if (method !== 'GET' && method !== 'HEAD') {
2560
- headersOrigin['X-Idempotency-Key'] = uuid;
2561
- }
2562
- const options = {
2563
- method,
2564
- headers: headersOrigin
2565
- };
2566
- if (body && method !== 'GET' && method !== 'HEAD') {
2567
- options.body = JSON.stringify(body);
2568
- }
2569
- fetch(url, options)
2570
- .then((response) => {
2571
- if (!response.ok) {
2572
- throw new Error(`HTTP error! Status: ${response.status}`);
2573
- }
2574
- return response.json();
2575
- })
2576
- .then((data) => resolve(data))
2577
- .catch((error) => reject(error));
2578
- });
2579
- }
2580
- const showNotification$1 = ({ message, theme = 'success' }) => {
2581
- window.postMessage({
2582
- type: 'ShowNotificationToast',
2583
- message,
2584
- theme
2585
- });
2586
- };
2587
- const thousandSeparator = (value) => {
2588
- if (value === 0) {
2589
- return '0';
2590
- }
2591
- if (!value) {
2592
- return '';
2593
- }
2594
- value = value.toString();
2595
- const parts = value.split('.');
2596
- parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
2597
- return parts.join('.');
2598
- };
2599
- const HomeDrawAwayArr = ['H', 'D', 'A'];
2600
- // Utility to format raw results into winning numbers (H/D/A)
2601
- const formatResultsToWinningNumbers = (rawResults) => {
2602
- // Convert each bullet item into binary (1 if selected, 0 otherwise)
2603
- const toBinarySelection = (matchRes) => matchRes.map((bulletItem) => (bulletItem.isSelected ? 1 : 0));
2604
- // Step 1: Convert rawResults into arrays of 0/1 flags
2605
- const binaryResults = rawResults.map((lineRes) => lineRes.map(toBinarySelection));
2606
- const resultLinesArr = [];
2607
- // Step 2: Iterate through each line of results
2608
- binaryResults.forEach((line, lineIdx) => {
2609
- const formattedLine = [];
2610
- // Step 3: Iterate through each match in a line
2611
- line.forEach((match, matchIdx) => {
2612
- // Step 4: Collect the winning outcomes (H/D/A) based on binary flags
2613
- const outcomes = match.map((isSelected, idx) => (isSelected ? HomeDrawAwayArr[idx] : null)).filter(Boolean);
2614
- // Wrap outcomes into the expected structure [[matchRes]]
2615
- formattedLine[matchIdx] = [outcomes];
2616
- });
2617
- resultLinesArr[lineIdx] = formattedLine;
2618
- });
2619
- return resultLinesArr;
2620
- };
2621
- const buildSubmitParam = ({ playerId, rawResults, gameId, rawData, amount, currentStake, betTypeId, betType }) => {
2622
- var _a;
2623
- const body = { playerId, tickets: [] };
2624
- const selections = formatResultsToWinningNumbers(rawResults);
2625
- const stake = currentStake || {};
2626
- body.tickets.push({
2627
- startingDrawId: (_a = rawData === null || rawData === void 0 ? void 0 : rawData.currentDraw) === null || _a === void 0 ? void 0 : _a.id,
2628
- amount,
2629
- gameId: gameId,
2630
- gameName: rawData.name,
2631
- currency: stake.currency,
2632
- selection: selections.map((i) => ({
2633
- betType: betTypeId,
2634
- stake: +stake.value,
2635
- poolGameSelections: i,
2636
- quickPick: false,
2637
- betName: betType.name
2638
- })),
2639
- multiplier: false,
2640
- drawCount: 1,
2641
- quickPick: false
2642
- });
2643
- return body;
2644
- };
2645
- // BettingTypes, playModes and playTypes
2646
- const getEnableOptions = (raw = []) => raw.filter((i) => i.enabled);
2647
- // the first one in bet type config that enabled = true, will be default choice
2648
- const getDefaultType = ({ playTypeConfig = [], betTypeConfig = [], enabledBettingTypeOptions = [], enabledPlayingModeOptions = [] }) => {
2649
- const enabledBetTypeConfig = betTypeConfig.filter((i) => i.enabled);
2650
- for (const item of enabledBetTypeConfig) {
2651
- const { bettingType, playMode } = playTypeConfig === null || playTypeConfig === void 0 ? void 0 : playTypeConfig.find((i) => i.betTypeId === item.id);
2652
- if (enabledBettingTypeOptions.map((i) => i.code).includes(bettingType) &&
2653
- enabledPlayingModeOptions.map((i) => i.code).includes(playMode))
2654
- return { bettingType, playMode };
2655
- }
2656
- return {};
2657
- };
2658
- const calculatePlayingModeOptions = ({ bettingType, playTypeConfig, betTypeConfig, enabledPlayingModeOptions }) => {
2659
- const enabledBetTypeIdConfig = betTypeConfig.filter((i) => i.enabled).map((i) => i.id);
2660
- const filteredPlayTypesConfig = playTypeConfig.filter((i) => enabledBetTypeIdConfig.includes(i.betTypeId));
2661
- const selectedBettingTypeFilteredPlayTypesConfig = filteredPlayTypesConfig.filter((i) => i.bettingType === bettingType);
2662
- const _ = selectedBettingTypeFilteredPlayTypesConfig.map((i) => i.playMode);
2663
- return enabledPlayingModeOptions.filter((i) => _.includes(i.code));
2664
- };
2665
- const getCheckedCountForEachLineAndEachMatch = ({ rawResults }) => {
2666
- const getMatchCheckRes = (matchRes) => matchRes.filter((bulletItem) => bulletItem.isSelected).length;
2667
- const checkedCountForEachLineAndEachMatch = rawResults.map((lineRes) => lineRes.length > 0 ? lineRes.map(getMatchCheckRes) : [0]);
2668
- return checkedCountForEachLineAndEachMatch;
2669
- };
2670
- const getPlayTypeConfig = ({ rawData, selectedBettingType, selectedPlayingMode }) => {
2671
- var _a, _b, _c, _d, _e, _f;
2672
- 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;
2673
- 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);
2674
- return { betTypeId, betType };
2675
- };
2676
- const getMinValue = (arr) => (arr.length ? Math.min.apply(null, arr) : undefined);
2677
-
2678
- const DEFAULT_LANGUAGE$1 = 'en';
2679
- const SUPPORTED_LANGUAGES$1 = ['ro', 'en', 'fr', 'ar', 'hr'];
2680
- const TRANSLATIONS$1 = {
2681
- en: {
2682
- stop: 'Stop',
2683
- at: 'at',
2684
- turnover: 'Turnover: '
2685
- },
2686
- ro: {
2687
- stop: 'Oprește',
2688
- at: 'la'
2689
- },
2690
- fr: {
2691
- stop: 'Arrêtez',
2692
- at: 'à'
2693
- },
2694
- ar: {
2695
- stop: 'توقف',
2696
- at: 'في'
2697
- },
2698
- hr: {
2699
- stop: 'Stop',
2700
- at: 'u'
2701
- }
2702
- };
2703
- const translate$1 = (key, customLang) => {
2704
- const lang = customLang;
2705
- return TRANSLATIONS$1[lang !== undefined && SUPPORTED_LANGUAGES$1.includes(lang) ? lang : DEFAULT_LANGUAGE$1][key];
2706
- };
2707
-
2708
- 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}";
2709
- const LotteryTippingTicketBannerStyle0 = lotteryTippingTicketBannerCss;
2710
-
2711
- const LotteryTippingTicketBanner = class {
2712
- constructor(hostRef) {
2713
- registerInstance(this, hostRef);
2714
- this.mbSource = undefined;
2715
- this.clientStyling = undefined;
2716
- this.clientStylingUrl = undefined;
2717
- this.language = 'en';
2718
- this.translationUrl = '';
2719
- this.logoUrl = undefined;
2720
- this.stopTime = '';
2721
- this.period = undefined;
2722
- this.formattedTurnover = undefined;
2723
- }
2724
- get formattedStopTime() {
2725
- let _temp = '';
2726
- if (!this.stopTime) {
2727
- return _temp;
2728
- }
2729
- _temp = formatDate$1({ date: this.stopTime, format: 'dd/MM/yyyy HH:mm' });
2730
- if (isToday(new Date(this.stopTime))) {
2731
- _temp = formatDate$1({ date: this.stopTime, format: 'HH:mm' });
2732
- }
2733
- return _temp;
2734
- }
2735
- get formattedPeriod() {
2736
- let _temp = '';
2737
- _temp = formatDate$1({ date: this.period, format: 'EEEE' });
2738
- if (_temp.toLowerCase() === 'wednesday') {
2739
- _temp = 'MIDWEEK';
2740
- }
2741
- return _temp.toUpperCase();
2742
- }
2743
- handleClientStylingChange(newValue, oldValue) {
2744
- if (newValue != oldValue) {
2745
- setClientStyling(this.stylingContainer, this.clientStyling);
2746
- }
2747
- }
2748
- handleClientStylingUrlChange(newValue, oldValue) {
2749
- if (newValue != oldValue) {
2750
- setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
2751
- }
2752
- }
2753
- handleMbSourceChange(newValue, oldValue) {
2754
- if (newValue != oldValue) {
2755
- setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
2756
- }
2757
- }
2758
- async componentWillLoad() {
2759
- if (this.translationUrl) {
2760
- resolveTranslationUrl(this.translationUrl);
2761
- }
2762
- }
2763
- componentDidLoad() {
2764
- if (this.stylingContainer) {
2765
- if (this.mbSource)
2766
- setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
2767
- if (this.clientStyling)
2768
- setClientStyling(this.stylingContainer, this.clientStyling);
2769
- if (this.clientStylingUrl)
2770
- setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
2771
- }
2772
- }
2773
- disconnectedCallback() {
2774
- this.stylingSubscription && this.stylingSubscription.unsubscribe();
2775
- }
2776
- render() {
2777
- return (h("div", { key: 'e9286d0a6a9433698703b9c04d6d50892a7b3168', ref: (el) => (this.stylingContainer = el), class: "lottery-tipping-ticket-banner__container" }, h("section", { key: 'd787e64156f76cf6d12bd552513971301534860c', class: "banner" }, h("div", { key: '027baf0c88733d1430801c96b5b338f79f92f22c', class: "left" }, this.logoUrl && h("img", { key: '7b41d5635a2121ccf394aca19de48e10e9a93357', alt: "Betting", src: this.logoUrl, class: "logo" })), h("div", { key: '73e6c3ffa336b020a3819a72b71117b8084381b1', class: "mid period" }, this.formattedPeriod), h("div", { key: '922ae894814157f68aa8f0774c8aa5ca06e1e7cd', class: "right" }, h("span", { key: 'efaf79b1ff5617f2ba92cfef464232041cd87fbf', class: "pill" }, h("strong", { key: 'c842562b15a13407038933da9d1cc7c6fafa0b76' }, translate$1('stop', this.language)), "\u00A0", translate$1('at', this.language), "\u00A0", this.formattedStopTime), h("span", { key: '3e79a5ec17cbcf0896d58196286fa0b637988f69', class: "pill" }, h("strong", { key: '1158b00abffb1c6bf04e9eec10b4c996d04f118e' }, translate$1('turnover', this.language)), "\u00A0", this.formattedTurnover)))));
2778
- }
2779
- static get assetsDirs() { return ["../static"]; }
2780
- static get watchers() { return {
2781
- "clientStyling": ["handleClientStylingChange"],
2782
- "clientStylingUrl": ["handleClientStylingUrlChange"],
2783
- "mbSource": ["handleMbSourceChange"]
2784
- }; }
2785
- };
2786
- LotteryTippingTicketBanner.style = LotteryTippingTicketBannerStyle0;
2787
-
2788
- const DEFAULT_LANGUAGE = 'en';
2789
- const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
2790
- const TRANSLATIONS = {
2791
- en: {
2792
- homeTeam: 'Home team:',
2793
- awayTeam: 'Away team:',
2794
- selectionCleared: 'Your selection has been cleared.',
2795
- selectionOnLineCleared: 'Your selection on this line will be cleared.',
2796
- loading: 'Loading...',
2797
- error: 'Error!',
2798
- noData: 'No data available.',
2799
- lineInfo: 'Line {currentPage} of {totalPages}',
2800
- clearAll: 'Clear All',
2765
+ homeTeam: 'Home team:',
2766
+ awayTeam: 'Away team:',
2767
+ selectionCleared: 'Your selection has been cleared.',
2768
+ selectionOnLineCleared: 'Your selection on this line will be cleared.',
2769
+ loading: 'Loading...',
2770
+ error: 'Error!',
2771
+ noData: 'No data available.',
2772
+ lineInfo: 'Line {currentPage} of {totalPages}',
2773
+ clearAll: 'Clear All',
2801
2774
  cancel: 'Cancel',
2802
2775
  confirm: 'Confirm'
2803
2776
  },
@@ -2850,9 +2823,9 @@ const TRANSLATIONS = {
2850
2823
  confirm: 'Potvrdi'
2851
2824
  }
2852
2825
  };
2853
- const translate = (key, customLang, replacements) => {
2826
+ const translate$1 = (key, customLang, replacements) => {
2854
2827
  const lang = customLang;
2855
- let translation = TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
2828
+ let translation = TRANSLATIONS$1[lang !== undefined && SUPPORTED_LANGUAGES$1.includes(lang) ? lang : DEFAULT_LANGUAGE$1][key];
2856
2829
  if (replacements) {
2857
2830
  Object.keys(replacements).forEach((placeholder) => {
2858
2831
  translation = translation.replace(`{${placeholder}}`, replacements[placeholder]);
@@ -2860,15 +2833,15 @@ const translate = (key, customLang, replacements) => {
2860
2833
  }
2861
2834
  return translation;
2862
2835
  };
2863
- const getTranslations = (data) => {
2836
+ const getTranslations$1 = (data) => {
2864
2837
  Object.keys(data).forEach((item) => {
2865
2838
  for (let key in data[item]) {
2866
- TRANSLATIONS[item][key] = data[item][key];
2839
+ TRANSLATIONS$1[item][key] = data[item][key];
2867
2840
  }
2868
2841
  });
2869
2842
  };
2870
2843
 
2871
- const formatDate = ({ date, type = 'date', format: format$1 }) => {
2844
+ const formatDate$1 = ({ date, type = 'date', format: format$1 }) => {
2872
2845
  try {
2873
2846
  const parsedDate = parseISO(date);
2874
2847
  if (isNaN(parsedDate.getTime())) {
@@ -2903,7 +2876,7 @@ const DEFAULT_BULLET_CONFIG = [
2903
2876
  }
2904
2877
  ];
2905
2878
  const SPLIT_TOKEN = '-';
2906
- const showNotification = ({ message, theme = 'success' }) => {
2879
+ const showNotification$1 = ({ message, theme = 'success' }) => {
2907
2880
  window.postMessage({
2908
2881
  type: 'ShowNotificationToast',
2909
2882
  message,
@@ -2934,7 +2907,7 @@ const LotteryTippingTicketBet = class {
2934
2907
  registerInstance(this, hostRef);
2935
2908
  this.lotteryTippingBulletBetEvent = createEvent(this, "lotteryTippingBulletBetSelect", 7);
2936
2909
  this.lotteryTippingCurrentPageChangeEvent = createEvent(this, "lotteryTippingCurrentPageChange", 7);
2937
- this.eventNameRender = (item, value) => (h("div", { class: "flex gap-1 eventNameContainer__item" }, h("span", { class: "eventNameContainer__item--title" }, value), h("general-tooltip", null, h("span", { slot: "trigger", class: "icon info-icon", innerHTML: infoImagePath, style: { width: '18px' } }), h("div", { slot: "content" }, h("div", { class: "match-info" }, h("div", { class: "match-info-item" }, h("div", { class: "match-info-item-label" }, translate('homeTeam', this.language)), h("div", { class: "match-info-item-value" }, item.homeName)), h("div", { class: "match-info-item" }, h("div", { class: "match-info-item-label" }, translate('awayTeam', this.language)), h("div", { class: "match-info-item-value" }, item.awayName)))))));
2910
+ this.eventNameRender = (item, value) => (h("div", { class: "flex gap-1 eventNameContainer__item" }, h("span", { class: "eventNameContainer__item--title" }, value), h("general-tooltip", null, h("span", { slot: "trigger", class: "icon info-icon", innerHTML: infoImagePath, style: { width: '18px' } }), h("div", { slot: "content" }, h("div", { class: "match-info" }, h("div", { class: "match-info-item" }, h("div", { class: "match-info-item-label" }, translate$1('homeTeam', this.language)), h("div", { class: "match-info-item-value" }, item.homeName)), h("div", { class: "match-info-item" }, h("div", { class: "match-info-item-label" }, translate$1('awayTeam', this.language)), h("div", { class: "match-info-item-value" }, item.awayName)))))));
2938
2911
  this.columns = [
2939
2912
  { title: '', value: 'index', width: 3 },
2940
2913
  {
@@ -2949,7 +2922,7 @@ const LotteryTippingTicketBet = class {
2949
2922
  width: 22,
2950
2923
  align: 'right',
2951
2924
  nowrap: true,
2952
- render: (_, value) => formatDate({ date: value, format: 'ccc HH:mm' })
2925
+ render: (_, value) => formatDate$1({ date: value, format: 'ccc HH:mm' })
2953
2926
  },
2954
2927
  {
2955
2928
  title: () => (h("lottery-tipping-bullet-group", { theme: "text", bulletConfigContent: JSON.stringify(DEFAULT_BULLET_CONFIG) })),
@@ -2987,7 +2960,7 @@ const LotteryTippingTicketBet = class {
2987
2960
  }
2988
2961
  handleNewTranslations() {
2989
2962
  this.isLoading = true;
2990
- getTranslations(JSON.parse(this.translationUrl));
2963
+ getTranslations$1(JSON.parse(this.translationUrl));
2991
2964
  this.isLoading = false;
2992
2965
  }
2993
2966
  handleClientStylingChange(newValue, oldValue) {
@@ -3010,7 +2983,7 @@ const LotteryTippingTicketBet = class {
3010
2983
  }
3011
2984
  componentWillLoad() {
3012
2985
  if (this.translationUrl) {
3013
- getTranslations(JSON.parse(this.translationUrl));
2986
+ getTranslations$1(JSON.parse(this.translationUrl));
3014
2987
  }
3015
2988
  }
3016
2989
  componentDidLoad() {
@@ -3084,7 +3057,7 @@ const LotteryTippingTicketBet = class {
3084
3057
  }
3085
3058
  handleClearAll() {
3086
3059
  this._resetBulletConfig();
3087
- showNotification({ message: translate('selectionCleared', this.language) });
3060
+ showNotification$1({ message: translate$1('selectionCleared', this.language) });
3088
3061
  this.lotteryTippingBulletBetEvent.emit({ hasSelectBullet: false });
3089
3062
  }
3090
3063
  async resetBulletConfig({ minLineNumber, maxLineNumber, defaultBoards }) {
@@ -3168,7 +3141,7 @@ const LotteryTippingTicketBet = class {
3168
3141
  };
3169
3142
  this.dialogConfig = {
3170
3143
  visible: true,
3171
- content: translate('selectionOnLineCleared', this.language),
3144
+ content: translate$1('selectionOnLineCleared', this.language),
3172
3145
  onConfirm: doRemove,
3173
3146
  onCancel: closeDialog
3174
3147
  };
@@ -3202,67 +3175,352 @@ const LotteryTippingTicketBet = class {
3202
3175
  handleCurrentPageChange() {
3203
3176
  this.lotteryTippingCurrentPageChangeEvent.emit({ currentPage: this.currentPage });
3204
3177
  }
3205
- renderLoading() {
3206
- return (h("div", { class: "loading-wrap" }, h("section", { class: "dots-container" }, h("div", { class: "dot" }), h("div", { class: "dot" }), h("div", { class: "dot" }), h("div", { class: "dot" }), h("div", { class: "dot" }))));
3178
+ renderLoading() {
3179
+ return (h("div", { class: "loading-wrap" }, h("section", { class: "dots-container" }, h("div", { class: "dot" }), h("div", { class: "dot" }), h("div", { class: "dot" }), h("div", { class: "dot" }), h("div", { class: "dot" }))));
3180
+ }
3181
+ render() {
3182
+ var _a, _b, _c, _d;
3183
+ if (this.isLoading) {
3184
+ return this.renderLoading();
3185
+ }
3186
+ if (this.hasErrors) {
3187
+ return (h("div", { ref: (el) => (this.stylingContainer = el), class: "LotteryTippingTicketBet__container" }, h("p", null, translate$1('error', this.language))));
3188
+ }
3189
+ const MyTable = ({ columns, dataSource, hideHead = false, grid = true, bordered = true }) => (h("table", { class: { bordered: bordered, grid: grid, 'my-table-component': true } }, !hideHead && (h("thead", null, h("tr", null, columns.map((column) => {
3190
+ var _a;
3191
+ return (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)));
3192
+ })))), h("tbody", null, dataSource.map((row, index) => (h("tr", { key: index }, columns.map((column) => (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) : row[column.value])))))))));
3193
+ const lineOperatorAddShow = this.totalPages < this.maxTotalPages && this.currentPage === this.totalPages ? true : false;
3194
+ const lineOperatorRemoveShow = this.totalPages > this.minTotalPages ? true : false;
3195
+ if (this.ticketDataSource.length === 0 || this.minTotalPages === 0 || this.maxTotalPages === 0) {
3196
+ return (h("div", { class: "LotteryTippingTicketBet__container", ref: (el) => (this.stylingContainer = el) }, h("div", { class: "LotteryTippingTicketBet__empty" }, h("p", null, translate$1('noData', this.language)))));
3197
+ }
3198
+ if (this.readPretty) {
3199
+ return (h("div", { class: "LotteryTippingTicketBet__container", ref: (el) => (this.stylingContainer = el) }, h("div", { class: "LotteryTippingTicketBet__main", ref: (el) => (this.mainContainer = el) }, 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 && (h("div", null, h("div", { class: 'border-line' }), h("div", { class: "LotteryTippingTicketBet__footer" }, h("div", { class: "my-pagination flex justify-between" }, h("span", null, translate$1('lineInfo', this.language, {
3200
+ currentPage: this.currentPage,
3201
+ totalPages: this.totalPages
3202
+ })), h("div", { class: 'flex gap-1' }, h("span", { class: `btn ${this.currentPage === 1 ? 'disabled' : ''}`, onClick: this.prevPage.bind(this) }, h("span", { class: "icon", innerHTML: leftImagePath })), h("span", { class: `btn ${this.currentPage === this.totalPages ? 'disabled' : ''}`, onClick: this.nextPage.bind(this) }, h("span", { class: "icon", innerHTML: rightImagePath }))))))))));
3203
+ }
3204
+ return (h("div", { ref: (el) => (this.stylingContainer = el), class: "LotteryTippingTicketBet__container" }, h("div", { class: "LotteryTippingTicketBet__tableToolbar flex justify-end gap-1" }, h("button", { class: {
3205
+ 'LotteryTippingTicketBet__tableToolbar--item': true,
3206
+ 'mr-0': !(lineOperatorAddShow || lineOperatorRemoveShow)
3207
+ }, onClick: this.handleClearAll.bind(this) }, translate$1('clearAll', this.language))), h("div", { class: "flex align-center LotteryTippingTicketBet__main", ref: (el) => (this.mainContainer = el) }, 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) && (h("div", { class: "LotteryTippingTicketBet__lineOperatorGroup" }, lineOperatorAddShow && (h("div", { class: {
3208
+ 'LotteryTippingTicketBet__lineOperatorGroup--item': true
3209
+ }, onClick: this.handleAddLine.bind(this) }, h("span", { class: "icon", innerHTML: addImagePath }))), lineOperatorRemoveShow && (h("div", { class: {
3210
+ 'LotteryTippingTicketBet__lineOperatorGroup--item': true
3211
+ }, onClick: this.handleRemoveLine.bind(this) }, h("span", { class: "icon", innerHTML: deleteImagePath })))))), h("div", { class: 'border-line' }), h("div", { class: "LotteryTippingTicketBet__footer" }, h("div", { class: "my-pagination flex justify-between" }, h("span", null, translate$1('lineInfo', this.language, { currentPage: this.currentPage, totalPages: this.totalPages })), h("div", { class: 'flex gap-1' }, h("span", { class: `btn ${this.currentPage === 1 ? 'disabled' : ''}`, onClick: this.prevPage.bind(this) }, h("span", { class: "icon", innerHTML: leftImagePath })), h("span", { class: `btn ${this.currentPage === this.totalPages ? 'disabled' : ''}`, onClick: this.nextPage.bind(this) }, h("span", { class: "icon", innerHTML: rightImagePath }))))), this.dialogConfig.visible && (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))));
3212
+ }
3213
+ static get assetsDirs() { return ["../static"]; }
3214
+ static get watchers() { return {
3215
+ "translationUrl": ["handleNewTranslations"],
3216
+ "clientStyling": ["handleClientStylingChange"],
3217
+ "clientStylingUrl": ["handleClientStylingUrlChange"],
3218
+ "mbSource": ["handleMbSourceChange"],
3219
+ "gameId": ["fetchMatchData"],
3220
+ "sessionId": ["fetchMatchData"],
3221
+ "drawId": ["fetchMatchData"],
3222
+ "defaultBulletConfigLineGroup": ["fetchMatchData"],
3223
+ "currentPage": ["handleCurrentPageChange"]
3224
+ }; }
3225
+ };
3226
+ LotteryTippingTicketBet.style = LotteryTippingTicketBetStyle0;
3227
+
3228
+ var PlayModeEnum;
3229
+ (function (PlayModeEnum) {
3230
+ PlayModeEnum["SingleBet"] = "SingleBet";
3231
+ PlayModeEnum["SystemBet"] = "SystemBet";
3232
+ })(PlayModeEnum || (PlayModeEnum = {}));
3233
+ var BettingTypeEnum;
3234
+ (function (BettingTypeEnum) {
3235
+ BettingTypeEnum["FullTime"] = "FullTime";
3236
+ BettingTypeEnum["HalfTime"] = "HalfTime";
3237
+ BettingTypeEnum["Both"] = "Both";
3238
+ })(BettingTypeEnum || (BettingTypeEnum = {}));
3239
+ var DrawStatus;
3240
+ (function (DrawStatus) {
3241
+ DrawStatus["OPEN"] = "OPEN";
3242
+ })(DrawStatus || (DrawStatus = {}));
3243
+ var TicketState;
3244
+ (function (TicketState) {
3245
+ TicketState["Settled"] = "Settled";
3246
+ TicketState["Purchased"] = "Purchased";
3247
+ TicketState["Canceled"] = "Canceled";
3248
+ })(TicketState || (TicketState = {}));
3249
+
3250
+ const DEFAULT_LANGUAGE = 'en';
3251
+ const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
3252
+ const TRANSLATIONS = {
3253
+ en: {
3254
+ stop: 'Stop',
3255
+ at: 'at',
3256
+ turnover: 'Turnover: ',
3257
+ selectionCleared: 'Your selection will be cleared.',
3258
+ ticketSubmitted: 'Ticket submitted successfully.',
3259
+ ticketFailed: 'Failed to submit tickets.',
3260
+ lines: 'Lines',
3261
+ line: 'Line',
3262
+ bettingType: 'Betting Type',
3263
+ playingMode: 'Playing Mode',
3264
+ orderSummaryTitle: 'Order Summary',
3265
+ orderSummaryTickets: 'Tickets',
3266
+ orderSummaryTotal: 'Total',
3267
+ orderSummarySubmit: 'Submit',
3268
+ cancel: 'Cancel',
3269
+ confirm: 'Confirm',
3270
+ stakePerLine: 'Stake per Line:'
3271
+ },
3272
+ ro: {
3273
+ selectionCleared: 'Selecția dvs. va fi ștearsă.',
3274
+ ticketSubmitted: 'Bilet trimis cu succes.',
3275
+ ticketFailed: 'Nu s-a putut achiziționa biletul. Vă rugăm să încercați din nou.',
3276
+ lines: 'Linii',
3277
+ line: 'Linie',
3278
+ bettingType: 'Tip de pariu',
3279
+ playingMode: 'Mod de joc',
3280
+ orderSummaryTitle: 'Sumar comandă',
3281
+ orderSummaryTickets: 'Bilete',
3282
+ orderSummaryTotal: 'Total',
3283
+ orderSummarySubmit: 'Trimite',
3284
+ cancel: 'Anulează',
3285
+ confirm: 'Confirmă'
3286
+ },
3287
+ fr: {
3288
+ selectionCleared: 'Votre sélection sera effacée.',
3289
+ ticketSubmitted: 'Billet soumis avec succès.',
3290
+ ticketFailed: "Échec de l'achat du billet. Veuillez réessayer.",
3291
+ lines: 'Lignes',
3292
+ line: 'Ligne',
3293
+ bettingType: 'Type de pari',
3294
+ playingMode: 'Mode de jeu',
3295
+ orderSummaryTitle: 'Résumé de la commande',
3296
+ orderSummaryTickets: 'Billets',
3297
+ orderSummaryTotal: 'Total',
3298
+ orderSummarySubmit: 'Soumettre',
3299
+ cancel: 'Annuler',
3300
+ confirm: 'Confirmer'
3301
+ },
3302
+ ar: {
3303
+ selectionCleared: 'سيتم مسح اختيارك.',
3304
+ ticketSubmitted: 'تم إرسال التذكرة بنجاح.',
3305
+ ticketFailed: 'فشل شراء التذكرة. يرجى المحاولة مرة أخرى.',
3306
+ lines: 'خطوط',
3307
+ line: 'خط',
3308
+ bettingType: 'نوع الرهان',
3309
+ playingMode: 'وضع اللعب',
3310
+ orderSummaryTitle: 'ملخص الطلب',
3311
+ orderSummaryTickets: 'التذاكر',
3312
+ orderSummaryTotal: 'المجموع',
3313
+ orderSummarySubmit: 'إرسال',
3314
+ cancel: 'إلغاء',
3315
+ confirm: 'تأكيد'
3316
+ },
3317
+ hr: {
3318
+ selectionCleared: 'Vaš odabir bit će obrisan.',
3319
+ ticketSubmitted: 'Listić je uspješno predan.',
3320
+ ticketFailed: 'Kupnja listića nije uspjela. Molimo pokušajte ponovo.',
3321
+ lines: 'Linije',
3322
+ line: 'Linija',
3323
+ bettingType: 'Vrsta oklade',
3324
+ playingMode: 'Način igranja',
3325
+ orderSummaryTitle: 'Sažetak narudžbe',
3326
+ orderSummaryTickets: 'Listići',
3327
+ orderSummaryTotal: 'Ukupno',
3328
+ orderSummarySubmit: 'Pošalji',
3329
+ cancel: 'Odustani',
3330
+ confirm: 'Potvrdi'
3331
+ }
3332
+ };
3333
+ const translate = (key, customLang) => {
3334
+ const lang = customLang;
3335
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
3336
+ };
3337
+ const getTranslations = (data) => {
3338
+ Object.keys(data).forEach((item) => {
3339
+ for (let key in data[item]) {
3340
+ TRANSLATIONS[item][key] = data[item][key];
3341
+ }
3342
+ });
3343
+ };
3344
+ const resolveTranslationUrl = async (translationUrl) => {
3345
+ if (translationUrl) {
3346
+ try {
3347
+ const response = await fetch(translationUrl);
3348
+ if (!response.ok) {
3349
+ throw new Error(`HTTP error! status: ${response.status}`);
3350
+ }
3351
+ const translations = await response.json();
3352
+ getTranslations(translations);
3353
+ }
3354
+ catch (error) {
3355
+ console.error('Failed to fetch or parse translations from URL:', error);
3356
+ }
3207
3357
  }
3208
- render() {
3209
- var _a, _b, _c, _d;
3210
- if (this.isLoading) {
3211
- return this.renderLoading();
3358
+ };
3359
+
3360
+ const formatDate = ({ date, type = 'date', format: format$1 }) => {
3361
+ try {
3362
+ const parsedDate = parseISO(date);
3363
+ if (isNaN(parsedDate.getTime())) {
3364
+ throw new Error(`Invalid date: ${date}`);
3212
3365
  }
3213
- if (this.hasErrors) {
3214
- return (h("div", { ref: (el) => (this.stylingContainer = el), class: "LotteryTippingTicketBet__container" }, h("p", null, translate('error', this.language))));
3366
+ if (format$1)
3367
+ return format(parsedDate, format$1);
3368
+ let formatStr = 'dd/MM/yyyy';
3369
+ if (type === 'time') {
3370
+ formatStr = 'dd/MM/yyyy HH:mm:ss';
3215
3371
  }
3216
- const MyTable = ({ columns, dataSource, hideHead = false, grid = true, bordered = true }) => (h("table", { class: { bordered: bordered, grid: grid, 'my-table-component': true } }, !hideHead && (h("thead", null, h("tr", null, columns.map((column) => {
3217
- var _a;
3218
- return (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)));
3219
- })))), h("tbody", null, dataSource.map((row, index) => (h("tr", { key: index }, columns.map((column) => (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) : row[column.value])))))))));
3220
- const lineOperatorAddShow = this.totalPages < this.maxTotalPages && this.currentPage === this.totalPages ? true : false;
3221
- const lineOperatorRemoveShow = this.totalPages > this.minTotalPages ? true : false;
3222
- if (this.ticketDataSource.length === 0 || this.minTotalPages === 0 || this.maxTotalPages === 0) {
3223
- return (h("div", { class: "LotteryTippingTicketBet__container", ref: (el) => (this.stylingContainer = el) }, h("div", { class: "LotteryTippingTicketBet__empty" }, h("p", null, translate('noData', this.language)))));
3372
+ else if (type === 'week') {
3373
+ formatStr = 'ccc dd/MM/yyyy HH:mm:ss';
3224
3374
  }
3225
- if (this.readPretty) {
3226
- return (h("div", { class: "LotteryTippingTicketBet__container", ref: (el) => (this.stylingContainer = el) }, h("div", { class: "LotteryTippingTicketBet__main", ref: (el) => (this.mainContainer = el) }, 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 && (h("div", null, h("div", { class: 'border-line' }), h("div", { class: "LotteryTippingTicketBet__footer" }, h("div", { class: "my-pagination flex justify-between" }, h("span", null, translate('lineInfo', this.language, {
3227
- currentPage: this.currentPage,
3228
- totalPages: this.totalPages
3229
- })), h("div", { class: 'flex gap-1' }, h("span", { class: `btn ${this.currentPage === 1 ? 'disabled' : ''}`, onClick: this.prevPage.bind(this) }, h("span", { class: "icon", innerHTML: leftImagePath })), h("span", { class: `btn ${this.currentPage === this.totalPages ? 'disabled' : ''}`, onClick: this.nextPage.bind(this) }, h("span", { class: "icon", innerHTML: rightImagePath }))))))))));
3375
+ return format(parsedDate, formatStr);
3376
+ }
3377
+ catch (error) {
3378
+ console.error('Error formatting date:', error.message);
3379
+ return '';
3380
+ }
3381
+ };
3382
+ const generateUUID$1 = () => {
3383
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
3384
+ var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;
3385
+ return v.toString(16);
3386
+ });
3387
+ };
3388
+ function fetchRequest(url, method = 'GET', body = null, headers = {}) {
3389
+ return new Promise((resolve, reject) => {
3390
+ const uuid = generateUUID$1();
3391
+ const headersOrigin = Object.assign({ 'Content-Type': 'application/json' }, headers);
3392
+ if (method !== 'GET' && method !== 'HEAD') {
3393
+ headersOrigin['X-Idempotency-Key'] = uuid;
3230
3394
  }
3231
- return (h("div", { ref: (el) => (this.stylingContainer = el), class: "LotteryTippingTicketBet__container" }, h("div", { class: "LotteryTippingTicketBet__tableToolbar flex justify-end gap-1" }, h("button", { class: {
3232
- 'LotteryTippingTicketBet__tableToolbar--item': true,
3233
- 'mr-0': !(lineOperatorAddShow || lineOperatorRemoveShow)
3234
- }, onClick: this.handleClearAll.bind(this) }, translate('clearAll', this.language))), h("div", { class: "flex align-center LotteryTippingTicketBet__main", ref: (el) => (this.mainContainer = el) }, 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) && (h("div", { class: "LotteryTippingTicketBet__lineOperatorGroup" }, lineOperatorAddShow && (h("div", { class: {
3235
- 'LotteryTippingTicketBet__lineOperatorGroup--item': true
3236
- }, onClick: this.handleAddLine.bind(this) }, h("span", { class: "icon", innerHTML: addImagePath }))), lineOperatorRemoveShow && (h("div", { class: {
3237
- 'LotteryTippingTicketBet__lineOperatorGroup--item': true
3238
- }, onClick: this.handleRemoveLine.bind(this) }, h("span", { class: "icon", innerHTML: deleteImagePath })))))), h("div", { class: 'border-line' }), h("div", { class: "LotteryTippingTicketBet__footer" }, h("div", { class: "my-pagination flex justify-between" }, h("span", null, translate('lineInfo', this.language, { currentPage: this.currentPage, totalPages: this.totalPages })), h("div", { class: 'flex gap-1' }, h("span", { class: `btn ${this.currentPage === 1 ? 'disabled' : ''}`, onClick: this.prevPage.bind(this) }, h("span", { class: "icon", innerHTML: leftImagePath })), h("span", { class: `btn ${this.currentPage === this.totalPages ? 'disabled' : ''}`, onClick: this.nextPage.bind(this) }, h("span", { class: "icon", innerHTML: rightImagePath }))))), this.dialogConfig.visible && (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))));
3395
+ const options = {
3396
+ method,
3397
+ headers: headersOrigin
3398
+ };
3399
+ if (body && method !== 'GET' && method !== 'HEAD') {
3400
+ options.body = JSON.stringify(body);
3401
+ }
3402
+ fetch(url, options)
3403
+ .then((response) => {
3404
+ if (!response.ok) {
3405
+ throw new Error(`HTTP error! Status: ${response.status}`);
3406
+ }
3407
+ return response.json();
3408
+ })
3409
+ .then((data) => resolve(data))
3410
+ .catch((error) => reject(error));
3411
+ });
3412
+ }
3413
+ const showNotification = ({ message, theme = 'success' }) => {
3414
+ window.postMessage({
3415
+ type: 'ShowNotificationToast',
3416
+ message,
3417
+ theme
3418
+ });
3419
+ };
3420
+ const thousandSeparator = (value) => {
3421
+ if (value === 0) {
3422
+ return '0';
3239
3423
  }
3240
- static get assetsDirs() { return ["../static"]; }
3241
- static get watchers() { return {
3242
- "translationUrl": ["handleNewTranslations"],
3243
- "clientStyling": ["handleClientStylingChange"],
3244
- "clientStylingUrl": ["handleClientStylingUrlChange"],
3245
- "mbSource": ["handleMbSourceChange"],
3246
- "gameId": ["fetchMatchData"],
3247
- "sessionId": ["fetchMatchData"],
3248
- "drawId": ["fetchMatchData"],
3249
- "defaultBulletConfigLineGroup": ["fetchMatchData"],
3250
- "currentPage": ["handleCurrentPageChange"]
3251
- }; }
3424
+ if (!value) {
3425
+ return '';
3426
+ }
3427
+ value = value.toString();
3428
+ const parts = value.split('.');
3429
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
3430
+ return parts.join('.');
3252
3431
  };
3253
- LotteryTippingTicketBet.style = LotteryTippingTicketBetStyle0;
3254
-
3255
- var PlayModeEnum;
3256
- (function (PlayModeEnum) {
3257
- PlayModeEnum["SingleBet"] = "SingleBet";
3258
- PlayModeEnum["SystemBet"] = "SystemBet";
3259
- })(PlayModeEnum || (PlayModeEnum = {}));
3260
- var BettingTypeEnum;
3261
- (function (BettingTypeEnum) {
3262
- BettingTypeEnum["FullTime"] = "FullTime";
3263
- BettingTypeEnum["HalfTime"] = "HalfTime";
3264
- BettingTypeEnum["Both"] = "Both";
3265
- })(BettingTypeEnum || (BettingTypeEnum = {}));
3432
+ const HomeDrawAwayArr = ['H', 'D', 'A'];
3433
+ // Utility to format raw results into winning numbers (H/D/A)
3434
+ const formatResultsToWinningNumbers = (rawResults) => {
3435
+ // Convert each bullet item into binary (1 if selected, 0 otherwise)
3436
+ const toBinarySelection = (matchRes) => matchRes.map((bulletItem) => (bulletItem.isSelected ? 1 : 0));
3437
+ // Step 1: Convert rawResults into arrays of 0/1 flags
3438
+ const binaryResults = rawResults.map((lineRes) => lineRes.map(toBinarySelection));
3439
+ const resultLinesArr = [];
3440
+ // Step 2: Iterate through each line of results
3441
+ binaryResults.forEach((line, lineIdx) => {
3442
+ const formattedLine = [];
3443
+ // Step 3: Iterate through each match in a line
3444
+ line.forEach((match, matchIdx) => {
3445
+ // Step 4: Collect the winning outcomes (H/D/A) based on binary flags
3446
+ const outcomes = match.map((isSelected, idx) => (isSelected ? HomeDrawAwayArr[idx] : null)).filter(Boolean);
3447
+ // Wrap outcomes into the expected structure [[matchRes]]
3448
+ formattedLine[matchIdx] = [outcomes];
3449
+ });
3450
+ resultLinesArr[lineIdx] = formattedLine;
3451
+ });
3452
+ return resultLinesArr;
3453
+ };
3454
+ const buildSubmitParam = ({ playerId, rawResults, gameId, rawData, amount, currentStake, betTypeId, betType }) => {
3455
+ var _a;
3456
+ const body = { playerId, tickets: [] };
3457
+ const selections = formatResultsToWinningNumbers(rawResults);
3458
+ const stake = currentStake || {};
3459
+ body.tickets.push({
3460
+ startingDrawId: (_a = rawData === null || rawData === void 0 ? void 0 : rawData.currentDraw) === null || _a === void 0 ? void 0 : _a.id,
3461
+ amount,
3462
+ gameId: gameId,
3463
+ gameName: rawData.name,
3464
+ currency: stake.currency,
3465
+ selection: selections.map((i) => ({
3466
+ betType: betTypeId,
3467
+ stake: +stake.value,
3468
+ poolGameSelections: i,
3469
+ quickPick: false,
3470
+ betName: betType.name
3471
+ })),
3472
+ multiplier: false,
3473
+ drawCount: 1,
3474
+ quickPick: false
3475
+ });
3476
+ return body;
3477
+ };
3478
+ // BettingTypes, playModes and playTypes
3479
+ const getEnableOptions = (raw = []) => raw.filter((i) => i.enabled);
3480
+ // the first one in bet type config that enabled = true, will be default choice
3481
+ const getDefaultType = ({ playTypeConfig = [], betTypeConfig = [], enabledBettingTypeOptions = [], enabledPlayingModeOptions = [] }) => {
3482
+ const enabledBetTypeConfig = betTypeConfig.filter((i) => i.enabled);
3483
+ for (const item of enabledBetTypeConfig) {
3484
+ const { bettingType, playMode } = playTypeConfig === null || playTypeConfig === void 0 ? void 0 : playTypeConfig.find((i) => i.betTypeId === item.id);
3485
+ if (enabledBettingTypeOptions.map((i) => i.code).includes(bettingType) &&
3486
+ enabledPlayingModeOptions.map((i) => i.code).includes(playMode))
3487
+ return { bettingType, playMode };
3488
+ }
3489
+ return {};
3490
+ };
3491
+ const calculatePlayingModeOptions = ({ bettingType, playTypeConfig, betTypeConfig, enabledPlayingModeOptions }) => {
3492
+ const enabledBetTypeIdConfig = betTypeConfig.filter((i) => i.enabled).map((i) => i.id);
3493
+ const filteredPlayTypesConfig = playTypeConfig.filter((i) => enabledBetTypeIdConfig.includes(i.betTypeId));
3494
+ const selectedBettingTypeFilteredPlayTypesConfig = filteredPlayTypesConfig.filter((i) => i.bettingType === bettingType);
3495
+ const _ = selectedBettingTypeFilteredPlayTypesConfig.map((i) => i.playMode);
3496
+ return enabledPlayingModeOptions.filter((i) => _.includes(i.code));
3497
+ };
3498
+ const getCheckedCountForEachLineAndEachMatch = ({ rawResults }) => {
3499
+ const getMatchCheckRes = (matchRes) => matchRes.filter((bulletItem) => bulletItem.isSelected).length;
3500
+ const checkedCountForEachLineAndEachMatch = rawResults.map((lineRes) => lineRes.length > 0 ? lineRes.map(getMatchCheckRes) : [0]);
3501
+ return checkedCountForEachLineAndEachMatch;
3502
+ };
3503
+ const getPlayTypeConfig = ({ rawData, selectedBettingType, selectedPlayingMode }) => {
3504
+ var _a, _b, _c, _d, _e, _f;
3505
+ 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;
3506
+ 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);
3507
+ return { betTypeId, betType };
3508
+ };
3509
+ const getMinValue = (arr) => (arr.length ? Math.min.apply(null, arr) : undefined);
3510
+ function formattedTurnover(turnover, unit = '€') {
3511
+ if (turnover === null || turnover === undefined)
3512
+ return '';
3513
+ return `${unit}${turnover ? thousandSeparator(turnover) : 0}`;
3514
+ }
3515
+ function formattedWeekName(date) {
3516
+ if (!date)
3517
+ return '';
3518
+ const _temp = formatDate({ date, format: 'EEEE' });
3519
+ if (!['saturday', 'sunday'].includes(_temp.toLowerCase())) {
3520
+ return 'MIDWEEK';
3521
+ }
3522
+ return _temp.toUpperCase();
3523
+ }
3266
3524
 
3267
3525
  const TICKET_INVALID_TOKEN = 'TICKET_INVALID_TOKEN';
3268
3526
  const generateUUID = () => {
@@ -3289,9 +3547,18 @@ const doSubmitTicket = ({ body, sessionId, url }) => {
3289
3547
  if (res.status > 300) {
3290
3548
  throw new Error(res.statusText);
3291
3549
  }
3292
- return res.json();
3550
+ return res.json().then((data) => {
3551
+ if (checkTicketDetailHasError(data.tickets))
3552
+ throw new Error(res.statusText);
3553
+ return data;
3554
+ });
3293
3555
  });
3294
3556
  };
3557
+ function checkTicketDetailHasError(tickets) {
3558
+ if (!tickets || !tickets.length)
3559
+ return true;
3560
+ return tickets.some((i) => i.state !== TicketState.Purchased);
3561
+ }
3295
3562
  async function fetchSaleStatistics({ endpoint, gameId, drawId }) {
3296
3563
  try {
3297
3564
  const res = await fetchRequest(`${endpoint}/games/${gameId}/draws/${drawId}/saleStatistics`);
@@ -3333,6 +3600,7 @@ const LotteryTippingTicketController = class {
3333
3600
  this.hasSelectAllBullet = undefined;
3334
3601
  this.totalLineCombination = 0;
3335
3602
  this.submitLoading = undefined;
3603
+ this.drawSubmitAvailable = false;
3336
3604
  this.rawData = {};
3337
3605
  this.saleStatisticsInfo = {};
3338
3606
  this.currentStake = undefined;
@@ -3428,7 +3696,7 @@ const LotteryTippingTicketController = class {
3428
3696
  };
3429
3697
  this.dialogConfig = {
3430
3698
  visible: true,
3431
- content: translate$2('selectionCleared', this.language),
3699
+ content: translate('selectionCleared', this.language),
3432
3700
  onConfirm: onConfirm,
3433
3701
  onCancel: closeDialog
3434
3702
  };
@@ -3503,6 +3771,9 @@ const LotteryTippingTicketController = class {
3503
3771
  setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
3504
3772
  }
3505
3773
  }
3774
+ handleTimerStop() {
3775
+ this.drawSubmitAvailable = true;
3776
+ }
3506
3777
  componentWillLoad() {
3507
3778
  if (this.translationUrl) {
3508
3779
  resolveTranslationUrl(this.translationUrl);
@@ -3583,17 +3854,17 @@ const LotteryTippingTicketController = class {
3583
3854
  this.submitLoading = true;
3584
3855
  doSubmitTicket({ body, sessionId: this.sessionId, url: url.href })
3585
3856
  .then(() => {
3586
- showNotification$1({ message: translate$2('ticketSubmitted', this.language) });
3857
+ showNotification({ message: translate('ticketSubmitted', this.language) });
3587
3858
  this.clearBulletConfig();
3588
3859
  this.updateSaleStatistics();
3589
3860
  })
3590
3861
  .catch((res) => {
3591
3862
  if (res.message === TICKET_INVALID_TOKEN) {
3592
3863
  this.logoutEventHandler.emit();
3593
- showNotification$1({ message: TICKET_INVALID_TOKEN, theme: 'error' });
3864
+ showNotification({ message: TICKET_INVALID_TOKEN, theme: 'error' });
3594
3865
  return;
3595
3866
  }
3596
- showNotification$1({ message: translate$2('ticketFailed', this.language), theme: 'error' });
3867
+ showNotification({ message: translate('ticketFailed', this.language), theme: 'error' });
3597
3868
  })
3598
3869
  .finally(() => {
3599
3870
  this.submitLoading = false;
@@ -3601,9 +3872,9 @@ const LotteryTippingTicketController = class {
3601
3872
  }
3602
3873
  get lineCountRender() {
3603
3874
  const _ = thousandSeparator(this.totalLineCombination);
3604
- let unit = translate$2('lines', this.language);
3875
+ let unit = translate('lines', this.language);
3605
3876
  if ([0, 1].includes(+_))
3606
- unit = translate$2('line', this.language);
3877
+ unit = translate('line', this.language);
3607
3878
  return _ + ' ' + unit;
3608
3879
  }
3609
3880
  renderBettingControls() {
@@ -3621,23 +3892,18 @@ const LotteryTippingTicketController = class {
3621
3892
  var _a;
3622
3893
  return (h("div", null, 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 })));
3623
3894
  };
3624
- return (h("div", { class: "LotteryTippingTicketController__top" }, h("div", { class: "LotteryTippingTicketController__row" }, h("div", { class: "LotteryTippingTicketController__section" }, h("span", { class: "LotteryTippingTicketController__label" }, translate$2('bettingType', this.language)), !!this.bettingTypeOptions.length ? renderBettingTypeOptions() : renderSkeleton()), h("div", { class: "LotteryTippingTicketController__section" }, 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 && (h("div", { class: "LotteryTippingTicketController__section" }, h("span", { class: "LotteryTippingTicketController__label" }, translate$2('stakePerLine', this.language)), renderingStakeOptions())), ((_b = this.stakeOptions) === null || _b === void 0 ? void 0 : _b.length) > 1 && (h("div", { class: "LotteryTippingTicketController__section" }, h("span", { class: "LotteryTippingTicketController__label" }, translate$2('stakePerLine', this.language)), renderingStakeOptions())))));
3895
+ return (h("div", { class: "LotteryTippingTicketController__top" }, h("div", { class: "LotteryTippingTicketController__row" }, h("div", { class: "LotteryTippingTicketController__section" }, h("span", { class: "LotteryTippingTicketController__label" }, translate('bettingType', this.language)), !!this.bettingTypeOptions.length ? renderBettingTypeOptions() : renderSkeleton()), h("div", { class: "LotteryTippingTicketController__section" }, 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 && (h("div", { class: "LotteryTippingTicketController__section" }, h("span", { class: "LotteryTippingTicketController__label" }, translate('stakePerLine', this.language)), renderingStakeOptions())), ((_b = this.stakeOptions) === null || _b === void 0 ? void 0 : _b.length) > 1 && (h("div", { class: "LotteryTippingTicketController__section" }, h("span", { class: "LotteryTippingTicketController__label" }, translate('stakePerLine', this.language)), renderingStakeOptions())))));
3625
3896
  }
3626
3897
  renderOrderSummary() {
3627
3898
  var _a;
3628
- return (h("div", { class: "LotteryTippingTicketController__main--right order-summary" }, h("h3", { class: "order-summary__title" }, translate$2('orderSummaryTitle', this.language)), h("div", { class: "order-summary__ticket-info" }, h("div", { class: "order-summary__ticket" }, translate$2('orderSummaryTickets', this.language), ":"), h("div", { class: "order-summary__details" }, h("span", { class: "order-summary__line-count" }, this.lineCountRender), h("div", null, this.currentStake && h("span", { class: "order-summary__multiplier" }, "x"), h("span", { class: "order-summary__stake" }, this.currentStakeFormatted)), this.isBothBettingType && (h("div", null, h("span", { class: "order-summary__multiplier" }, "x"), h("span", { class: "order-summary__stake" }, this.bothBettingTypeMultiplier))))), h("hr", { class: "order-summary__divider" }), h("div", { class: "order-summary__ticket-info" }, h("div", { class: "order-summary__ticket" }, translate$2('orderSummaryTotal', this.language), ":"), h("span", { class: "order-summary__details" }, this.totalAmountFormatted)), h("div", { class: "order-summary__button-wrapper" }, 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) }))));
3629
- }
3630
- get formattedTurnover() {
3631
- var _a, _b, _c;
3632
- 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;
3633
- if (turnover === null || turnover === undefined)
3634
- return '';
3635
- const unit = '€';
3636
- return `${unit}${turnover ? thousandSeparator(turnover) : 0}`;
3899
+ return (h("div", { class: "LotteryTippingTicketController__main--right order-summary" }, h("h3", { class: "order-summary__title" }, translate('orderSummaryTitle', this.language)), h("div", { class: "order-summary__ticket-info" }, h("div", { class: "order-summary__ticket" }, translate('orderSummaryTickets', this.language), ":"), h("div", { class: "order-summary__details" }, h("span", { class: "order-summary__line-count" }, this.lineCountRender), h("div", null, this.currentStake && h("span", { class: "order-summary__multiplier" }, "x"), h("span", { class: "order-summary__stake" }, this.currentStakeFormatted)), this.isBothBettingType && (h("div", null, h("span", { class: "order-summary__multiplier" }, "x"), h("span", { class: "order-summary__stake" }, this.bothBettingTypeMultiplier))))), h("hr", { class: "order-summary__divider" }), h("div", { class: "order-summary__ticket-info" }, h("div", { class: "order-summary__ticket" }, translate('orderSummaryTotal', this.language), ":"), h("span", { class: "order-summary__details" }, this.totalAmountFormatted)), h("div", { class: "order-summary__button-wrapper" }, h("lottery-button", { onClick: this.handleSubmit.bind(this), loading: this.submitLoading, disabled: !this.hasSelectAllBullet ||
3900
+ this.submitLoading ||
3901
+ ((_a = this.currentStake) === null || _a === void 0 ? void 0 : _a.value) === undefined ||
3902
+ !this.drawSubmitAvailable, text: translate('orderSummarySubmit', this.language) }))));
3637
3903
  }
3638
3904
  render() {
3639
- var _a, _b, _c, _d, _e, _f, _g;
3640
- return (h("div", { key: '353f56111a3dc6f6e7365d563163a38c850f2e88', class: "lottery-tipping-ticket-controller__container", ref: (el) => (this.stylingContainer = el) }, 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(), h("div", { key: '9d0a9391ccf79351959cc280e3c15efc657a966f', class: "flex flex-wrap LotteryTippingTicketController__main" }, h("div", { key: 'c61fdb41d41694227971478e193cc5162bff30c3', class: "LotteryTippingTicketController__main--left" }, 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 && (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))));
3905
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
3906
+ return (h("div", { key: '71d1e6567f13267094ca2bdc32caa02891ad8540', class: "lottery-tipping-ticket-controller__container", ref: (el) => (this.stylingContainer = el) }, 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(), h("div", { key: 'd054f3970388474745f6e92e7aa028d4509e6250', class: "flex flex-wrap LotteryTippingTicketController__main" }, h("div", { key: '736a9c1c2ff1d5c88252b64e6a90a08d185574a0', class: "LotteryTippingTicketController__main--left" }, 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 && (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))));
3641
3907
  }
3642
3908
  static get assetsDirs() { return ["../static"]; }
3643
3909
  static get watchers() { return {
@@ -8850,15 +9116,15 @@ const LotteryTippingTicketHistory = class {
8850
9116
  }
8851
9117
  this.statusOptions = [
8852
9118
  {
8853
- label: translate$4('settled', this.language),
9119
+ label: translate$3('settled', this.language),
8854
9120
  value: 'Settled'
8855
9121
  },
8856
9122
  {
8857
- label: translate$4('purchased', this.language),
9123
+ label: translate$3('purchased', this.language),
8858
9124
  value: 'Purchased'
8859
9125
  },
8860
9126
  {
8861
- label: translate$4('canceled', this.language),
9127
+ label: translate$3('canceled', this.language),
8862
9128
  value: 'Canceled'
8863
9129
  }
8864
9130
  ];
@@ -8950,12 +9216,12 @@ const LotteryTippingTicketHistory = class {
8950
9216
  return name !== null && name !== void 0 ? name : bettingType;
8951
9217
  }
8952
9218
  render() {
8953
- return (h("div", { key: '8b5cf7b807d86f60585333f6e1ad908c27e69d2d', class: "lottery-tipping-ticket-history", ref: (el) => (this.stylingContainer = el) }, h("div", { key: '5d5b27c8663171c205fa542fa8cabaf43a8e9868', class: "ticket-history-title" }, translate$4('ticketsHistory', this.language)), h("div", { key: '80a725f121d8ae43918655645b539386523f2c5b', class: "filter-wrap" }, h("div", { key: 'ddfbecf52c2b34ff65a0a1eb1c4461e2ec4adb83', class: "filter-status" }, this.statusOptions.map((status) => (h("div", { class: 'filter-status-btn' + (this.activeStatus == status.value ? ' active' : ''), onClick: () => this.changeStatus(status.value) }, status.label)))), h("div", { key: 'd7af5f48131401c38ed5e47526cf8a0b66bf7ed5', class: "filter-operation" }, h("lottery-tipping-filter", { key: '6cb80e892227bb0cca2231dbd01c967e39f00057', "quick-filters-active": this.quickFiltersActive, language: this.language, "translation-url": this.translationUrl }))), this.isLoading && (h("div", { key: '9b1ded95022c5eff5963d81eea67c3f6a915033e', class: "loading-wrap" }, h("section", { key: '731d40f195f1cba224b792d250e9f9e4b86b61ae', class: "dots-container" }, h("div", { key: '0b5c88b5c231045760c8951e02b828f8539168ac', class: "dot" }), h("div", { key: 'e534a45e4b666ec35cefc3a709cc0b9bcb6ddd56', class: "dot" }), h("div", { key: '4adae575af1bcaa438f50fe0fa9ca1a5c8ea8c73', class: "dot" }), h("div", { key: '27c4cc688611722d858436bb857d2435d3bb57f9', class: "dot" }), h("div", { key: 'acd88b2c9756ef9c7dff629fd9d238d63128e63c', class: "dot" })))), !this.isLoading && this.paginationInfo.total > 0 && (h("div", { key: '9afe2101cbafb68c1d0a648ccf85d7df497ea5bc', class: "ticket-list-wrap" }, this.ticketHistory.map((item) => (h("lottery-tipping-panel", { "header-title": format(new Date(item.createdAt), 'dd/MM/yyyy HH:mm:ss') + ' ' + item.state }, h("div", { class: "panel-content", slot: "content" }, h("div", { class: "ticket-info" }, h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$4('ticketId', this.language)), h("div", { class: "ticket-info-val" }, item.id, " ")), h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$4('ticketType', this.language)), h("div", { class: "ticket-info-val" }, this.ticketTypeMap[item.wagerType], " ")), h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$4('ticketAmount', this.language)), h("div", { class: "ticket-info-val" }, `${item.amount} ${item.currency}`)), h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$4('lineDetail', this.language)), h("div", { class: "ticket-info-val" }, h("span", { class: "show-detail-link", onClick: () => this.handleShowTicketLineDetial(item) }, translate$4('seeDetails', this.language)))), h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$4('numberOfDraw', this.language)), h("div", { class: "ticket-info-val" }, item.drawCount))), item.state == 'Settled' &&
8954
- item.drawResults.map((drawResultItem) => (h("div", { class: "draw-info-container" }, drawResultItem.tempDrawData ? (h("div", { class: "draw-info" }, h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$4('ticketResult', this.language)), h("div", { class: "draw-info-val" }, this.resultMap[drawResultItem.state])), h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$4('drawId', this.language)), h("div", { class: "draw-info-val" }, drawResultItem.drawId)), h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$4('drawDate', this.language)), h("div", { class: "draw-info-val" }, format(new Date(drawResultItem.tempDrawData.date), 'dd/MM/yyyy'))), h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$4('result', this.language)), h("div", { class: "draw-info-val" }, h("span", { class: "show-detail-link", onClick: () => this.handleShowCurrentDraw(drawResultItem.tempDrawData) }, translate$4('seeDetails', this.language)))), drawResultItem.state === DrawResult.WON && (h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$4('prize', this.language)), h("div", { class: "draw-info-val1" }, h("div", { style: { height: '20px' } }), drawResultItem.prizeDetails.map((prizeItem) => (h("span", null, h("div", null, h("span", { style: { color: 'rgb(85, 85, 85)' } }, prizeItem.prizeName, prizeItem.times > 1 ? ' x ' + prizeItem.times : '', ":", ' '), h("span", { style: { 'margin-right': '4px', color: 'rgb(85, 85, 85)' } }, thousandSeperator(prizeItem.amount)), h("span", { style: { color: 'rgb(85, 85, 85)' } }, prizeItem.currency)))))))))) : (h("div", { class: "draw-info-skeleton" }, [...Array(5)].map(() => (h("div", { class: "skeleton-line" })))))))))))))), !this.isLoading && this.paginationInfo.total === 0 && (h("div", { key: '5de413a3747c7928d9dae3a817337a6f014f0b17', class: "empty-wrap" }, translate$4('noData', this.language))), 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: () => {
9219
+ return (h("div", { key: '8b5cf7b807d86f60585333f6e1ad908c27e69d2d', class: "lottery-tipping-ticket-history", ref: (el) => (this.stylingContainer = el) }, h("div", { key: '5d5b27c8663171c205fa542fa8cabaf43a8e9868', class: "ticket-history-title" }, translate$3('ticketsHistory', this.language)), h("div", { key: '80a725f121d8ae43918655645b539386523f2c5b', class: "filter-wrap" }, h("div", { key: 'ddfbecf52c2b34ff65a0a1eb1c4461e2ec4adb83', class: "filter-status" }, this.statusOptions.map((status) => (h("div", { class: 'filter-status-btn' + (this.activeStatus == status.value ? ' active' : ''), onClick: () => this.changeStatus(status.value) }, status.label)))), h("div", { key: 'd7af5f48131401c38ed5e47526cf8a0b66bf7ed5', class: "filter-operation" }, h("lottery-tipping-filter", { key: '6cb80e892227bb0cca2231dbd01c967e39f00057', "quick-filters-active": this.quickFiltersActive, language: this.language, "translation-url": this.translationUrl }))), this.isLoading && (h("div", { key: '9b1ded95022c5eff5963d81eea67c3f6a915033e', class: "loading-wrap" }, h("section", { key: '731d40f195f1cba224b792d250e9f9e4b86b61ae', class: "dots-container" }, h("div", { key: '0b5c88b5c231045760c8951e02b828f8539168ac', class: "dot" }), h("div", { key: 'e534a45e4b666ec35cefc3a709cc0b9bcb6ddd56', class: "dot" }), h("div", { key: '4adae575af1bcaa438f50fe0fa9ca1a5c8ea8c73', class: "dot" }), h("div", { key: '27c4cc688611722d858436bb857d2435d3bb57f9', class: "dot" }), h("div", { key: 'acd88b2c9756ef9c7dff629fd9d238d63128e63c', class: "dot" })))), !this.isLoading && this.paginationInfo.total > 0 && (h("div", { key: '9afe2101cbafb68c1d0a648ccf85d7df497ea5bc', class: "ticket-list-wrap" }, this.ticketHistory.map((item) => (h("lottery-tipping-panel", { "header-title": format(new Date(item.createdAt), 'dd/MM/yyyy HH:mm:ss') + ' ' + item.state }, h("div", { class: "panel-content", slot: "content" }, h("div", { class: "ticket-info" }, h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$3('ticketId', this.language)), h("div", { class: "ticket-info-val" }, item.id, " ")), h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$3('ticketType', this.language)), h("div", { class: "ticket-info-val" }, this.ticketTypeMap[item.wagerType], " ")), h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$3('ticketAmount', this.language)), h("div", { class: "ticket-info-val" }, `${item.amount} ${item.currency}`)), h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$3('lineDetail', this.language)), h("div", { class: "ticket-info-val" }, h("span", { class: "show-detail-link", onClick: () => this.handleShowTicketLineDetial(item) }, translate$3('seeDetails', this.language)))), h("div", { class: "ticket-info-item" }, h("div", { class: "ticket-info-label" }, translate$3('numberOfDraw', this.language)), h("div", { class: "ticket-info-val" }, item.drawCount))), item.state == 'Settled' &&
9220
+ item.drawResults.map((drawResultItem) => (h("div", { class: "draw-info-container" }, drawResultItem.tempDrawData ? (h("div", { class: "draw-info" }, h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$3('ticketResult', this.language)), h("div", { class: "draw-info-val" }, this.resultMap[drawResultItem.state])), h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$3('drawId', this.language)), h("div", { class: "draw-info-val" }, drawResultItem.drawId)), h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$3('drawDate', this.language)), h("div", { class: "draw-info-val" }, format(new Date(drawResultItem.tempDrawData.date), 'dd/MM/yyyy'))), h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$3('result', this.language)), h("div", { class: "draw-info-val" }, h("span", { class: "show-detail-link", onClick: () => this.handleShowCurrentDraw(drawResultItem.tempDrawData) }, translate$3('seeDetails', this.language)))), drawResultItem.state === DrawResult.WON && (h("div", { class: "draw-info-item" }, h("div", { class: "draw-info-label" }, translate$3('prize', this.language)), h("div", { class: "draw-info-val1" }, h("div", { style: { height: '20px' } }), drawResultItem.prizeDetails.map((prizeItem) => (h("span", null, h("div", null, h("span", { style: { color: 'rgb(85, 85, 85)' } }, prizeItem.prizeName, prizeItem.times > 1 ? ' x ' + prizeItem.times : '', ":", ' '), h("span", { style: { 'margin-right': '4px', color: 'rgb(85, 85, 85)' } }, thousandSeperator(prizeItem.amount)), h("span", { style: { color: 'rgb(85, 85, 85)' } }, prizeItem.currency)))))))))) : (h("div", { class: "draw-info-skeleton" }, [...Array(5)].map(() => (h("div", { class: "skeleton-line" })))))))))))))), !this.isLoading && this.paginationInfo.total === 0 && (h("div", { key: '5de413a3747c7928d9dae3a817337a6f014f0b17', class: "empty-wrap" }, translate$3('noData', this.language))), 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: () => {
8955
9221
  this.showCurrentTicketLine = false;
8956
- }, language: this.language, "translation-url": this.translationUrl }, this.curSelection && this.curSelection.length && this.showCurrentTicketLine && (h("div", { key: '899c2830647dcee4be611199a4bc42af78588894' }, h("div", { key: '5671d9815195d631026f6ed43400a0b79b43f828', class: "betting-type" }, h("div", { key: '842a5226b1f304ad23ab26081428e5bbd814671f', class: "betting-type-title" }, translate$4('bettingType', this.language)), h("div", { key: '9028c66fca47e8ca7e7d054154361fcca56a9b22', class: "betting-type-text" }, this.getBettingTypeName(this.getBettingType(this.curTicketItem.selection[this.curSelectionIdx].betType)))), 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 })))), 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: () => {
9222
+ }, language: this.language, "translation-url": this.translationUrl }, this.curSelection && this.curSelection.length && this.showCurrentTicketLine && (h("div", { key: '899c2830647dcee4be611199a4bc42af78588894' }, h("div", { key: '5671d9815195d631026f6ed43400a0b79b43f828', class: "betting-type" }, h("div", { key: '842a5226b1f304ad23ab26081428e5bbd814671f', class: "betting-type-title" }, translate$3('bettingType', this.language)), h("div", { key: '9028c66fca47e8ca7e7d054154361fcca56a9b22', class: "betting-type-text" }, this.getBettingTypeName(this.getBettingType(this.curTicketItem.selection[this.curSelectionIdx].betType)))), 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 })))), 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: () => {
8957
9223
  this.showCurrentDrawResult = false;
8958
- }, language: this.language, "translation-url": this.translationUrl }, this.curDrawSelection && this.curDrawSelection.length && this.showCurrentDrawResult && (h("div", { key: '348359e4256d86c47f0cb2cfe936a669f6f7c0e8' }, h("div", { key: '98ed4f468d1a1a4b237c1cfc776fcb990f69fdcf', class: "betting-type" }, h("div", { key: '2ba8e6723d1259aefd74900d82dbf3968325f944', class: "betting-type-title" }, translate$4('bettingType', this.language)), h("div", { key: '7ae55771416badb3c4746bd37353d956362241f8', class: "betting-type-text" }, h("div", { key: '998242980ce53ff0ca9ef509bb45e62d3680fd73', class: "LotteryTippingTicketController__segmented-control" }, Object.keys(this.curDrawSelectionMap).map((bettingType) => (h("button", { class: {
9224
+ }, language: this.language, "translation-url": this.translationUrl }, this.curDrawSelection && this.curDrawSelection.length && this.showCurrentDrawResult && (h("div", { key: '348359e4256d86c47f0cb2cfe936a669f6f7c0e8' }, h("div", { key: '98ed4f468d1a1a4b237c1cfc776fcb990f69fdcf', class: "betting-type" }, h("div", { key: '2ba8e6723d1259aefd74900d82dbf3968325f944', class: "betting-type-title" }, translate$3('bettingType', this.language)), h("div", { key: '7ae55771416badb3c4746bd37353d956362241f8', class: "betting-type-text" }, h("div", { key: '998242980ce53ff0ca9ef509bb45e62d3680fd73', class: "LotteryTippingTicketController__segmented-control" }, Object.keys(this.curDrawSelectionMap).map((bettingType) => (h("button", { class: {
8959
9225
  LotteryTippingTicketController__segment: true,
8960
9226
  'LotteryTippingTicketController__segment--active': this.curDrawSelectionBettingType === bettingType
8961
9227
  }, onClick: () => this.handleDrawBettingTypeChange(bettingType) }, this.getBettingTypeName(bettingType))))))), 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 })))), h("div", { key: '296c91bff848ca5f2ab5fe9df414ffd3b03aef58', class: "pagination-wrap" }, 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 }))));
@@ -9146,4 +9412,4 @@ const UiSkeleton = class {
9146
9412
  };
9147
9413
  UiSkeleton.style = UiSkeletonStyle0;
9148
9414
 
9149
- export { DrawSelection as draw_selection, GeneralMultiSelect as general_multi_select, GeneralTooltip as general_tooltip, LotteryButton as lottery_button, LotteryTippingBullet as lottery_tipping_bullet, LotteryTippingBulletGroup as lottery_tipping_bullet_group, LotteryTippingCalendar as lottery_tipping_calendar, LotteryTippingDialog as lottery_tipping_dialog, LotteryTippingFilter as lottery_tipping_filter, LotteryTippingLatestResult as lottery_tipping_latest_result, LotteryTippingPage as lottery_tipping_page, LotteryTippingPagination as lottery_tipping_pagination, lotteryTippingPanel as lottery_tipping_panel, LotteryTippingTicketBanner as lottery_tipping_ticket_banner, LotteryTippingTicketBet as lottery_tipping_ticket_bet, LotteryTippingTicketController as lottery_tipping_ticket_controller, LotteryTippingTicketHistory as lottery_tipping_ticket_history, UiSkeleton as ui_skeleton };
9415
+ export { DrawSelection as draw_selection, GeneralMultiSelect as general_multi_select, GeneralTooltip as general_tooltip, LotteryBanner as lottery_banner, LotteryButton as lottery_button, LotteryTippingBullet as lottery_tipping_bullet, LotteryTippingBulletGroup as lottery_tipping_bullet_group, LotteryTippingCalendar as lottery_tipping_calendar, LotteryTippingDialog as lottery_tipping_dialog, LotteryTippingFilter as lottery_tipping_filter, LotteryTippingLatestResult as lottery_tipping_latest_result, LotteryTippingPage as lottery_tipping_page, LotteryTippingPagination as lottery_tipping_pagination, lotteryTippingPanel as lottery_tipping_panel, LotteryTippingTicketBet as lottery_tipping_ticket_bet, LotteryTippingTicketController as lottery_tipping_ticket_controller, LotteryTippingTicketHistory as lottery_tipping_ticket_history, UiSkeleton as ui_skeleton };