@everymatrix/lottery-game-page 0.1.2 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/cjs/helper-accordion_2.cjs.entry.js +126 -0
  2. package/dist/cjs/helper-accordion_2.cjs.entry.js.map +1 -0
  3. package/dist/cjs/helper-filters_2.cjs.entry.js +85 -22255
  4. package/dist/cjs/helper-filters_2.cjs.entry.js.map +1 -0
  5. package/dist/cjs/helper-modal.cjs.entry.js +3 -1
  6. package/dist/cjs/helper-modal.cjs.entry.js.map +1 -0
  7. package/dist/cjs/helper-pagination.cjs.entry.js +3 -1
  8. package/dist/cjs/helper-pagination.cjs.entry.js.map +1 -0
  9. package/dist/cjs/helper-tab.cjs.entry.js +13 -8
  10. package/dist/cjs/helper-tab.cjs.entry.js.map +1 -0
  11. package/dist/cjs/{index-e5770ba2.js → index-65086a23.js} +7 -38
  12. package/dist/cjs/index-65086a23.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +2 -0
  14. package/dist/cjs/index.cjs.js.map +1 -0
  15. package/dist/cjs/loader.cjs.js +4 -2
  16. package/dist/cjs/loader.cjs.js.map +1 -0
  17. package/dist/cjs/lottery-draw-results-history.cjs.entry.js +67 -27
  18. package/dist/cjs/lottery-draw-results-history.cjs.entry.js.map +1 -0
  19. package/dist/cjs/lottery-game-details.cjs.entry.js +3 -1
  20. package/dist/cjs/lottery-game-details.cjs.entry.js.map +1 -0
  21. package/dist/cjs/lottery-game-page.cjs.entry.js +52 -13
  22. package/dist/cjs/lottery-game-page.cjs.entry.js.map +1 -0
  23. package/dist/cjs/lottery-game-page.cjs.js +4 -2
  24. package/dist/cjs/lottery-game-page.cjs.js.map +1 -0
  25. package/dist/collection/collection-manifest.json +0 -24
  26. package/dist/collection/components/lottery-game-page/lottery-game-page.css +27 -7
  27. package/dist/collection/components/lottery-game-page/lottery-game-page.js +22 -5
  28. package/dist/collection/components/lottery-game-page/lottery-game-page.js.map +1 -0
  29. package/dist/collection/index.js +1 -0
  30. package/dist/collection/index.js.map +1 -0
  31. package/dist/collection/utils/locale.utils.js +34 -6
  32. package/dist/collection/utils/locale.utils.js.map +1 -0
  33. package/dist/collection/utils/utils.js +1 -0
  34. package/dist/collection/utils/utils.js.map +1 -0
  35. package/dist/components/helper-accordion.js +2 -0
  36. package/dist/components/helper-accordion.js.map +1 -0
  37. package/dist/components/helper-accordion2.js +9 -2
  38. package/dist/components/helper-accordion2.js.map +1 -0
  39. package/dist/components/helper-filters.js +2 -0
  40. package/dist/components/helper-filters.js.map +1 -0
  41. package/dist/components/helper-filters2.js +31 -22211
  42. package/dist/components/helper-filters2.js.map +1 -0
  43. package/dist/components/helper-modal.js +2 -0
  44. package/dist/components/helper-modal.js.map +1 -0
  45. package/dist/components/helper-modal2.js +2 -0
  46. package/dist/components/helper-modal2.js.map +1 -0
  47. package/dist/components/helper-pagination.js +2 -0
  48. package/dist/components/helper-pagination.js.map +1 -0
  49. package/dist/components/helper-tab.js +2 -0
  50. package/dist/components/helper-tab.js.map +1 -0
  51. package/dist/components/helper-tab2.js +14 -8
  52. package/dist/components/helper-tab2.js.map +1 -0
  53. package/dist/components/helper-tabs.js +2 -0
  54. package/dist/components/helper-tabs.js.map +1 -0
  55. package/dist/components/helper-tabs2.js +3 -1
  56. package/dist/components/helper-tabs2.js.map +1 -0
  57. package/dist/components/index.js +2 -0
  58. package/dist/components/index.js.map +1 -0
  59. package/dist/components/lottery-draw-results-history.js +2 -0
  60. package/dist/components/lottery-draw-results-history.js.map +1 -0
  61. package/dist/components/lottery-draw-results-history2.js +78 -46
  62. package/dist/components/lottery-draw-results-history2.js.map +1 -0
  63. package/dist/components/lottery-draw-results.js +2 -0
  64. package/dist/components/lottery-draw-results.js.map +1 -0
  65. package/dist/components/lottery-draw-results2.js +64 -59
  66. package/dist/components/lottery-draw-results2.js.map +1 -0
  67. package/dist/components/lottery-game-details.js +2 -0
  68. package/dist/components/lottery-game-details.js.map +1 -0
  69. package/dist/components/lottery-game-details2.js +2 -0
  70. package/dist/components/lottery-game-details2.js.map +1 -0
  71. package/dist/components/lottery-game-page.js +70 -53
  72. package/dist/components/lottery-game-page.js.map +1 -0
  73. package/dist/esm/helper-accordion_2.entry.js +121 -0
  74. package/dist/esm/helper-accordion_2.entry.js.map +1 -0
  75. package/dist/esm/helper-filters_2.entry.js +89 -22259
  76. package/dist/esm/helper-filters_2.entry.js.map +1 -0
  77. package/dist/esm/helper-modal.entry.js +3 -1
  78. package/dist/esm/helper-modal.entry.js.map +1 -0
  79. package/dist/esm/helper-pagination.entry.js +3 -1
  80. package/dist/esm/helper-pagination.entry.js.map +1 -0
  81. package/dist/esm/helper-tab.entry.js +13 -8
  82. package/dist/esm/helper-tab.entry.js.map +1 -0
  83. package/dist/esm/{index-8f308493.js → index-11dea618.js} +7 -38
  84. package/dist/esm/index-11dea618.js.map +1 -0
  85. package/dist/esm/index.js +2 -0
  86. package/dist/esm/index.js.map +1 -0
  87. package/dist/esm/loader.js +4 -2
  88. package/dist/esm/loader.js.map +1 -0
  89. package/dist/esm/lottery-draw-results-history.entry.js +67 -27
  90. package/dist/esm/lottery-draw-results-history.entry.js.map +1 -0
  91. package/dist/esm/lottery-game-details.entry.js +3 -1
  92. package/dist/esm/lottery-game-details.entry.js.map +1 -0
  93. package/dist/esm/lottery-game-page.entry.js +52 -13
  94. package/dist/esm/lottery-game-page.entry.js.map +1 -0
  95. package/dist/esm/lottery-game-page.js +4 -2
  96. package/dist/esm/lottery-game-page.js.map +1 -0
  97. package/dist/lottery-game-page/index.esm.js +2 -0
  98. package/dist/lottery-game-page/index.esm.js.map +1 -0
  99. package/dist/lottery-game-page/lottery-game-page.esm.js +2 -1
  100. package/dist/lottery-game-page/lottery-game-page.esm.js.map +1 -0
  101. package/dist/lottery-game-page/p-0ffa81cc.entry.js +2 -0
  102. package/dist/lottery-game-page/p-0ffa81cc.entry.js.map +1 -0
  103. package/dist/lottery-game-page/p-3a9ad86b.js +2 -0
  104. package/dist/lottery-game-page/p-3a9ad86b.js.map +1 -0
  105. package/dist/lottery-game-page/p-3e00e24b.entry.js +2 -0
  106. package/dist/lottery-game-page/p-3e00e24b.entry.js.map +1 -0
  107. package/dist/lottery-game-page/p-4a79f68c.entry.js +2 -0
  108. package/dist/lottery-game-page/p-4a79f68c.entry.js.map +1 -0
  109. package/dist/lottery-game-page/p-978fd922.entry.js +2 -0
  110. package/dist/lottery-game-page/p-978fd922.entry.js.map +1 -0
  111. package/dist/lottery-game-page/p-bd53d31a.entry.js +2 -0
  112. package/dist/lottery-game-page/p-bd53d31a.entry.js.map +1 -0
  113. package/dist/lottery-game-page/p-bfa5e84c.entry.js +2 -0
  114. package/dist/lottery-game-page/p-bfa5e84c.entry.js.map +1 -0
  115. package/dist/lottery-game-page/p-dedb92e5.entry.js +2 -0
  116. package/dist/lottery-game-page/p-dedb92e5.entry.js.map +1 -0
  117. package/dist/lottery-game-page/p-f4592d65.entry.js +2 -0
  118. package/dist/lottery-game-page/p-f4592d65.entry.js.map +1 -0
  119. package/dist/stencil.config.js +13 -2
  120. package/dist/stencil.config.js.map +1 -0
  121. package/dist/types/components/lottery-game-page/lottery-game-page.d.ts +3 -0
  122. package/package.json +2 -2
  123. package/dist/cjs/helper-accordion.cjs.entry.js +0 -88
  124. package/dist/cjs/helper-tabs.cjs.entry.js +0 -38
  125. package/dist/cjs/lottery-bullet_2.cjs.entry.js +0 -202
  126. package/dist/cjs/lottery-ticket-controller.cjs.entry.js +0 -69
  127. package/dist/cjs/lottery-ticket.cjs.entry.js +0 -146
  128. package/dist/components/lottery-bullet.js +0 -6
  129. package/dist/components/lottery-bullet2.js +0 -57
  130. package/dist/components/lottery-grid.js +0 -6
  131. package/dist/components/lottery-grid2.js +0 -197
  132. package/dist/components/lottery-ticket-controller.js +0 -6
  133. package/dist/components/lottery-ticket-controller2.js +0 -118
  134. package/dist/components/lottery-ticket.js +0 -6
  135. package/dist/components/lottery-ticket2.js +0 -184
  136. package/dist/esm/helper-accordion.entry.js +0 -84
  137. package/dist/esm/helper-tabs.entry.js +0 -34
  138. package/dist/esm/lottery-bullet_2.entry.js +0 -197
  139. package/dist/esm/lottery-ticket-controller.entry.js +0 -65
  140. package/dist/esm/lottery-ticket.entry.js +0 -142
  141. package/dist/lottery-game-page/p-037dd940.js +0 -1
  142. package/dist/lottery-game-page/p-12251772.entry.js +0 -1
  143. package/dist/lottery-game-page/p-324c7edd.entry.js +0 -2849
  144. package/dist/lottery-game-page/p-43400250.entry.js +0 -1
  145. package/dist/lottery-game-page/p-43f7fac4.entry.js +0 -1
  146. package/dist/lottery-game-page/p-55338096.entry.js +0 -1
  147. package/dist/lottery-game-page/p-581bdfc2.entry.js +0 -1
  148. package/dist/lottery-game-page/p-6977f833.entry.js +0 -1
  149. package/dist/lottery-game-page/p-85f4e95b.entry.js +0 -1
  150. package/dist/lottery-game-page/p-99a61a44.entry.js +0 -1
  151. package/dist/lottery-game-page/p-af9a2dde.entry.js +0 -1
  152. package/dist/lottery-game-page/p-bf66e969.entry.js +0 -1
  153. package/dist/lottery-game-page/p-d1b9da94.entry.js +0 -1
@@ -1,19 +1,16 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$d } from './helper-accordion2.js';
3
- import { d as defineCustomElement$c } from './helper-filters2.js';
4
- import { d as defineCustomElement$b } from './helper-modal2.js';
5
- import { d as defineCustomElement$a } from './helper-tab2.js';
6
- import { d as defineCustomElement$9 } from './helper-tabs2.js';
7
- import { d as defineCustomElement$8 } from './lottery-bullet2.js';
8
- import { d as defineCustomElement$7 } from './lottery-draw-results2.js';
9
- import { d as defineCustomElement$6 } from './lottery-draw-results-history2.js';
10
- import { d as defineCustomElement$5 } from './lottery-game-details2.js';
11
- import { d as defineCustomElement$4 } from './lottery-grid2.js';
12
- import { d as defineCustomElement$3 } from './lottery-ticket2.js';
13
- import { d as defineCustomElement$2 } from './lottery-ticket-controller2.js';
2
+ import '@everymatrix/lottery-ticket-controller';
3
+ import { d as defineCustomElement$9 } from './helper-accordion2.js';
4
+ import { d as defineCustomElement$8 } from './helper-filters2.js';
5
+ import { d as defineCustomElement$7 } from './helper-modal2.js';
6
+ import { d as defineCustomElement$6 } from './helper-tab2.js';
7
+ import { d as defineCustomElement$5 } from './helper-tabs2.js';
8
+ import { d as defineCustomElement$4 } from './lottery-draw-results2.js';
9
+ import { d as defineCustomElement$3 } from './lottery-draw-results-history2.js';
10
+ import { d as defineCustomElement$2 } from './lottery-game-details2.js';
14
11
 
15
12
  const DEFAULT_LANGUAGE = 'en';
16
- const SUPPORTED_LANGUAGES = ['ro', 'en'];
13
+ const SUPPORTED_LANGUAGES = ['ro', 'en', 'ar'];
17
14
  const TRANSLATIONS = {
18
15
  en: {
19
16
  error: 'Error',
@@ -26,7 +23,7 @@ const TRANSLATIONS = {
26
23
  buy: 'Buy tickets',
27
24
  viewLatest: 'View latest results',
28
25
  createTicket: 'Create Ticket',
29
- modalSuccess: 'Purchase will be successfull soon!',
26
+ modalSuccess: 'Purchase successfully completed!',
30
27
  deleteTicketModalTitle: 'Delete Ticket',
31
28
  deleteTicketModalText: 'Are you sure you want to delete this ticket?',
32
29
  deleteTicketModalCancel: 'Cancel',
@@ -34,7 +31,9 @@ const TRANSLATIONS = {
34
31
  orderSummaryTitle: 'Order Summary',
35
32
  orderSummaryTickets: 'Ticket',
36
33
  orderSummaryTotal: 'Total',
37
- orderSummarySubmit: 'Submit'
34
+ orderSummarySubmit: 'Submit',
35
+ lastDrawResultsTitle: 'Last Draw Results',
36
+ modalLogin: 'Please login to submit a ticket',
38
37
  },
39
38
  ro: {
40
39
  error: 'Eroare',
@@ -43,11 +42,11 @@ const TRANSLATIONS = {
43
42
  lobbyButton: 'Lobby',
44
43
  prize: 'MARELE JACKPOT OMG',
45
44
  winUpTo: 'Castiga pana la',
46
- nextDraw: 'In cat timp devii milionar daca cumperi acum!!!',
45
+ nextDraw: 'Urmatoarea extragere:',
47
46
  buy: 'Cumpara bilet',
48
47
  viewLatest: 'Ultimile extrageri',
49
48
  createTicket: 'Creeaza bilet',
50
- modalSuccess: 'Achiziția va avea succes în curând!',
49
+ modalSuccess: 'Achizitie efectuata cu succes',
51
50
  deleteTicketModalTitle: 'Sterge biletul',
52
51
  deleteTicketModalText: 'Esti sigur ca vrei sa stergi acest bilet?',
53
52
  deleteTicketModalCancel: 'Anuleaza',
@@ -55,7 +54,32 @@ const TRANSLATIONS = {
55
54
  orderSummaryTitle: 'Rezumat comanda',
56
55
  orderSummaryTickets: 'Bilet',
57
56
  orderSummaryTotal: 'Total',
58
- orderSummarySubmit: 'Trimite'
57
+ orderSummarySubmit: 'Trimite',
58
+ lastDrawResultsTitle: 'Cele mai recente extrageri',
59
+ modalLogin: 'Please login to submit a ticket',
60
+ },
61
+ ar: {
62
+ error: 'خطأ',
63
+ title: 'كرونو',
64
+ backButton: 'خلف',
65
+ lobbyButton: 'ردهة',
66
+ prize: 'جائزة',
67
+ winUpTo: 'الفوز بما يصل الى',
68
+ nextDraw: 'السحب التالي:',
69
+ buy: 'اشتري تذاكر',
70
+ viewLatest: 'عرض أحدث النتائج',
71
+ createTicket: 'إنشاء تذكرة',
72
+ modalSuccess: '!سيتم الشراء بنجاح قريبًا',
73
+ deleteTicketModalTitle: 'حذف التذكرة',
74
+ deleteTicketModalText: 'هل أنت متأكد أنك تريد حذف هذه التذكرة؟',
75
+ deleteTicketModalCancel: 'يلغي',
76
+ deleteTicketModalConfirm: 'حذف',
77
+ orderSummaryTitle: 'ملخص الطلب',
78
+ orderSummaryTickets: 'تذكرة',
79
+ orderSummaryTotal: 'المجموع',
80
+ orderSummarySubmit: 'يُقدِّم',
81
+ lastDrawResultsTitle: 'Cele mai recente extrageri',
82
+ modalLogin: 'الرجاء تسجيل الدخول لتقديم تذكرة'
59
83
  },
60
84
  };
61
85
  const translate = (key, customLang) => {
@@ -63,7 +87,7 @@ const translate = (key, customLang) => {
63
87
  return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
64
88
  };
65
89
 
66
- const lotteryGamePageCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.GamePage .GridBanner{background-color:#009993;background-repeat:no-repeat;background-position:center;color:#111;padding:0 20px 10px;height:220px;display:flex;flex-direction:column;justify-content:space-between}.GamePage .GridBanner .BannerButtonsWrapper{display:flex;justify-content:space-between;padding-top:16px}.GamePage .GridBanner .BannerButtonsWrapper .BannerBackButton,.GamePage .GridBanner .BannerButtonsWrapper .BannerLobbyButton{background:#fff;border:1px solid #D4D4D4;border-radius:4px;padding:7px 15px;font-size:12px;text-transform:uppercase;width:80px}.GamePage .GridBanner .GridBannerArea{padding-top:30px;display:flex;flex-direction:column;align-items:center}.GamePage .TotalWinnings{color:#00958f;font-size:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.GamePage .TotalWinnings span{font-size:22px;font-weight:700}.GamePage .NextDraw{color:#00958f;font-size:24px;font-weight:600;margin:0 auto;text-align:center;text-transform:capitalize;display:flex;justify-content:center;align-items:center;flex-direction:column}.GamePage .NextDraw .BannerText{font-weight:400;font-size:18px}.GamePage .NextDraw .BannerCountdown{font-size:22px;color:#00958f;display:flex;gap:20px}.GamePage .Tabs{display:flex;justify-content:center;gap:10px}.GamePage .Tabs .TabButton{border-radius:4px;cursor:pointer;padding:8px 0;width:50%;max-width:200px;border:1px solid #00958f;background:#F1F1F1;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.GamePage .Tabs .TabButton.Active{background:#00958f;color:#FFF}.NextDrawWrapper{padding:10px 15px;background:#fff}.NextDrawWrapper .BannerText{font-size:16px;font-weight:700;text-align:center}.NextDrawWrapper .BannerCountdown{font-size:22px;display:flex;gap:8px;color:#009993;font-weight:bolder;justify-content:center}.GamePageContent{padding:10px 15px;max-width:1200px;margin:0 auto}.GameDetails{padding-bottom:10px;margin-bottom:20px;border-bottom:1px solid #e9e9e9}.CreateNewTicket{background:#004D4A;height:100px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.CreateNewTicket button{cursor:pointer;display:inline-block;border-radius:50%;width:40px;height:40px;margin:5px;border:1px solid #FFF;background:#FFF;color:#004D4A;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.CreateNewTicket button:hover{background:#F1F1F1}.CreateNewTicket span{display:inline-block;font-size:12px;text-align:center;margin:0 auto;color:#FFF}.OrderSummary{min-width:200px;border-radius:4px;display:flex;flex-direction:column;justify-content:center;margin-top:20px;background:#fff}.OrderSummary .OrderSummaryTitle{font-size:16px;color:#009993;text-transform:uppercase;text-align:center}.OrderSummary .Ticket{display:inline-block;color:#000;font-size:14px;height:50px;border-bottom:solid 1px #D4D4D4;line-height:50px}.OrderSummary .Ticket span{text-align:right}.OrderSummary .Total{display:inline-block;color:#000;font-size:14px;height:50px;line-height:50px}.OrderSummary .Total span{text-align:right}.ButtonWrapper{display:flex;align-items:center;justify-content:center}.ButtonWrapper .Button{cursor:pointer;border-radius:4px;padding:8px 60px;width:max-content;margin:5px;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0;background:#009993;border:1px solid #009993;color:#FFF}.ButtonWrapper .Button:hover{background:#00ABA4}.SubmitModalSuccess{text-align:center;font-size:18px;padding:20px}.DeleteTicketModalWrapper{padding:20px;text-align:center}.DeleteTicketModalWrapper .DeleteTicketModalTitle{font-size:16px;color:#00958f;font-weight:400;text-transform:uppercase;margin:20px 0 40px}.DeleteTicketModalWrapper .DeleteTicketModalText{font-size:14px;color:#000;line-height:22px;margin-bottom:40px}.DeleteTicketModalWrapper .DeleteTicketModalButtons{display:flex;gap:10px;justify-content:center}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalConfirm{cursor:pointer;border-radius:4px;padding:8px 25px;width:max-content;margin:5px;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0;background:#FF3D00;border:1px solid #FF3D00;color:#FFF}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalConfirm:hover{background:#FF6536;border:1px solid #FF3D00}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalCancel{cursor:pointer;width:max-content;border-radius:4px;padding:10px 25px;margin:5px;border:1px solid #00958f;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalCancel:hover{background:#F1F1F1}@media (min-width: 1200px){.GamePageContent .TicketsWrapper{float:left;width:49%}.GamePageContent .GameDetails{float:right;width:49%}.GamePageContent .OrderSummary{float:right;width:49%}}";
90
+ const lotteryGamePageCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.GamePage .GridBanner{background-color:#009993;background-repeat:no-repeat;background-position:center;color:#111;padding:0 20px 10px;height:220px;display:flex;flex-direction:column;justify-content:space-between}.GamePage .GridBanner .BannerButtonsWrapper{display:flex;justify-content:space-between;padding-top:16px}.GamePage .GridBanner .BannerButtonsWrapper .BannerBackButton,.GamePage .GridBanner .BannerButtonsWrapper .BannerLobbyButton{background:#fff;border:1px solid #D4D4D4;border-radius:4px;padding:7px 15px;font-size:12px;text-transform:uppercase;width:80px}.GamePage .GridBanner .GridBannerArea{padding-top:30px;display:flex;flex-direction:column;align-items:center}.GamePage .TotalWinnings{color:#000;font-size:18px;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;text-transform:uppercase}.GamePage .TotalWinnings span{font-size:18px;font-weight:700}.GamePage .NextDraw{color:#00958f;font-size:24px;font-weight:600;margin:0 auto;text-align:center;text-transform:uppercase;display:flex;justify-content:center;align-items:center;flex-direction:column}.GamePage .NextDraw .BannerText{font-weight:400;font-size:18px;text-transform:uppercase;padding:0;margin:15px 0 0 0}.GamePage .NextDraw .BannerCountdown{font-size:22px;color:#00958f;display:flex;gap:20px}.GamePage .Tabs{display:flex;justify-content:center;gap:10px}.GamePage .Tabs .TabButton{border-radius:4px;cursor:pointer;padding:8px 0;width:50%;max-width:200px;border:1px solid #00958f;background:#F1F1F1;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.GamePage .Tabs .TabButton.Active{background:#00958f;color:#FFF}.LastDrawResultsTitle{color:#009993;padding:25px 0 10px 0;text-align:center;border-radius:4px;text-transform:uppercase;font-size:16px;font-weight:600;margin:0}.NextDrawWrapper{padding:10px 15px;background:#F1F1F1;background:linear-gradient(0deg, #f1f1f1 0%, rgba(253, 187, 45, 0) 100%)}.NextDrawWrapper .BannerText{font-size:16px;font-weight:700;text-align:center}.NextDrawWrapper .BannerCountdown{font-size:22px;display:flex;gap:8px;color:#009993;font-weight:bolder;justify-content:center}.GamePageContent{padding:15px;max-width:1200px;margin:0 auto}.GameDetails{padding-bottom:10px;margin-bottom:20px}.CreateNewTicket{background:#004D4A;height:100px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.CreateNewTicket button{cursor:pointer;display:inline-block;border-radius:50%;width:40px;height:40px;margin:5px;border:1px solid #FFF;background:#FFF;color:#004D4A;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.CreateNewTicket button:hover{background:#F1F1F1}.CreateNewTicket span{display:inline-block;font-size:12px;text-align:center;margin:0 auto;color:#FFF}.OrderSummary{min-width:200px;border-radius:4px;display:flex;flex-direction:column;justify-content:center;margin-top:20px;background:#fff}.OrderSummary .OrderSummaryTitle{font-size:16px;color:#009993;text-transform:uppercase;text-align:center}.OrderSummary .Ticket{display:inline-block;color:#000;font-size:14px;height:50px;border-bottom:solid 1px #D4D4D4;line-height:50px}.OrderSummary .Ticket span{text-align:right}.OrderSummary .Total{display:inline-block;color:#000;font-size:14px;height:50px;line-height:50px}.OrderSummary .Total span{text-align:right}.ButtonWrapper{display:flex;align-items:center;justify-content:center}.ButtonWrapper .Button{cursor:pointer;border-radius:4px;padding:8px 60px;width:max-content;margin:5px;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0;background:#009993;border:1px solid #009993;color:#FFF}.ButtonWrapper .Button:hover{background:#00ABA4}.ButtonWrapper .Button.ButtonDisabled{pointer-events:none;background:#ccc;border:1px solid #ccc}.SubmitModalSuccess{text-align:center;font-size:18px;padding:20px}.DeleteTicketModalWrapper{padding:20px;text-align:center}.DeleteTicketModalWrapper .DeleteTicketModalTitle{font-size:16px;color:#00958f;font-weight:400;text-transform:uppercase;margin:20px 0 40px}.DeleteTicketModalWrapper .DeleteTicketModalText{font-size:14px;color:#000;line-height:22px;margin-bottom:40px}.DeleteTicketModalWrapper .DeleteTicketModalButtons{display:flex;gap:10px;justify-content:center}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalConfirm{cursor:pointer;border-radius:4px;padding:8px 25px;width:max-content;margin:5px;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0;background:#FF3D00;border:1px solid #FF3D00;color:#FFF}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalConfirm:hover{background:#FF6536;border:1px solid #FF3D00}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalCancel{cursor:pointer;width:max-content;border-radius:4px;padding:10px 25px;margin:5px;border:1px solid #00958f;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalCancel:hover{background:#F1F1F1}@media (min-width: 1200px){.GamePageContent .TicketsWrapper{float:left;width:49%}.GamePageContent .GameDetails{float:right;width:49%}.GamePageContent .OrderSummary{float:right;width:49%}}";
67
91
 
68
92
  const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
69
93
  constructor() {
@@ -90,6 +114,8 @@ const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
90
114
  this.deleteVisible = false;
91
115
  this.latestDraw = {};
92
116
  this.totalWinningsAmount = 0;
117
+ this.isLoggedIn = false;
118
+ this.loginModalVisible = false;
93
119
  this.multiplier = false;
94
120
  this.quickPick = false;
95
121
  }
@@ -97,6 +123,9 @@ const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
97
123
  connectedCallback() {
98
124
  this.getGameDetails();
99
125
  this.getDraws();
126
+ if (this.sessionId) {
127
+ this.isLoggedIn = true;
128
+ }
100
129
  }
101
130
  countdownLogic(date) {
102
131
  this.interval = setInterval(() => {
@@ -123,7 +152,6 @@ const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
123
152
  this.gameData = data;
124
153
  this.basicStake = this.gameData.rules.stakes[0].amount;
125
154
  let draws = this.gameData.draws.filter((item) => !item.winningNumbers);
126
- console.log('draws', draws);
127
155
  this.nextDraw = draws[0].id;
128
156
  this.createNewTicket();
129
157
  })
@@ -186,6 +214,7 @@ const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
186
214
  }
187
215
  modalCloseEvent() {
188
216
  this.deleteVisible = false;
217
+ this.loginModalVisible = false;
189
218
  }
190
219
  stakeChangeHandler(event) {
191
220
  const { ticketId, stake } = event.detail;
@@ -247,6 +276,9 @@ const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
247
276
  { gameId: this.gameId, ticketId: this.tickets.length + 1, completed: false, amount: 1, stake: this.basicStake, grids: [] }
248
277
  ];
249
278
  }
279
+ showLoginModal() {
280
+ this.loginModalVisible = true;
281
+ }
250
282
  submitTickets() {
251
283
  let url = new URL(`${this.endpoint}/tickets`);
252
284
  // @TODO Body TS type
@@ -254,7 +286,6 @@ const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
254
286
  gameId: this.gameId,
255
287
  tickets: []
256
288
  };
257
- console.log('body', body);
258
289
  this.tickets.forEach((item) => {
259
290
  body.tickets.push({
260
291
  startingDrawId: this.nextDraw,
@@ -297,9 +328,11 @@ const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
297
328
  }
298
329
  return (
299
330
  /* Game details */
300
- h("div", { class: "GamePage" }, h("div", { class: "GridBanner" }, h("div", { class: "BannerButtonsWrapper" }, h("button", { class: "BannerBackButton" }, h("span", { class: "BannerBackButtonArrow" }, "\u1438 "), translate('backButton', this.language)), h("button", { class: "BannerLobbyButton" }, translate('lobbyButton', this.language))), h("div", { class: "Tabs" }, h("div", { class: 'TabButton' + (this.tabIndex == 0 ? ' Active' : ''), onClick: () => this.tabIndex = 0 }, translate('buy', this.language)), h("div", { class: 'TabButton' + (this.tabIndex == 1 ? ' Active' : ''), onClick: () => this.tabIndex = 1 }, translate('viewLatest', this.language)))), h("div", { class: "NextDrawWrapper" }, h("div", { class: "TotalWinnings" }, translate('winUpTo', this.language), ": ", h("span", null, "$", this.totalWinningsAmount.toLocaleString('en-US', { maximumFractionDigits: 2 }))), h("div", { class: "NextDraw" }, h("p", { class: "BannerText" }, translate('nextDraw', this.language)), h("div", { class: "BannerCountdown" }, h("span", { class: "CountdownDays" }, this.daysRemaining, "D"), h("span", { class: "CountdownHours" }, this.hoursRemaining, "H"), h("span", { class: "CountdownMinutes" }, this.minutesRemaining, "M"), h("span", { class: "CountdownSeconds" }, this.secondsRemaining, "S")))), this.tabIndex == 0 &&
301
- h("div", { class: "GamePageContent" }, h("div", { class: "GameDetails" }, h("lottery-game-details", null)), h("div", { class: "TicketsWrapper" }, this.tickets.map((item) => h("lottery-ticket-controller", { endpoint: this.endpoint, "ticket-id": item.ticketId, "game-id": item.gameId, collapsed: false, last: true, language: this.language, "auto-pick": this.autoPick, "reset-button": this.resetButton })), h("div", { class: "CreateNewTicket" }, h("button", { onClick: () => this.createNewTicket() }, "+"), h("span", null, translate('createTicket', this.language)))), h("div", { class: "OrderSummary" }, h("h3", { class: "OrderSummaryTitle" }, translate('orderSummaryTitle', this.language)), h("div", { class: "Ticket" }, translate('orderSummaryTickets', this.language), ": ", h("span", null, this.tickets.length)), h("div", { class: "Total" }, translate('orderSummaryTotal', this.language), ": ", h("span", null, this.totalAmount, " ", this.currency)), h("div", { class: "ButtonWrapper" }, h("span", { class: "Button", onClick: () => this.submitTickets() }, translate('orderSummarySubmit', this.language))))), this.tabIndex == 1 &&
302
- h("div", null, h("lottery-draw-results", { endpoint: this.endpoint, "game-id": this.gameId, language: this.language, "draw-id": this.lastDrawId, "draw-mode": true }), h("lottery-draw-results-history", { endpoint: this.endpoint, "game-id": this.gameId, language: this.language })), h("helper-modal", { "title-modal": "Success", visible: this.successVisible }, h("p", { class: "SubmitModalSuccess" }, translate('modalSuccess', this.language))), h("helper-modal", { "title-modal": "Delete Ticket", visible: this.deleteVisible }, h("div", { class: "DeleteTicketModalWrapper" }, h("h3", { class: "DeleteTicketModalTitle" }, translate('deleteTicketModalTitle', this.language)), h("p", { class: "DeleteTicketModalText" }, translate('deleteTicketModalText', this.language)), h("div", { class: "DeleteTicketModalButtons" }, h("button", { class: "DeleteTicketModalCancel", onClick: () => this.modalCloseEvent() }, translate('deleteTicketModalCancel', this.language)), h("button", { class: "DeleteTicketModalConfirm", onClick: () => this.confirmDeleteTicketHandler(this.deleteEventData) }, translate('deleteTicketModalConfirm', this.language)))))));
331
+ h("div", { class: "GamePage", dir: this.language == 'ar' ? 'rtl' : 'ltr' }, h("div", { class: "GridBanner" }, h("div", { class: "BannerButtonsWrapper" }, h("button", { class: "BannerBackButton" }, h("span", { class: "BannerBackButtonArrow" }, "\u1438 "), translate('backButton', this.language)), h("button", { class: "BannerLobbyButton" }, translate('lobbyButton', this.language))), h("div", { class: "Tabs" }, h("div", { class: 'TabButton' + (this.tabIndex == 0 ? ' Active' : ''), onClick: () => this.tabIndex = 0 }, translate('buy', this.language)), h("div", { class: 'TabButton' + (this.tabIndex == 1 ? ' Active' : ''), onClick: () => this.tabIndex = 1 }, translate('viewLatest', this.language)))), h("div", { class: "NextDrawWrapper" }, h("div", { class: "TotalWinnings" }, translate('winUpTo', this.language), ": ", h("span", null, "$", this.totalWinningsAmount.toLocaleString('en-US', { maximumFractionDigits: 2 }))), h("div", { class: "NextDraw" }, h("p", { class: "BannerText" }, translate('nextDraw', this.language)), h("div", { class: "BannerCountdown" }, h("span", { class: "CountdownDays" }, this.daysRemaining, "D"), h("span", { class: "CountdownHours" }, this.hoursRemaining, "H"), h("span", { class: "CountdownMinutes" }, this.minutesRemaining, "M"), h("span", { class: "CountdownSeconds" }, this.secondsRemaining, "S")))), this.tabIndex == 0 &&
332
+ h("div", { class: "GamePageContent" }, h("div", { class: "GameDetails" }, h("lottery-game-details", null)), h("div", { class: "TicketsWrapper" }, this.tickets.map((item) => h("lottery-ticket-controller", { endpoint: this.endpoint, "ticket-id": item.ticketId, "game-id": item.gameId, collapsed: false, last: true, language: this.language, "auto-pick": this.autoPick, "reset-button": this.resetButton })), h("div", { class: "CreateNewTicket" }, h("button", { onClick: () => this.createNewTicket() }, "+"), h("span", null, translate('createTicket', this.language)))), h("div", { class: "OrderSummary" }, h("h3", { class: "OrderSummaryTitle" }, translate('orderSummaryTitle', this.language)), h("div", { class: "Ticket" }, translate('orderSummaryTickets', this.language), ": ", h("span", null, this.tickets.length)), h("div", { class: "Total" }, translate('orderSummaryTotal', this.language), ": ", h("span", null, this.totalAmount, " ", this.currency)), h("div", { class: "ButtonWrapper" }, this.isLoggedIn &&
333
+ h("span", { class: "Button", onClick: () => this.submitTickets() }, translate('orderSummarySubmit', this.language)), !this.isLoggedIn &&
334
+ h("div", null, h("span", { class: "Button", onClick: () => this.showLoginModal() }, translate('orderSummarySubmit', this.language)), h("helper-modal", { "title-modal": "Success", visible: this.loginModalVisible }, h("p", { class: "SubmitModalSuccess" }, translate('modalLogin', this.language))))))), this.tabIndex == 1 &&
335
+ h("div", null, h("h4", { class: "LastDrawResultsTitle" }, translate('lastDrawResultsTitle', this.language)), h("lottery-draw-results", { endpoint: this.endpoint, "game-id": this.gameId, language: this.language, "draw-id": this.lastDrawId, "draw-mode": true }), h("lottery-draw-results-history", { endpoint: this.endpoint, "game-id": this.gameId, language: this.language })), h("helper-modal", { "title-modal": "Success", visible: this.successVisible }, h("p", { class: "SubmitModalSuccess" }, translate('modalSuccess', this.language))), h("helper-modal", { "title-modal": "Delete Ticket", visible: this.deleteVisible }, h("div", { class: "DeleteTicketModalWrapper" }, h("h3", { class: "DeleteTicketModalTitle" }, translate('deleteTicketModalTitle', this.language)), h("p", { class: "DeleteTicketModalText" }, translate('deleteTicketModalText', this.language)), h("div", { class: "DeleteTicketModalButtons" }, h("button", { class: "DeleteTicketModalCancel", onClick: () => this.modalCloseEvent() }, translate('deleteTicketModalCancel', this.language)), h("button", { class: "DeleteTicketModalConfirm", onClick: () => this.confirmDeleteTicketHandler(this.deleteEventData) }, translate('deleteTicketModalConfirm', this.language)))))));
303
336
  }
304
337
  static get assetsDirs() { return ["static"]; }
305
338
  get element() { return this; }
@@ -325,13 +358,15 @@ const LotteryGamePage$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
325
358
  "secondsRemaining": [32],
326
359
  "latestDraw": [32],
327
360
  "totalWinningsAmount": [32],
328
- "nextDate": [32]
361
+ "nextDate": [32],
362
+ "isLoggedIn": [32],
363
+ "loginModalVisible": [32]
329
364
  }, [[0, "ticketCompleted", "gridFilledHandler"], [0, "gridDirty", "gridDirtyHandler"], [0, "deleteTicket", "deleteTicketHandler"], [0, "modalCloseEvent", "modalCloseEvent"], [0, "stakeChange", "stakeChangeHandler"], [0, "multiplierChange", "multiplierChangeHandler"]]]);
330
365
  function defineCustomElement$1() {
331
366
  if (typeof customElements === "undefined") {
332
367
  return;
333
368
  }
334
- const components = ["lottery-game-page", "helper-accordion", "helper-filters", "helper-modal", "helper-tab", "helper-tabs", "lottery-bullet", "lottery-draw-results", "lottery-draw-results-history", "lottery-game-details", "lottery-grid", "lottery-ticket", "lottery-ticket-controller"];
369
+ const components = ["lottery-game-page", "helper-accordion", "helper-filters", "helper-modal", "helper-tab", "helper-tabs", "lottery-draw-results", "lottery-draw-results-history", "lottery-game-details"];
335
370
  components.forEach(tagName => { switch (tagName) {
336
371
  case "lottery-game-page":
337
372
  if (!customElements.get(tagName)) {
@@ -339,61 +374,41 @@ function defineCustomElement$1() {
339
374
  }
340
375
  break;
341
376
  case "helper-accordion":
342
- if (!customElements.get(tagName)) {
343
- defineCustomElement$d();
344
- }
345
- break;
346
- case "helper-filters":
347
- if (!customElements.get(tagName)) {
348
- defineCustomElement$c();
349
- }
350
- break;
351
- case "helper-modal":
352
- if (!customElements.get(tagName)) {
353
- defineCustomElement$b();
354
- }
355
- break;
356
- case "helper-tab":
357
- if (!customElements.get(tagName)) {
358
- defineCustomElement$a();
359
- }
360
- break;
361
- case "helper-tabs":
362
377
  if (!customElements.get(tagName)) {
363
378
  defineCustomElement$9();
364
379
  }
365
380
  break;
366
- case "lottery-bullet":
381
+ case "helper-filters":
367
382
  if (!customElements.get(tagName)) {
368
383
  defineCustomElement$8();
369
384
  }
370
385
  break;
371
- case "lottery-draw-results":
386
+ case "helper-modal":
372
387
  if (!customElements.get(tagName)) {
373
388
  defineCustomElement$7();
374
389
  }
375
390
  break;
376
- case "lottery-draw-results-history":
391
+ case "helper-tab":
377
392
  if (!customElements.get(tagName)) {
378
393
  defineCustomElement$6();
379
394
  }
380
395
  break;
381
- case "lottery-game-details":
396
+ case "helper-tabs":
382
397
  if (!customElements.get(tagName)) {
383
398
  defineCustomElement$5();
384
399
  }
385
400
  break;
386
- case "lottery-grid":
401
+ case "lottery-draw-results":
387
402
  if (!customElements.get(tagName)) {
388
403
  defineCustomElement$4();
389
404
  }
390
405
  break;
391
- case "lottery-ticket":
406
+ case "lottery-draw-results-history":
392
407
  if (!customElements.get(tagName)) {
393
408
  defineCustomElement$3();
394
409
  }
395
410
  break;
396
- case "lottery-ticket-controller":
411
+ case "lottery-game-details":
397
412
  if (!customElements.get(tagName)) {
398
413
  defineCustomElement$2();
399
414
  }
@@ -406,3 +421,5 @@ const LotteryGamePage = LotteryGamePage$1;
406
421
  const defineCustomElement = defineCustomElement$1;
407
422
 
408
423
  export { LotteryGamePage, defineCustomElement };
424
+
425
+ //# sourceMappingURL=lottery-game-page.js.map
@@ -0,0 +1 @@
1
+ {"file":"lottery-game-page.js","mappings":"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","names":["LotteryGamePage"],"sources":["../../../packages/lottery-game-page/src/utils/locale.utils.ts","../../../packages/lottery-game-page/src/components/lottery-game-page/lottery-game-page.scss?tag=lottery-game-page&encapsulation=shadow","../../../packages/lottery-game-page/src/components/lottery-game-page/lottery-game-page.tsx"],"sourcesContent":["interface Translation {\n [key: string]: string;\n}\n\ninterface Translations {\n en: Translation,\n ro: Translation,\n ar: Translation\n}\n\nconst DEFAULT_LANGUAGE: 'en' = 'en'\nconst SUPPORTED_LANGUAGES: string[] = ['ro', 'en', 'ar'];\nconst TRANSLATIONS: Translations = {\n en: {\n error: 'Error',\n title: 'Chrono',\n backButton: 'Back',\n lobbyButton: 'Lobby',\n prize: 'Prize',\n winUpTo: 'Win up to',\n nextDraw: 'Next draw in: ',\n buy: 'Buy tickets',\n viewLatest: 'View latest results',\n createTicket: 'Create Ticket',\n modalSuccess: 'Purchase successfully completed!',\n deleteTicketModalTitle: 'Delete Ticket',\n deleteTicketModalText: 'Are you sure you want to delete this ticket?',\n deleteTicketModalCancel: 'Cancel',\n deleteTicketModalConfirm: 'Delete',\n orderSummaryTitle: 'Order Summary',\n orderSummaryTickets: 'Ticket',\n orderSummaryTotal: 'Total',\n orderSummarySubmit: 'Submit',\n lastDrawResultsTitle: 'Last Draw Results',\n modalLogin: 'Please login to submit a ticket',\n },\n ro: {\n error: 'Eroare',\n title: 'Loto 6/49',\n backButton: 'Inapoi',\n lobbyButton: 'Lobby',\n prize: 'MARELE JACKPOT OMG',\n winUpTo: 'Castiga pana la',\n nextDraw: 'Urmatoarea extragere:',\n buy: 'Cumpara bilet',\n viewLatest: 'Ultimile extrageri',\n createTicket: 'Creeaza bilet',\n modalSuccess: 'Achizitie efectuata cu succes',\n deleteTicketModalTitle: 'Sterge biletul',\n deleteTicketModalText: 'Esti sigur ca vrei sa stergi acest bilet?',\n deleteTicketModalCancel: 'Anuleaza',\n deleteTicketModalConfirm: 'Sterge',\n orderSummaryTitle: 'Rezumat comanda',\n orderSummaryTickets: 'Bilet',\n orderSummaryTotal: 'Total',\n orderSummarySubmit: 'Trimite',\n lastDrawResultsTitle: 'Cele mai recente extrageri',\n modalLogin: 'Please login to submit a ticket',\n },\n ar: {\n error: 'خطأ',\n title: 'كرونو',\n backButton: 'خلف',\n lobbyButton: 'ردهة',\n prize: 'جائزة',\n winUpTo: 'الفوز بما يصل الى',\n nextDraw: 'السحب التالي:',\n buy: 'اشتري تذاكر',\n viewLatest: 'عرض أحدث النتائج',\n createTicket: 'إنشاء تذكرة',\n modalSuccess: '!سيتم الشراء بنجاح قريبًا',\n deleteTicketModalTitle: 'حذف التذكرة',\n deleteTicketModalText: 'هل أنت متأكد أنك تريد حذف هذه التذكرة؟',\n deleteTicketModalCancel: 'يلغي',\n deleteTicketModalConfirm: 'حذف',\n orderSummaryTitle: 'ملخص الطلب',\n orderSummaryTickets: 'تذكرة',\n orderSummaryTotal: 'المجموع',\n orderSummarySubmit: 'يُقدِّم',\n lastDrawResultsTitle: 'Cele mai recente extrageri',\n modalLogin: 'الرجاء تسجيل الدخول لتقديم تذكرة'\n },\n};\n\nexport const translate = (key: string, customLang?): string => {\n const lang: string | undefined = customLang;\n return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];\n};\n","@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap');\n\n:host {\n display: block;\n font-family: 'Roboto', sans-serif;\n}\n.GamePage {\n\n .GridBanner {\n background-color: #009993;\n background-repeat: no-repeat;\n background-position: center;\n color: #111;\n padding: 0 20px 10px;\n height: 220px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n .BannerButtonsWrapper {\n display: flex;\n justify-content: space-between;\n padding-top: 16px;\n .BannerBackButton, .BannerLobbyButton {\n background: #fff;\n border: 1px solid #D4D4D4;\n border-radius: 4px;\n padding: 7px 15px;\n font-size: 12px;\n text-transform: uppercase;\n width: 80px;\n }\n }\n .GridBannerArea {\n padding-top: 30px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n }\n\n .TotalWinnings {\n color: #000;\n font-size: 18px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: 10px;\n text-transform: uppercase;\n span {\n font-size: 18px;\n font-weight: 700;\n }\n }\n .NextDraw {\n color: #00958f;\n font-size: 24px;\n font-weight: 600;\n margin: 0 auto;\n text-align: center;\n text-transform: uppercase;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n\n .BannerText {\n font-weight: 400;\n font-size: 18px;\n text-transform: uppercase;\n padding: 0;\n margin: 15px 0 0 0;\n }\n\n .BannerCountdown {\n font-size: 22px;\n color: #00958f;\n display: flex;\n gap: 20px;\n }\n }\n\n .Tabs {\n display: flex;\n justify-content: center;\n gap: 10px;\n\n .TabButton {\n border-radius: 4px;\n cursor: pointer;\n padding: 8px 0;\n width: 50%;\n max-width: 200px;\n border: 1px solid #00958f;\n background: #F1F1F1;\n color: #000;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n\n &.Active {\n background: #00958f;\n color: #FFF;\n }\n }\n }\n}\n\n.LastDrawResultsTitle {\n color: #009993;\n padding: 25px 0 10px 0;\n text-align: center;\n border-radius: 4px;\n text-transform: uppercase;\n font-size: 16px;\n font-weight: 600;\n margin: 0;\n}\n\n.NextDrawWrapper {\n padding: 10px 15px;\n background: #F1F1F1;\n background: linear-gradient(0deg, rgba(241,241,241,1) 0%, rgba(253,187,45,0) 100%);\n .BannerText {\n font-size: 16px;\n font-weight: 700;\n text-align: center;\n }\n\n .BannerCountdown {\n font-size: 22px;\n display: flex;\n gap: 8px;\n color: #009993;\n font-weight: bolder;\n justify-content: center;\n }\n}\n\n.GamePageContent {\n padding: 15px;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.GameDetails {\n padding-bottom: 10px;\n margin-bottom: 20px;\n}\n\n.CreateNewTicket {\n background: #004D4A;\n height: 100px;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n button {\n cursor: pointer;\n display: inline-block;\n border-radius: 50%;\n width: 40px;\n height: 40px;\n margin: 5px;\n border: 1px solid #FFF;\n background: #FFF;\n color: #004D4A;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n\n &:hover {\n background: #F1F1F1;\n }\n }\n\n span {\n display: inline-block;\n font-size:12px;\n text-align: center;\n margin: 0 auto;\n color: #FFF;\n }\n}\n\n.OrderSummary {\n min-width: 200px;\n border-radius: 4px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n background: #fff;\n\n .OrderSummaryTitle {\n font-size: 16px;\n color: #009993;\n text-transform: uppercase;\n text-align: center;\n }\n\n .Ticket {\n display: inline-block;\n color: #000;\n font-size:14px;\n height: 50px;\n border-bottom: solid 1px #D4D4D4;\n line-height: 50px;\n\n span {\n text-align: right;\n }\n }\n\n .Total {\n display: inline-block;\n color: #000;\n font-size:14px;\n height: 50px;\n line-height: 50px;\n\n span {\n text-align: right;\n }\n }\n}\n\n.ButtonWrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n\n .Button {\n cursor: pointer;\n border-radius: 4px;\n padding: 8px 60px;\n width: max-content;\n margin: 5px;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n background: #009993;\n border: 1px solid #009993;\n color: #FFF;\n &:hover {\n background: #00ABA4;\n }\n &.ButtonDisabled {\n pointer-events: none;\n background: #ccc;\n border: 1px solid #ccc;\n }\n }\n}\n\n.SubmitModalSuccess {\n text-align: center;\n font-size: 18px;\n padding: 20px;\n}\n\n.DeleteTicketModalWrapper {\n padding: 20px;\n text-align: center;\n .DeleteTicketModalTitle {\n font-size: 16px;\n color: #00958f;\n font-weight: 400;\n text-transform: uppercase;\n margin: 20px 0 40px;\n }\n .DeleteTicketModalText {\n font-size: 14px;\n color: #000;\n line-height: 22px;\n margin-bottom: 40px;\n }\n .DeleteTicketModalButtons {\n display: flex;\n gap: 10px;\n justify-content: center;\n .DeleteTicketModalConfirm {\n cursor: pointer;\n border-radius: 4px;\n padding: 8px 25px;\n width: max-content;\n margin: 5px;\n color: #000;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n background: #FF3D00;\n border: 1px solid #FF3D00;\n color: #FFF;\n &:hover {\n background: #FF6536;\n border: 1px solid #FF3D00;\n }\n }\n .DeleteTicketModalCancel {\n cursor: pointer;\n width: max-content;\n border-radius: 4px;\n padding: 10px 25px;\n margin: 5px;\n border: 1px solid #00958f;\n background: #FFF;\n color: #000;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n\n &:hover {\n background: #F1F1F1;\n }\n }\n }\n}\n\n@media (min-width: 1200px) {\n .GamePageContent {\n .TicketsWrapper {\n float: left;\n width: 49%;\n }\n .GameDetails {\n float: right;\n width: 49%;\n }\n .OrderSummary {\n float: right;\n width: 49%;\n }\n }\n}\n","import { Component, h, Prop, State, Listen, Element, /*getAssetPath */} from '@stencil/core';\nimport { translate } from '../../utils/locale.utils';\n// import { isMobile } from \"../../utils/utils\";\n\nimport '@everymatrix/lottery-ticket-controller';\nimport '@everymatrix/helper-modal';\nimport '@everymatrix/lottery-game-details';\nimport '@everymatrix/lottery-draw-results-history';\nimport '@everymatrix/lottery-draw-results';\n\n@Component({\n tag: 'lottery-game-page',\n styleUrl: 'lottery-game-page.scss',\n shadow: true,\n assetsDirs: ['static']\n})\nexport class LotteryGamePage {\n /**\n * Endpoint URL for the source of data\n */\n @Prop() endpoint: string;\n /**\n * GameID of the lottery game\n */\n @Prop() gameId: string;\n /**\n * Player ID\n */\n @Prop() playerId: number;\n /**\n * GIC Session\n */\n @Prop() sessionId: string;\n /**\n * Language of the widget\n */\n @Prop() language: string = 'en';\n /**\n * Shows the auto-pick button\n */\n @Prop() autoPick: boolean = false;\n /**\n * Shows the reset button\n */\n @Prop() resetButton: boolean = false;\n\n @State() tickets: Array<any> = [];\n @State() tabIndex: number = 0;\n @State() hasErrors: boolean = false;\n @State() totalAmount: number = 0;\n @State() successVisible: boolean = false;\n @State() deleteVisible: boolean = false;\n @State() deleteEventData: any;\n\n @State() private daysRemaining: number;\n @State() private hoursRemaining: number;\n @State() private minutesRemaining: number;\n @State() private secondsRemaining: number;\n @State() private latestDraw:any = {};\n @State() private totalWinningsAmount:number = 0;\n @State() private nextDate:string;\n @State() private isLoggedIn:boolean = false;\n @State() private loginModalVisible:boolean = false;\n\n @Element() element: HTMLElement;\n\n // @TODO fix any type\n // private userAgent:string = window.navigator.userAgent;\n private basicStake: number;\n private multiplier: boolean = false;\n private quickPick: boolean = false;\n private nextDraw: string;\n private lastDrawId: string;\n\n private currency: string;\n private gameData:any;\n private interval:any;\n // @TODO fix `any` type later, I'm lazy now\n\n connectedCallback(): void {\n this.getGameDetails();\n this.getDraws();\n\n if (this.sessionId) {\n this.isLoggedIn = true;\n }\n }\n\n countdownLogic(date:any):void {\n this.interval = setInterval(() => {\n this.daysRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / (1000 * 60 * 60 * 24));\n this.hoursRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / (1000 * 60 * 60) - this.daysRemaining * 24);\n this.minutesRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / (1000 * 60) - this.daysRemaining * 24 * 60 - this.hoursRemaining * 60);\n this.secondsRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / 1000 - this.daysRemaining * 24 * 60 * 60 - this.hoursRemaining * 60 * 60 - this.minutesRemaining * 60);\n }, 1000);\n }\n\n disconnectedCallback(): void {\n clearInterval(this.interval);\n }\n\n getGameDetails(): void {\n let url:URL = new URL(`${this.endpoint}/games/${this.gameId}`);\n\n fetch(url.href)\n .then((res:any) => {\n if (res.status >= 300) {\n this.hasErrors = true;\n throw new Error('There was an error while fetching the data');\n }\n\n return res.json();\n })\n .then((data:any) => {\n this.gameData = data;\n this.basicStake = this.gameData.rules.stakes[0].amount;\n\n let draws = this.gameData.draws.filter((item) => !item.winningNumbers);\n\n this.nextDraw = draws[0].id;\n this.createNewTicket();\n })\n .catch((err:any) => {\n this.hasErrors = true;\n\n console.log('Error', err);\n });\n }\n\n calculateTotalAmount(): void {\n const { currency } = this.gameData.rules.stakes[0];\n\n this.totalAmount = 0;\n\n this.tickets.forEach((item:any) => {\n if (item.completed) {\n this.totalAmount += item.amount * item.stake;\n }\n });\n this.currency = currency;\n }\n\n // @TODO CustomEvent type\n @Listen('ticketCompleted')\n gridFilledHandler(event: CustomEvent<any>): void {\n // @TODO item ts\n this.tickets = this.tickets.map((item:any) => {\n if (item.ticketId == event.detail.id) {\n let arr = item.selectedNumbers || [];\n arr[event.detail.index] = event.detail.selectedNumbers.map((item:string) => parseInt(item, 10));\n\n return {\n gameId: item.gameId,\n ticketId: item.ticketId,\n completed: true,\n amount: event.detail.draws,\n stake: item.stake,\n selectedNumbers: arr\n };\n }\n\n return item;\n });\n\n this.calculateTotalAmount();\n }\n\n @Listen('gridDirty')\n // @TODO fix any type\n gridDirtyHandler(event: CustomEvent<any>) {\n // @TODO item ts\n this.tickets = this.tickets.map((item:any) => {\n if (item.gameId == event.detail.id) {\n return {\n gameId: item.gameId,\n ticketId: item.ticketId,\n completed: false,\n amount: item.amount,\n stake: item.stake,\n grids: []\n };\n }\n\n return item;\n });\n }\n\n // @TODO CustomEvent type\n @Listen('deleteTicket')\n deleteTicketHandler(event: CustomEvent<any>): void {\n this.deleteVisible = true;\n this.deleteEventData = event;\n }\n\n @Listen('modalCloseEvent')\n modalCloseEvent(): void {\n this.deleteVisible = false;\n this.loginModalVisible = false;\n }\n\n @Listen('stakeChange')\n stakeChangeHandler(event:any): void {\n const { ticketId, stake } = event.detail;\n this.tickets[ticketId - 1].stake = stake;\n this.calculateTotalAmount();\n }\n\n @Listen('multiplierChange')\n multiplierChangeHandler(event:CustomEvent<any>): void {\n this.multiplier = event.detail;\n }\n\n getDraws(): void {\n // append from query param with the current date value in order to get the next draw\n let url:URL = new URL(`${this.endpoint}/games/${this.gameId}/draws`);\n\n let drawOptions = {\n method: \"GET\",\n headers: {\n 'Content-Type': \"application/json\",\n 'Accept': 'application/json',\n },\n };\n\n fetch( url.href , drawOptions )\n .then((response:any) => {\n return response.json();\n })\n .then((data:any) => {\n let upcoming:Array<any> = data.items.filter((item:any) => {\n if(Date.parse(item.date) > new Date().getTime()) {\n return !item.winningNumbers;\n }\n });\n\n let past:Array<any> = data.items.filter((item:any) => item.winningNumbers);\n\n this.latestDraw = upcoming[0];\n this.nextDate = this.latestDraw.date;\n this.countdownLogic(this.nextDate);\n\n this.lastDrawId = past[past.length - 1].id;\n // calculate total winnings\n // @TODO fix any type\n this.latestDraw?.prizes.forEach((element:any) => {\n this.totalWinningsAmount += JSON.parse(element.amount);\n });\n });\n };\n\n // @TODO fix any type\n confirmDeleteTicketHandler(event:any): void {\n // @TODO fix any type\n this.tickets = this.tickets.filter((item:any) => {\n if (item.ticketId == event.detail.ticketId) {\n return false;\n }\n\n return true;\n });\n\n this.calculateTotalAmount();\n this.deleteVisible = false;\n }\n\n createNewTicket(): void {\n this.tickets = [\n ...this.tickets,\n { gameId: this.gameId, ticketId: this.tickets.length + 1, completed: false, amount: 1, stake: this.basicStake, grids: [] }\n ];\n }\n\n showLoginModal(): void {\n this.loginModalVisible = true;\n }\n\n submitTickets(): void {\n let url:URL = new URL(`${this.endpoint}/tickets`);\n\n // @TODO Body TS type\n let body:any = {\n gameId: this.gameId,\n tickets: []\n }\n\n this.tickets.forEach((item:any) => {\n body.tickets.push({\n startingDrawId: this.nextDraw,\n amount: item.stake,\n gameId: this.gameId,\n currency: this.currency,\n selection: item.selectedNumbers,\n multiplier: this.multiplier,\n drawCount: item.amount,\n quickPick: this.quickPick,\n })\n });\n \n // @TODO Options TS type\n let options = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Authorization': `Bearer ${this.sessionId}`\n },\n body: JSON.stringify(body)\n };\n\n fetch(url.href, options)\n .then((res:any) => {\n if (res.status > 300) {\n throw new Error('err');\n }\n\n return res.json();\n })\n .then((data:any) => {\n console.log('data', data)\n });\n\n this.successVisible = true;\n }\n\n render(): void {\n // const backgroundSrc = getAssetPath('./static/chrono_lottery_mobile.png');\n // const backgroundDesktopSrc = getAssetPath('./static/chrono_desktop.png');\n\n if (this.hasErrors) {\n return (\n <div class=\"GamePage\">\n <div class=\"Title\">{translate('error', this.language)}</div>\n </div>\n )\n }\n\n return (\n /* Game details */\n <div class=\"GamePage\" dir={this.language == 'ar' ? 'rtl' : 'ltr'}>\n <div class=\"GridBanner\"\n >\n <div class=\"BannerButtonsWrapper\">\n <button class=\"BannerBackButton\"><span class=\"BannerBackButtonArrow\">&#5176; </span>{translate('backButton', this.language)}</button>\n <button class=\"BannerLobbyButton\">{translate('lobbyButton', this.language)}</button>\n </div>\n <div class=\"Tabs\">\n <div class={'TabButton' + (this.tabIndex == 0 ? ' Active' : '')}\n onClick={() => this.tabIndex = 0}>{translate('buy', this.language)}</div>\n <div class={'TabButton' + (this.tabIndex == 1 ? ' Active' : '')}\n onClick={() => this.tabIndex = 1}>{translate('viewLatest', this.language)}</div>\n </div>\n </div>\n <div class=\"NextDrawWrapper\">\n <div class=\"TotalWinnings\">{translate('winUpTo', this.language)}: <span>${this.totalWinningsAmount.toLocaleString('en-US', {maximumFractionDigits:2})}</span></div>\n <div class=\"NextDraw\">\n <p class=\"BannerText\">{translate('nextDraw', this.language)}</p>\n <div class=\"BannerCountdown\">\n <span class=\"CountdownDays\">{this.daysRemaining}D</span>\n <span class=\"CountdownHours\">{this.hoursRemaining}H</span>\n <span class=\"CountdownMinutes\">{this.minutesRemaining}M</span>\n <span class=\"CountdownSeconds\">{this.secondsRemaining}S</span>\n </div>\n </div>\n </div>\n {this.tabIndex == 0 &&\n <div class=\"GamePageContent\">\n <div class=\"GameDetails\">\n <lottery-game-details></lottery-game-details>\n </div>\n <div class=\"TicketsWrapper\">\n {this.tickets.map((item) =>\n <lottery-ticket-controller\n endpoint={this.endpoint}\n ticket-id={item.ticketId}\n game-id={item.gameId}\n collapsed={false}\n last={true}\n language={this.language}\n auto-pick={this.autoPick}\n reset-button={this.resetButton}\n >\n </lottery-ticket-controller>\n )}\n <div class=\"CreateNewTicket\">\n <button onClick={() => this.createNewTicket()}>+</button>\n <span>{translate('createTicket', this.language)}</span>\n </div>\n </div>\n <div class=\"OrderSummary\">\n <h3 class=\"OrderSummaryTitle\">{translate('orderSummaryTitle', this.language)}</h3>\n <div class=\"Ticket\">{translate('orderSummaryTickets', this.language)}: <span>{this.tickets.length}</span></div>\n <div class=\"Total\">{translate('orderSummaryTotal', this.language)}: <span>{this.totalAmount} {this.currency}</span></div>\n <div class=\"ButtonWrapper\">\n {this.isLoggedIn && \n <span class=\"Button\" onClick={() => this.submitTickets()}>{translate('orderSummarySubmit', this.language)}</span>\n }\n {!this.isLoggedIn &&\n <div>\n <span class=\"Button\" onClick={() => this.showLoginModal()}>{translate('orderSummarySubmit', this.language)}</span>\n <helper-modal title-modal=\"Success\" visible={this.loginModalVisible}><p class=\"SubmitModalSuccess\">{translate('modalLogin', this.language)}</p></helper-modal>\n </div>\n }\n </div>\n </div>\n </div>\n }\n {this.tabIndex == 1 &&\n <div>\n <h4 class=\"LastDrawResultsTitle\">{translate('lastDrawResultsTitle', this.language)}</h4>\n <lottery-draw-results endpoint={this.endpoint} game-id={this.gameId} language={this.language} draw-id={this.lastDrawId} draw-mode={true}></lottery-draw-results>\n <lottery-draw-results-history endpoint={this.endpoint} game-id={this.gameId} language={this.language}></lottery-draw-results-history>\n </div>}\n <helper-modal title-modal=\"Success\" visible={this.successVisible}><p class=\"SubmitModalSuccess\">{translate('modalSuccess', this.language)}</p></helper-modal>\n <helper-modal title-modal=\"Delete Ticket\" visible={this.deleteVisible}>\n <div class=\"DeleteTicketModalWrapper\">\n <h3 class=\"DeleteTicketModalTitle\">{translate('deleteTicketModalTitle', this.language)}</h3>\n <p class=\"DeleteTicketModalText\">{translate('deleteTicketModalText', this.language)}</p>\n <div class=\"DeleteTicketModalButtons\">\n <button class=\"DeleteTicketModalCancel\" onClick={() => this.modalCloseEvent()}>{translate('deleteTicketModalCancel', this.language)}</button>\n <button class=\"DeleteTicketModalConfirm\" onClick={() => this.confirmDeleteTicketHandler(this.deleteEventData)}>{translate('deleteTicketModalConfirm', this.language)}</button>\n </div>\n </div>\n </helper-modal>\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,121 @@
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-11dea618.js';
2
+
3
+ const DEFAULT_LANGUAGE = 'en';
4
+ const SUPPORTED_LANGUAGES = ['ro', 'en'];
5
+ const TRANSLATIONS = {
6
+ en: {
7
+ deleteTicket: 'Delete ticket'
8
+ },
9
+ ro: {
10
+ deleteTicket: 'Sterge biletul'
11
+ },
12
+ };
13
+ const translate = (key, customLang) => {
14
+ const lang = customLang;
15
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
16
+ };
17
+
18
+ const helperAccordionCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.Header{border-radius:4px 4px 0 0;background:#009993;display:flex;gap:30px;border:1px solid #009993;padding:8px 10px;user-select:none}.Header:hover{background:#00ABA4}.Header .Title,.Header .Subtitle,.Header .Description{margin:0;font-size:14px;color:#fff}.Header .Expand{margin-left:auto;color:#FFF;width:17px;height:17px;cursor:pointer;text-align:center;transform:rotate(90deg);font-size:20px;user-select:none}.HeaderTicketHistory{border-radius:4px;background:#F1F1F1;display:flex;gap:30px;border:1px solid #009993;padding:8px 10px;user-select:none;margin-bottom:5px}.HeaderTicketHistory:hover{background:#00ABA4}.HeaderTicketHistory .Title,.HeaderTicketHistory .Subtitle,.HeaderTicketHistory .Description{margin:0;font-size:14px;color:#000}.HeaderTicketHistory .Expand{margin-left:auto;color:#FFF;width:17px;height:17px;cursor:pointer;text-align:center;transform:rotate(90deg);font-size:20px;user-select:none}.Content{border-radius:0 0 4px 4px;background:#fff;border:1px solid #009993;padding:10px 15px;user-select:none;color:#000;margin-bottom:10px}.ActionButton{cursor:pointer;display:inline-block;border-radius:4px;margin:20px 0 10px;text-transform:uppercase;font-size:12px;text-align:center;padding:8px 20px;min-width:80px;background:#FF3D00;border:1px solid #FF3D00;color:#FFF}.ActionButton:hover{background:#FF6536;border:1px solid #FF3D00}";
19
+
20
+ const Accordion = class {
21
+ constructor(hostRef) {
22
+ registerInstance(this, hostRef);
23
+ this.accordionEvent = createEvent(this, "helperAccordionAction", 7);
24
+ /**
25
+ * Flag for ticket history
26
+ */
27
+ this.ticketHistoryFlag = false;
28
+ /**
29
+ * Title (top header)
30
+ */
31
+ this.headerTitle = '';
32
+ /**
33
+ * SubTitle (top header)
34
+ */
35
+ this.headerSubtitle = '';
36
+ /**
37
+ * Description
38
+ */
39
+ this.description = '';
40
+ /**
41
+ * Enables footer content
42
+ */
43
+ this.footer = false;
44
+ /**
45
+ * Enables footer button for tab deletion
46
+ */
47
+ this.deleteTab = false;
48
+ /**
49
+ * Activates postMessages as events for actions from the widget
50
+ */
51
+ this.postMessage = false;
52
+ /**
53
+ * Name of the event emitter by the action button
54
+ */
55
+ this.eventName = 'helperAccordionAction';
56
+ /**
57
+ * Collapsed
58
+ */
59
+ this.collapsed = true;
60
+ /**
61
+ * Language
62
+ */
63
+ this.language = 'en';
64
+ }
65
+ // @TODO fix the `any` type :)
66
+ connectedCallback() {
67
+ this.showContent = !this.collapsed;
68
+ }
69
+ toggleContent() {
70
+ this.showContent = !this.showContent;
71
+ }
72
+ deleteAction() {
73
+ if (this.postMessage) {
74
+ // @TODO maybe change the name type, this one sucks
75
+ window.postMessage({ type: this.eventName }, window.location.href);
76
+ }
77
+ this.accordionEvent.emit();
78
+ }
79
+ render() {
80
+ return (h("div", { class: "Wrapper" }, h("div", { class: this.ticketHistoryFlag === true ? 'HeaderTicketHistory' : 'Header' }, h("p", { class: "Title" }, this.headerTitle), h("p", { class: "Subtitle" }, this.headerSubtitle), h("p", { class: "Subtitle" }, this.description), h("span", { class: "Expand", onClick: () => this.toggleContent() }, this.showContent ? '<' : '>')), this.showContent &&
81
+ h("div", null, h("div", { class: "Content" }, h("slot", { name: 'accordionContent' }), this.footer && this.showContent &&
82
+ h("div", null, this.deleteTab &&
83
+ h("span", { class: "ActionButton", onClick: () => this.deleteAction() }, translate('deleteTicket', this.language)))))));
84
+ }
85
+ };
86
+ Accordion.style = helperAccordionCss;
87
+
88
+ const helperTabsCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.Tabs{display:flex;gap:10px;overflow-x:auto}.TabButton{cursor:pointer;width:auto;border-radius:4px;padding:8px 15px;margin:5px 0 10px;border:1px solid #009993;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-align:center;letter-spacing:0;white-space:nowrap}.TabButton:hover{background:#F1F1F1}.TabButton.Active{background:#009993;color:#FFF}";
89
+
90
+ const HelperTabs = class {
91
+ constructor(hostRef) {
92
+ registerInstance(this, hostRef);
93
+ /**
94
+ * Tell me if it is disabled
95
+ */
96
+ this.disabled = false;
97
+ /**
98
+ * Tell me what tab is selected
99
+ */
100
+ this.selected = false;
101
+ /**
102
+ * Default selected index
103
+ */
104
+ this.selectedIndex = 0;
105
+ /**
106
+ * Tabs details
107
+ */
108
+ this.tabs = [{ label: 'How to Play' }, { label: 'About' }, { label: 'FAQs' }];
109
+ }
110
+ connectedCallback() {
111
+ }
112
+ render() {
113
+ return (h("div", null, h("div", { class: "Tabs" }, this.tabs.map((tab, index) => h("button", { class: 'TabButton' + (this.selectedIndex == index ? ' Active' : ''), onClick: () => this.selectedIndex = index }, tab.label))), h("div", null, h("helper-tab", { selectedIndex: this.selectedIndex }))));
114
+ }
115
+ get host() { return getElement(this); }
116
+ };
117
+ HelperTabs.style = helperTabsCss;
118
+
119
+ export { Accordion as helper_accordion, HelperTabs as helper_tabs };
120
+
121
+ //# sourceMappingURL=helper-accordion_2.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"helper-accordion.helper-tabs.entry.js","mappings":"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","names":[],"sources":["../helper-accordion/dist/collection/utils/locale.utils.js","../helper-accordion/dist/collection/components/helper-accordion/helper-accordion.css?tag=helper-accordion&encapsulation=shadow","../helper-accordion/dist/collection/components/helper-accordion/helper-accordion.js","../helper-tabs/dist/collection/components/helper-tabs/helper-tabs.css?tag=helper-tabs&encapsulation=shadow","../helper-tabs/dist/collection/components/helper-tabs/helper-tabs.js"],"sourcesContent":["const DEFAULT_LANGUAGE = 'en';\nconst SUPPORTED_LANGUAGES = ['ro', 'en'];\nconst TRANSLATIONS = {\n en: {\n deleteTicket: 'Delete ticket'\n },\n ro: {\n deleteTicket: 'Sterge biletul'\n },\n};\nexport const translate = (key, customLang) => {\n const lang = customLang;\n return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];\n};\n","@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");\n:host {\n display: block;\n font-family: \"Roboto\", sans-serif;\n}\n\n.Header {\n border-radius: 4px 4px 0 0;\n background: #009993;\n display: flex;\n gap: 30px;\n border: 1px solid #009993;\n padding: 8px 10px;\n user-select: none;\n}\n.Header:hover {\n background: #00ABA4;\n}\n.Header .Title,\n.Header .Subtitle,\n.Header .Description {\n margin: 0;\n font-size: 14px;\n color: #fff;\n}\n.Header .Expand {\n margin-left: auto;\n color: #FFF;\n width: 17px;\n height: 17px;\n cursor: pointer;\n text-align: center;\n transform: rotate(90deg);\n font-size: 20px;\n user-select: none;\n}\n\n.HeaderTicketHistory {\n border-radius: 4px;\n background: #F1F1F1;\n display: flex;\n gap: 30px;\n border: 1px solid #009993;\n padding: 8px 10px;\n user-select: none;\n margin-bottom: 5px;\n}\n.HeaderTicketHistory:hover {\n background: #00ABA4;\n}\n.HeaderTicketHistory .Title,\n.HeaderTicketHistory .Subtitle,\n.HeaderTicketHistory .Description {\n margin: 0;\n font-size: 14px;\n color: #000;\n}\n.HeaderTicketHistory .Expand {\n margin-left: auto;\n color: #FFF;\n width: 17px;\n height: 17px;\n cursor: pointer;\n text-align: center;\n transform: rotate(90deg);\n font-size: 20px;\n user-select: none;\n}\n\n.Content {\n border-radius: 0 0 4px 4px;\n background: #fff;\n border: 1px solid #009993;\n padding: 10px 15px;\n user-select: none;\n color: #000;\n margin-bottom: 10px;\n}\n\n.ActionButton {\n cursor: pointer;\n display: inline-block;\n border-radius: 4px;\n margin: 20px 0 10px;\n text-transform: uppercase;\n font-size: 12px;\n text-align: center;\n padding: 8px 20px;\n min-width: 80px;\n background: #FF3D00;\n border: 1px solid #FF3D00;\n color: #FFF;\n}\n.ActionButton:hover {\n background: #FF6536;\n border: 1px solid #FF3D00;\n}","import { Component, Prop, h, State, Event } from '@stencil/core';\nimport { translate } from '../../utils/locale.utils';\nexport class Accordion {\n constructor() {\n /**\n * Flag for ticket history\n */\n this.ticketHistoryFlag = false;\n /**\n * Title (top header)\n */\n this.headerTitle = '';\n /**\n * SubTitle (top header)\n */\n this.headerSubtitle = '';\n /**\n * Description\n */\n this.description = '';\n /**\n * Enables footer content\n */\n this.footer = false;\n /**\n * Enables footer button for tab deletion\n */\n this.deleteTab = false;\n /**\n * Activates postMessages as events for actions from the widget\n */\n this.postMessage = false;\n /**\n * Name of the event emitter by the action button\n */\n this.eventName = 'helperAccordionAction';\n /**\n * Collapsed\n */\n this.collapsed = true;\n /**\n * Language\n */\n this.language = 'en';\n }\n // @TODO fix the `any` type :)\n connectedCallback() {\n this.showContent = !this.collapsed;\n }\n toggleContent() {\n this.showContent = !this.showContent;\n }\n deleteAction() {\n if (this.postMessage) {\n // @TODO maybe change the name type, this one sucks\n window.postMessage({ type: this.eventName }, window.location.href);\n }\n this.accordionEvent.emit();\n }\n render() {\n return (h(\"div\", { class: \"Wrapper\" },\n h(\"div\", { class: this.ticketHistoryFlag === true ? 'HeaderTicketHistory' : 'Header' },\n h(\"p\", { class: \"Title\" }, this.headerTitle),\n h(\"p\", { class: \"Subtitle\" }, this.headerSubtitle),\n h(\"p\", { class: \"Subtitle\" }, this.description),\n h(\"span\", { class: \"Expand\", onClick: () => this.toggleContent() }, this.showContent ? '<' : '>')),\n this.showContent &&\n h(\"div\", null,\n h(\"div\", { class: \"Content\" },\n h(\"slot\", { name: 'accordionContent' }),\n this.footer && this.showContent &&\n h(\"div\", null, this.deleteTab &&\n h(\"span\", { class: \"ActionButton\", onClick: () => this.deleteAction() }, translate('deleteTicket', this.language)))))));\n }\n static get is() { return \"helper-accordion\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"helper-accordion.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"helper-accordion.css\"]\n }; }\n static get properties() { return {\n \"ticketHistoryFlag\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Flag for ticket history\"\n },\n \"attribute\": \"ticket-history-flag\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"headerTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Title (top header)\"\n },\n \"attribute\": \"header-title\",\n \"reflect\": false,\n \"defaultValue\": \"''\"\n },\n \"headerSubtitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"SubTitle (top header)\"\n },\n \"attribute\": \"header-subtitle\",\n \"reflect\": false,\n \"defaultValue\": \"''\"\n },\n \"description\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Description\"\n },\n \"attribute\": \"description\",\n \"reflect\": false,\n \"defaultValue\": \"''\"\n },\n \"footer\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Enables footer content\"\n },\n \"attribute\": \"footer\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"deleteTab\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Enables footer button for tab deletion\"\n },\n \"attribute\": \"delete-tab\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"postMessage\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Activates postMessages as events for actions from the widget\"\n },\n \"attribute\": \"post-message\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"eventName\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Name of the event emitter by the action button\"\n },\n \"attribute\": \"event-name\",\n \"reflect\": false,\n \"defaultValue\": \"'helperAccordionAction'\"\n },\n \"collapsed\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Collapsed\"\n },\n \"attribute\": \"collapsed\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"language\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Language\"\n },\n \"attribute\": \"language\",\n \"reflect\": false,\n \"defaultValue\": \"'en'\"\n }\n }; }\n static get states() { return {\n \"showContent\": {}\n }; }\n static get events() { return [{\n \"method\": \"accordionEvent\",\n \"name\": \"helperAccordionAction\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Action event\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }]; }\n}\n","@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");\n:host {\n display: block;\n font-family: \"Roboto\", sans-serif;\n}\n\n.Tabs {\n display: flex;\n gap: 10px;\n overflow-x: auto;\n}\n\n.TabButton {\n cursor: pointer;\n width: auto;\n border-radius: 4px;\n padding: 8px 15px;\n margin: 5px 0 10px;\n border: 1px solid #009993;\n background: #FFF;\n color: #000;\n font-size: 12px;\n transition: all 0.2s linear;\n text-align: center;\n letter-spacing: 0;\n white-space: nowrap;\n}\n.TabButton:hover {\n background: #F1F1F1;\n}\n.TabButton.Active {\n background: #009993;\n color: #FFF;\n}","import { Component, Prop, Element, h } from '@stencil/core';\nexport class HelperTabs {\n constructor() {\n /**\n * Tell me if it is disabled\n */\n this.disabled = false;\n /**\n * Tell me what tab is selected\n */\n this.selected = false;\n /**\n * Default selected index\n */\n this.selectedIndex = 0;\n /**\n * Tabs details\n */\n this.tabs = [{ label: 'How to Play' }, { label: 'About' }, { label: 'FAQs' }];\n }\n connectedCallback() {\n if (this.tabs.length == 0) {\n // fetch CMS data\n }\n }\n render() {\n return (h(\"div\", null,\n h(\"div\", { class: \"Tabs\" }, this.tabs.map((tab, index) => h(\"button\", { class: 'TabButton' + (this.selectedIndex == index ? ' Active' : ''), onClick: () => this.selectedIndex = index }, tab.label))),\n h(\"div\", null,\n h(\"helper-tab\", { selectedIndex: this.selectedIndex }))));\n }\n static get is() { return \"helper-tabs\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"helper-tabs.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"helper-tabs.css\"]\n }; }\n static get properties() { return {\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Tell me if it is disabled\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Gimme names or you die\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"selected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Tell me what tab is selected\"\n },\n \"attribute\": \"selected\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"cmsEndpoint\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Endpoing for CMS\"\n },\n \"attribute\": \"cms-endpoint\",\n \"reflect\": false\n },\n \"selectedIndex\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Default selected index\"\n },\n \"attribute\": \"selected-index\",\n \"reflect\": true,\n \"defaultValue\": \"0\"\n },\n \"tabs\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Array<Object>\",\n \"resolved\": \"Object[]\",\n \"references\": {\n \"Array\": {\n \"location\": \"global\"\n },\n \"Object\": {\n \"location\": \"global\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Tabs details\"\n },\n \"defaultValue\": \"[{label: 'How to Play'}, {label: 'About'}, {label: 'FAQs'}]\"\n }\n }; }\n static get elementRef() { return \"host\"; }\n}\n"],"version":3}