@everymatrix/lottery-game-page 1.44.0 → 1.45.2

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 (194) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  2. package/dist/cjs/{helper-filters_2.cjs.entry.js → helper-accordion_13.cjs.entry.js} +3329 -1000
  3. package/dist/cjs/helper-pagination.cjs.entry.js +195 -226
  4. package/dist/cjs/index-f3851683.js +1345 -0
  5. package/dist/cjs/index.cjs.js +0 -2
  6. package/dist/cjs/loader.cjs.js +7 -15
  7. package/dist/cjs/lottery-game-page.cjs.js +16 -12
  8. package/dist/collection/collection-manifest.json +4 -10
  9. package/dist/collection/components/lottery-game-page/index.js +1 -0
  10. package/dist/collection/components/lottery-game-page/lottery-game-page.css +1 -1
  11. package/dist/collection/components/lottery-game-page/lottery-game-page.js +580 -646
  12. package/dist/collection/index.js +0 -1
  13. package/dist/collection/utils/locale.utils.js +117 -118
  14. package/dist/collection/utils/utils.js +4 -5
  15. package/dist/esm/app-globals-0f993ce5.js +3 -0
  16. package/dist/esm/{helper-filters_2.entry.js → helper-accordion_13.entry.js} +3319 -1001
  17. package/dist/esm/helper-pagination.entry.js +195 -226
  18. package/dist/esm/index-8248702b.js +1316 -0
  19. package/dist/esm/index.js +0 -2
  20. package/dist/esm/loader.js +8 -16
  21. package/dist/esm/lottery-game-page.js +14 -13
  22. package/dist/lottery-game-page/index.esm.js +0 -2
  23. package/dist/lottery-game-page/lottery-game-page.esm.js +1 -2
  24. package/dist/lottery-game-page/p-4254ae78.entry.js +3567 -0
  25. package/dist/lottery-game-page/p-89956c67.entry.js +1 -0
  26. package/dist/lottery-game-page/p-8f2c63c7.js +2 -0
  27. package/dist/lottery-game-page/p-e1255160.js +1 -0
  28. package/dist/stencil.config.dev.js +17 -0
  29. package/dist/stencil.config.js +12 -45
  30. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/lottery-game-page/.stencil/packages/stencil/lottery-game-page/stencil.config.d.ts +2 -0
  31. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/lottery-game-page/.stencil/packages/stencil/lottery-game-page/stencil.config.dev.d.ts +2 -0
  32. package/dist/types/components/lottery-game-page/index.d.ts +1 -0
  33. package/dist/types/components/lottery-game-page/lottery-game-page.d.ts +98 -98
  34. package/dist/types/components.d.ts +18 -2
  35. package/dist/types/stencil-public-runtime.d.ts +142 -33
  36. package/loader/cdn.js +1 -3
  37. package/loader/index.cjs.js +1 -3
  38. package/loader/index.d.ts +13 -1
  39. package/loader/index.es2017.js +1 -3
  40. package/loader/index.js +1 -3
  41. package/loader/package.json +1 -0
  42. package/package.json +13 -7
  43. package/dist/assets/chrono_desktop.png +0 -0
  44. package/dist/assets/chrono_lottery_mobile.png +0 -0
  45. package/dist/cjs/helper-accordion.cjs.entry.js +0 -134
  46. package/dist/cjs/helper-accordion.cjs.entry.js.map +0 -1
  47. package/dist/cjs/helper-filters_2.cjs.entry.js.map +0 -1
  48. package/dist/cjs/helper-modal.cjs.entry.js +0 -78
  49. package/dist/cjs/helper-modal.cjs.entry.js.map +0 -1
  50. package/dist/cjs/helper-pagination.cjs.entry.js.map +0 -1
  51. package/dist/cjs/helper-tab.cjs.entry.js +0 -70
  52. package/dist/cjs/helper-tab.cjs.entry.js.map +0 -1
  53. package/dist/cjs/helper-tabs.cjs.entry.js +0 -76
  54. package/dist/cjs/helper-tabs.cjs.entry.js.map +0 -1
  55. package/dist/cjs/index-cd44e726.js +0 -1326
  56. package/dist/cjs/index-cd44e726.js.map +0 -1
  57. package/dist/cjs/index.cjs.js.map +0 -1
  58. package/dist/cjs/loader.cjs.js.map +0 -1
  59. package/dist/cjs/lottery-bullet_2.cjs.entry.js +0 -281
  60. package/dist/cjs/lottery-bullet_2.cjs.entry.js.map +0 -1
  61. package/dist/cjs/lottery-draw-results-history.cjs.entry.js +0 -240
  62. package/dist/cjs/lottery-draw-results-history.cjs.entry.js.map +0 -1
  63. package/dist/cjs/lottery-game-details.cjs.entry.js +0 -53
  64. package/dist/cjs/lottery-game-details.cjs.entry.js.map +0 -1
  65. package/dist/cjs/lottery-game-page.cjs.entry.js +0 -456
  66. package/dist/cjs/lottery-game-page.cjs.entry.js.map +0 -1
  67. package/dist/cjs/lottery-game-page.cjs.js.map +0 -1
  68. package/dist/cjs/lottery-ticket-controller.cjs.entry.js +0 -132
  69. package/dist/cjs/lottery-ticket-controller.cjs.entry.js.map +0 -1
  70. package/dist/cjs/lottery-ticket.cjs.entry.js +0 -233
  71. package/dist/cjs/lottery-ticket.cjs.entry.js.map +0 -1
  72. package/dist/collection/components/lottery-game-page/lottery-game-page.js.map +0 -1
  73. package/dist/collection/index.js.map +0 -1
  74. package/dist/collection/utils/locale.utils.js.map +0 -1
  75. package/dist/collection/utils/utils.js.map +0 -1
  76. package/dist/components/helper-accordion.js +0 -8
  77. package/dist/components/helper-accordion.js.map +0 -1
  78. package/dist/components/helper-accordion2.js +0 -161
  79. package/dist/components/helper-accordion2.js.map +0 -1
  80. package/dist/components/helper-filters.js +0 -8
  81. package/dist/components/helper-filters.js.map +0 -1
  82. package/dist/components/helper-filters2.js +0 -23566
  83. package/dist/components/helper-filters2.js.map +0 -1
  84. package/dist/components/helper-modal.js +0 -8
  85. package/dist/components/helper-modal.js.map +0 -1
  86. package/dist/components/helper-modal2.js +0 -96
  87. package/dist/components/helper-modal2.js.map +0 -1
  88. package/dist/components/helper-pagination.js +0 -293
  89. package/dist/components/helper-pagination.js.map +0 -1
  90. package/dist/components/helper-tab.js +0 -8
  91. package/dist/components/helper-tab.js.map +0 -1
  92. package/dist/components/helper-tab2.js +0 -89
  93. package/dist/components/helper-tab2.js.map +0 -1
  94. package/dist/components/helper-tabs.js +0 -8
  95. package/dist/components/helper-tabs.js.map +0 -1
  96. package/dist/components/helper-tabs2.js +0 -105
  97. package/dist/components/helper-tabs2.js.map +0 -1
  98. package/dist/components/index.d.ts +0 -26
  99. package/dist/components/index.js +0 -3
  100. package/dist/components/index.js.map +0 -1
  101. package/dist/components/lottery-bullet.js +0 -8
  102. package/dist/components/lottery-bullet.js.map +0 -1
  103. package/dist/components/lottery-bullet2.js +0 -94
  104. package/dist/components/lottery-bullet2.js.map +0 -1
  105. package/dist/components/lottery-draw-results-history.js +0 -8
  106. package/dist/components/lottery-draw-results-history.js.map +0 -1
  107. package/dist/components/lottery-draw-results-history2.js +0 -298
  108. package/dist/components/lottery-draw-results-history2.js.map +0 -1
  109. package/dist/components/lottery-draw-results.js +0 -8
  110. package/dist/components/lottery-draw-results.js.map +0 -1
  111. package/dist/components/lottery-draw-results2.js +0 -346
  112. package/dist/components/lottery-draw-results2.js.map +0 -1
  113. package/dist/components/lottery-game-details.js +0 -8
  114. package/dist/components/lottery-game-details.js.map +0 -1
  115. package/dist/components/lottery-game-details2.js +0 -87
  116. package/dist/components/lottery-game-details2.js.map +0 -1
  117. package/dist/components/lottery-game-page.d.ts +0 -11
  118. package/dist/components/lottery-game-page.js +0 -572
  119. package/dist/components/lottery-game-page.js.map +0 -1
  120. package/dist/components/lottery-grid.js +0 -8
  121. package/dist/components/lottery-grid.js.map +0 -1
  122. package/dist/components/lottery-grid2.js +0 -248
  123. package/dist/components/lottery-grid2.js.map +0 -1
  124. package/dist/components/lottery-ticket-controller.js +0 -8
  125. package/dist/components/lottery-ticket-controller.js.map +0 -1
  126. package/dist/components/lottery-ticket-controller2.js +0 -185
  127. package/dist/components/lottery-ticket-controller2.js.map +0 -1
  128. package/dist/components/lottery-ticket.js +0 -8
  129. package/dist/components/lottery-ticket.js.map +0 -1
  130. package/dist/components/lottery-ticket2.js +0 -276
  131. package/dist/components/lottery-ticket2.js.map +0 -1
  132. package/dist/esm/helper-accordion.entry.js +0 -130
  133. package/dist/esm/helper-accordion.entry.js.map +0 -1
  134. package/dist/esm/helper-filters_2.entry.js.map +0 -1
  135. package/dist/esm/helper-modal.entry.js +0 -74
  136. package/dist/esm/helper-modal.entry.js.map +0 -1
  137. package/dist/esm/helper-pagination.entry.js.map +0 -1
  138. package/dist/esm/helper-tab.entry.js +0 -66
  139. package/dist/esm/helper-tab.entry.js.map +0 -1
  140. package/dist/esm/helper-tabs.entry.js +0 -72
  141. package/dist/esm/helper-tabs.entry.js.map +0 -1
  142. package/dist/esm/index-d1baacd4.js +0 -1298
  143. package/dist/esm/index-d1baacd4.js.map +0 -1
  144. package/dist/esm/index.js.map +0 -1
  145. package/dist/esm/loader.js.map +0 -1
  146. package/dist/esm/lottery-bullet_2.entry.js +0 -276
  147. package/dist/esm/lottery-bullet_2.entry.js.map +0 -1
  148. package/dist/esm/lottery-draw-results-history.entry.js +0 -236
  149. package/dist/esm/lottery-draw-results-history.entry.js.map +0 -1
  150. package/dist/esm/lottery-game-details.entry.js +0 -49
  151. package/dist/esm/lottery-game-details.entry.js.map +0 -1
  152. package/dist/esm/lottery-game-page.entry.js +0 -452
  153. package/dist/esm/lottery-game-page.entry.js.map +0 -1
  154. package/dist/esm/lottery-game-page.js.map +0 -1
  155. package/dist/esm/lottery-ticket-controller.entry.js +0 -128
  156. package/dist/esm/lottery-ticket-controller.entry.js.map +0 -1
  157. package/dist/esm/lottery-ticket.entry.js +0 -229
  158. package/dist/esm/lottery-ticket.entry.js.map +0 -1
  159. package/dist/esm/polyfills/core-js.js +0 -11
  160. package/dist/esm/polyfills/css-shim.js +0 -1
  161. package/dist/esm/polyfills/dom.js +0 -79
  162. package/dist/esm/polyfills/es5-html-element.js +0 -1
  163. package/dist/esm/polyfills/index.js +0 -34
  164. package/dist/esm/polyfills/system.js +0 -6
  165. package/dist/lottery-game-page/index.esm.js.map +0 -1
  166. package/dist/lottery-game-page/lottery-game-page.esm.js.map +0 -1
  167. package/dist/lottery-game-page/p-12340c50.entry.js +0 -2921
  168. package/dist/lottery-game-page/p-12340c50.entry.js.map +0 -1
  169. package/dist/lottery-game-page/p-15309f9a.entry.js +0 -2
  170. package/dist/lottery-game-page/p-15309f9a.entry.js.map +0 -1
  171. package/dist/lottery-game-page/p-167c9dbe.entry.js +0 -2
  172. package/dist/lottery-game-page/p-167c9dbe.entry.js.map +0 -1
  173. package/dist/lottery-game-page/p-20e0c81c.entry.js +0 -2
  174. package/dist/lottery-game-page/p-20e0c81c.entry.js.map +0 -1
  175. package/dist/lottery-game-page/p-59a96854.entry.js +0 -2
  176. package/dist/lottery-game-page/p-59a96854.entry.js.map +0 -1
  177. package/dist/lottery-game-page/p-662d9dac.entry.js +0 -2
  178. package/dist/lottery-game-page/p-662d9dac.entry.js.map +0 -1
  179. package/dist/lottery-game-page/p-66729e9c.entry.js +0 -2
  180. package/dist/lottery-game-page/p-66729e9c.entry.js.map +0 -1
  181. package/dist/lottery-game-page/p-721345a7.entry.js +0 -2
  182. package/dist/lottery-game-page/p-721345a7.entry.js.map +0 -1
  183. package/dist/lottery-game-page/p-76c280ec.entry.js +0 -2
  184. package/dist/lottery-game-page/p-76c280ec.entry.js.map +0 -1
  185. package/dist/lottery-game-page/p-cd4aa6a4.entry.js +0 -2
  186. package/dist/lottery-game-page/p-cd4aa6a4.entry.js.map +0 -1
  187. package/dist/lottery-game-page/p-e765c7d9.js +0 -2
  188. package/dist/lottery-game-page/p-e765c7d9.js.map +0 -1
  189. package/dist/lottery-game-page/p-e86e2389.entry.js +0 -2
  190. package/dist/lottery-game-page/p-e86e2389.entry.js.map +0 -1
  191. package/dist/lottery-game-page/p-f399eef1.entry.js +0 -2
  192. package/dist/lottery-game-page/p-f399eef1.entry.js.map +0 -1
  193. package/dist/stencil.config.js.map +0 -1
  194. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/lottery-game-page/.stencil/packages/lottery-game-page/stencil.config.d.ts +0 -2
@@ -1 +0,0 @@
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/utils/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 fr: Translation,\n ar: Translation,\n hr: Translation,\n}\n\nconst DEFAULT_LANGUAGE: 'en' = 'en'\nconst SUPPORTED_LANGUAGES: string[] = ['ro', 'en', 'fr', 'ar', 'hr'];\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 fr: {\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: 'Résultats du dernier tirage',\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: 'نتائج آخر سحب',\n modalLogin: 'الرجاء تسجيل الدخول لتقديم تذكرة'\n },\n hr: {\n error: 'Greška',\n title: 'Krono',\n backButton: 'Nazad',\n lobbyButton: 'Lobby',\n prize: 'Nagrada',\n winUpTo: 'Osvoji do',\n nextDraw: 'Sljedeće izvlačenje za: ',\n buy: 'Uplati listić',\n viewLatest: 'Pogledajte najnovije rezultate',\n createTicket: 'Uplati listić',\n modalSuccess: 'Kupnja uspješno obavljena!',\n deleteTicketModalTitle: 'Izbriši listić',\n deleteTicketModalText: 'Are you sure you want to delete this ticket?',\n deleteTicketModalCancel: 'Otkaži',\n deleteTicketModalConfirm: 'Izbriši',\n orderSummaryTitle: 'Sažetak narudžbe',\n orderSummaryTickets: 'Listić',\n orderSummaryTotal: 'Ukupno',\n orderSummarySubmit: 'Podnijeti',\n lastDrawResultsTitle: 'Rezultati posljednjeg izvlačenja',\n modalLogin: 'Molimo prijavite se da uplatite listić',\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","/**\n * @name isMobile\n * @description A method that returns if the browser used to access the app is from a mobile device or not\n * @param {String} userAgent window.navigator.userAgent\n * @returns {Boolean} true or false\n */\nexport const isMobile = (userAgent:string):boolean => {\n return !!(\n userAgent.toLowerCase().match(/android/i) ||\n userAgent.toLowerCase().match(/blackberry|bb/i) ||\n userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||\n userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i)\n );\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 cursor: pointer;\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 gap: 4px;\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: #00958f;\n color:#fff;\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 color: #00958f;\n background: #F1F1F1;\n border: 1px solid #F1F1F1;\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 margin-top: 10px;\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 line-height: 50px;\n margin-left: 15px;\n\n span {\n text-align: right;\n }\n }\n\n hr {\n border: none;\n border-top: 1px double #D4D4D4;\n color: #D4D4D4;\n width: 100%;\n }\n\n .Total {\n display: inline-block;\n color: #000;\n font-size:14px;\n height: 50px;\n line-height: 50px;\n margin-left: 15px;\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, EventEmitter, Event, getAssetPath } from '@stencil/core';\nimport { translate } from '../../utils/locale.utils';\nimport { 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({ reflect: true }) endpoint: string;\n /**\n * GameID of the lottery game\n */\n @Prop({ reflect: true }) gameId: string;\n /**\n * Player ID\n */\n @Prop({ reflect: true }) playerId: number;\n /**\n * GIC Session\n */\n @Prop({ reflect: true }) sessionId: string;\n /**\n * Language of the widget\n */\n @Prop({ reflect: true }) language: string = 'en';\n /**\n * Url for banner's custom background image \n */\n @Prop({ reflect: true }) backgroundUrl: string;\n /**\n * Shows the auto-pick button\n */\n @Prop({ reflect: true }) autoPick: boolean = false;\n /**\n * Shows the reset button\n */\n @Prop({ reflect: true }) resetButton: boolean = false;\n /**\n * Client custom styling via string\n */\n @Prop({reflect: true}) clientStyling:string = '';\n /**\n * Client custom styling via url\n */\n @Prop({ reflect: true }) clientStylingurl:string = '';\n\n @State() clientStylingUrlContent:string = '';\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 @State() private limitStylingAppends:boolean = false;\n @Element() element: HTMLElement;\n\n @Event({bubbles: true, composed: true}) goBackEvent: EventEmitter<string>;\n @Event({bubbles: true, composed: true}) goToLobbyEvent: EventEmitter<string>;\n\n // @TODO fix any type\n private userAgent:string = window.navigator.userAgent;\n\n private stylingContainer:HTMLElement;\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 private isMobile:boolean = isMobile(this.userAgent);\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 componentDidRender(): void {\n // start custom styling area\n if(!this.limitStylingAppends && this.stylingContainer) {\n if(this.clientStyling) this.setClientStyling();\n if(this.clientStylingurl) this.setClientStylingURL();\n this.limitStylingAppends = true;\n }\n // end custom styling area\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.type.stakes[0].amount;\n\n let draws = this.gameData.draws.filter((item) => !item.winningNumbers);\n draws.length > 0 && (this.nextDraw = draws[0].id);\n this.createNewTicket();\n })\n .catch((err:any) => {\n this.hasErrors = true;\n console.log('Error', err);\n });\n }\n\n calculateTotalAmount(): void {\n const { currency } = this.gameData.type.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 if (!upcoming[0]) return;\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 .catch((err:any) => {\n console.log('error ', err);\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 // should we treat this res?\n console.log('data', data)\n })\n .catch((err:any) => {\n console.log('error ', err);\n });\n\n this.successVisible = true;\n }\n\n goBack() {\n this.goBackEvent.emit();\n }\n\n goToLobby() {\n this.goToLobbyEvent.emit();\n }\n\n setClientStyling = ():void => {\n let sheet = document.createElement('style');\n sheet.innerHTML = this.clientStyling;\n this.stylingContainer.prepend(sheet);\n }\n\n setClientStylingURL = ():void => {\n\n let url:URL = new URL(this.clientStylingurl);\n let cssFile:HTMLElement = document.createElement('style');\n \n fetch(url.href)\n .then((res:any) => res.text())\n .then((data:any) => {\n this.clientStylingUrlContent = data;\n cssFile.innerHTML = data;\n setTimeout(() => { this.stylingContainer.prepend(cssFile) }, 1);\n })\n .catch((err:any) => {\n console.log('error ', err);\n });\n }\n\n render(): void {\n //Get path for background image\n const backgroundImagePath = getAssetPath(this.isMobile ? '/assets/chrono_lottery_mobile.png' : '/assets/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'} ref={el => this.stylingContainer = el as HTMLInputElement}>\n <div class=\"GridBanner\" style={{ 'background': `url(${ this.backgroundUrl ? this.backgroundUrl : backgroundImagePath})` , 'background-size': 'contain' , 'background-repeat': 'no-repeat', 'background-position': 'center' }}>\n <div class=\"BannerButtonsWrapper\">\n <button class=\"BannerBackButton\" onClick={this.goBack.bind(this)}><span class=\"BannerBackButtonArrow\">&#5176; </span>{translate('backButton', this.language)}</button>\n <button class=\"BannerLobbyButton\" onClick={this.goToLobby.bind(this)}>{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\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n </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 total-controllers={this.tickets.length}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\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 <hr />\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\n title-modal=\"Success\"\n visible={this.loginModalVisible}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n <p class=\"SubmitModalSuccess\">{translate('modalLogin', this.language)}</p>\n </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 \n endpoint={this.endpoint}\n game-id={this.gameId}\n language={this.language}\n draw-id={this.lastDrawId}\n draw-mode={true}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n </lottery-draw-results>\n <lottery-draw-results-history\n endpoint={this.endpoint}\n game-id={this.gameId}\n language={this.language}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n </lottery-draw-results-history>\n </div>}\n <helper-modal\n title-modal=\"Success\"\n visible={this.successVisible}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n <p class=\"SubmitModalSuccess\">{translate('modalSuccess', this.language)}</p>\n </helper-modal>\n <helper-modal\n title-modal=\"Delete Ticket\"\n visible={this.deleteVisible}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\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}
@@ -1,8 +0,0 @@
1
- import { L as LotteryGrid$1, d as defineCustomElement$1 } from './lottery-grid2.js';
2
-
3
- const LotteryGrid = LotteryGrid$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { LotteryGrid, defineCustomElement };
7
-
8
- //# sourceMappingURL=lottery-grid.js.map
@@ -1 +0,0 @@
1
- {"file":"lottery-grid.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,248 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$1 } from './lottery-bullet2.js';
3
-
4
- const lotteryGridCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.GridContainer{display:flex;flex-direction:column;max-width:1200px}.Grid{margin-top:10px 0 10px 0;display:flex;flex-direction:row;flex-wrap:wrap;gap:20px}.Grid.TicketGrid{gap:5px}";
5
-
6
- const LotteryGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
- constructor() {
8
- super();
9
- this.__registerHost();
10
- this.__attachShadow();
11
- this.gridFilledEvent = createEvent(this, "gridFilled", 7);
12
- this.gridDirtyEvent = createEvent(this, "gridDirty", 7);
13
- /**
14
- * Number of bullets of grid
15
- */
16
- this.totalNumbers = 0;
17
- /**
18
- * Number of maximum bullets that can be selected
19
- */
20
- this.maximumAllowed = 0;
21
- /**
22
- * Minimum allowed of bullets
23
- */
24
- this.minimumAllowed = 1;
25
- /**
26
- * Allows the user to select numbers on the grid
27
- */
28
- this.selectable = true;
29
- /**
30
- * Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')
31
- */
32
- this.selectedNumbers = '';
33
- /**
34
- * Show only selected numbers
35
- */
36
- this.displaySelected = false;
37
- /**
38
- * Language
39
- */
40
- this.language = 'en';
41
- /**
42
- * Personalize grid for ticket
43
- */
44
- this.gridType = '';
45
- /**
46
- * Client custom styling via string
47
- */
48
- this.clientStyling = '';
49
- /**
50
- * Client custom styling via url content
51
- */
52
- this.clientStylingUrlContent = '';
53
- this.numbers = [];
54
- this.limitStylingAppends = false;
55
- this.selectedCounter = 0;
56
- this.setClientStyling = () => {
57
- let sheet = document.createElement('style');
58
- sheet.innerHTML = this.clientStyling;
59
- this.stylingContainer.prepend(sheet);
60
- };
61
- this.setClientStylingURL = () => {
62
- let cssFile = document.createElement('style');
63
- setTimeout(() => {
64
- cssFile.innerHTML = this.clientStylingUrlContent;
65
- this.stylingContainer.prepend(cssFile);
66
- }, 1);
67
- };
68
- }
69
- connectedCallback() {
70
- let selected = [];
71
- if (this.selectedNumbers.length > 0) {
72
- selected = this.selectedNumbers.split(',');
73
- this.selectedCounter = selected.length;
74
- }
75
- if (this.displaySelected) {
76
- selected.forEach((item) => {
77
- this.numbers.push({
78
- number: item,
79
- selected: true,
80
- selectable: this.selectable
81
- });
82
- });
83
- }
84
- else {
85
- [...Array(this.totalNumbers).keys()]
86
- .map(number => (number + 1).toString())
87
- .forEach((number) => {
88
- this.numbers.push({
89
- number,
90
- selected: selected.indexOf(number) >= 0 ? true : false,
91
- selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable
92
- });
93
- });
94
- }
95
- }
96
- componentDidRender() {
97
- // start custom styling area
98
- if (!this.limitStylingAppends && this.stylingContainer) {
99
- if (this.clientStyling)
100
- this.setClientStyling();
101
- if (this.clientStylingUrlContent)
102
- this.setClientStylingURL();
103
- this.limitStylingAppends = true;
104
- }
105
- // end custom styling area
106
- }
107
- // wrote this because the classic .sort(() => 0.5 - Math.random()) method yielded low entropy shuffles for some reason on certain devices
108
- shuffleArray(array) {
109
- const result = [];
110
- while (array.length > 0) {
111
- const randomIndex = Math.floor(Math.random() * (array.length));
112
- result.push(array.splice(randomIndex, 1)[0]);
113
- }
114
- return result;
115
- }
116
- lotteryBulletSelectionHandler(event) {
117
- this.numbers = this.numbers.map((item) => {
118
- if (item.number == event.detail.value) {
119
- return {
120
- number: item.number,
121
- selected: event.detail.selected,
122
- selectable: item.selectable
123
- };
124
- }
125
- return {
126
- number: item.number,
127
- selected: item.selected,
128
- selectable: item.selectable
129
- };
130
- });
131
- if (event.detail.selected) {
132
- this.selectedCounter += 1;
133
- if (this.selectedCounter == this.maximumAllowed) {
134
- this.numbers = this.numbers.map((item) => {
135
- return {
136
- number: item.number,
137
- selected: item.selected,
138
- selectable: item.selected ? true : false
139
- };
140
- });
141
- this.gridFilledEvent.emit({
142
- id: this.ticketId,
143
- index: this.gridIndex,
144
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
145
- });
146
- }
147
- }
148
- else {
149
- if (this.selectedCounter == this.maximumAllowed) {
150
- this.numbers = this.numbers.map((item) => {
151
- return {
152
- number: item.number,
153
- selected: item.selected,
154
- selectable: true
155
- };
156
- });
157
- this.gridDirtyEvent.emit({
158
- id: this.ticketId,
159
- index: this.gridIndex,
160
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
161
- });
162
- }
163
- this.selectedCounter -= 1;
164
- }
165
- }
166
- async resetSelectionHandler(event) {
167
- if (event.detail && event.detail == this.ticketId) {
168
- this.selectedCounter = 0;
169
- this.numbers = this.numbers.map((item) => {
170
- return {
171
- number: item.number,
172
- selected: false,
173
- selectable: this.selectable
174
- };
175
- });
176
- this.gridDirtyEvent.emit({
177
- id: this.ticketId,
178
- index: this.gridIndex,
179
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
180
- });
181
- }
182
- }
183
- async autoSelectionHandler(event) {
184
- if (event.detail && event.detail == this.ticketId) {
185
- this.resetSelectionHandler(event);
186
- let array = [...Array(this.totalNumbers).keys()]
187
- .map(number => number + 1);
188
- array = this.shuffleArray(array);
189
- array = array.slice(0, this.minimumAllowed);
190
- this.numbers = this.numbers.map((item) => {
191
- return {
192
- number: item.number,
193
- selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
194
- selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
195
- };
196
- });
197
- this.gridFilledEvent.emit({
198
- id: this.ticketId,
199
- index: this.gridIndex,
200
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
201
- });
202
- this.selectedCounter = this.maximumAllowed;
203
- }
204
- }
205
- render() {
206
- return (h("div", { class: "GridContainer", ref: el => this.stylingContainer = el }, h("div", { class: this.gridType === 'ticket' ? 'Grid TicketGrid' : 'Grid' }, this.numbers.map((item) => h("div", null, h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))))));
207
- }
208
- static get style() { return lotteryGridCss; }
209
- }, [1, "lottery-grid", {
210
- "ticketId": [514, "ticket-id"],
211
- "totalNumbers": [514, "total-numbers"],
212
- "gameId": [513, "game-id"],
213
- "maximumAllowed": [514, "maximum-allowed"],
214
- "minimumAllowed": [514, "minimum-allowed"],
215
- "selectable": [516],
216
- "selectedNumbers": [513, "selected-numbers"],
217
- "displaySelected": [516, "display-selected"],
218
- "language": [513],
219
- "gridIndex": [514, "grid-index"],
220
- "gridType": [513, "grid-type"],
221
- "clientStyling": [513, "client-styling"],
222
- "clientStylingUrlContent": [513, "client-styling-url-content"],
223
- "numbers": [32],
224
- "limitStylingAppends": [32]
225
- }, [[0, "lotteryBulletSelection", "lotteryBulletSelectionHandler"], [4, "resetSelection", "resetSelectionHandler"], [4, "autoSelection", "autoSelectionHandler"]]]);
226
- function defineCustomElement() {
227
- if (typeof customElements === "undefined") {
228
- return;
229
- }
230
- const components = ["lottery-grid", "lottery-bullet"];
231
- components.forEach(tagName => { switch (tagName) {
232
- case "lottery-grid":
233
- if (!customElements.get(tagName)) {
234
- customElements.define(tagName, LotteryGrid);
235
- }
236
- break;
237
- case "lottery-bullet":
238
- if (!customElements.get(tagName)) {
239
- defineCustomElement$1();
240
- }
241
- break;
242
- } });
243
- }
244
- defineCustomElement();
245
-
246
- export { LotteryGrid as L, defineCustomElement as d };
247
-
248
- //# sourceMappingURL=lottery-grid2.js.map
@@ -1 +0,0 @@
1
- {"file":"lottery-grid2.js","mappings":"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","names":[],"sources":["../lottery-grid/dist/collection/components/lottery-grid/lottery-grid.css?tag=lottery-grid&encapsulation=shadow","../lottery-grid/dist/collection/components/lottery-grid/lottery-grid.js"],"sourcesContent":["@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.GridContainer {\n display: flex;\n flex-direction: column;\n max-width: 1200px;\n}\n\n.Grid {\n margin-top: 10px 0 10px 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 20px;\n}\n.Grid.TicketGrid {\n gap: 5px;\n}","import { Component, h, Prop, Listen, State, Event } from '@stencil/core';\n// import { translate } from '../../utils/locale.utils';\nimport '@everymatrix/lottery-bullet';\nexport class LotteryGrid {\n constructor() {\n /**\n * Number of bullets of grid\n */\n this.totalNumbers = 0;\n /**\n * Number of maximum bullets that can be selected\n */\n this.maximumAllowed = 0;\n /**\n * Minimum allowed of bullets\n */\n this.minimumAllowed = 1;\n /**\n * Allows the user to select numbers on the grid\n */\n this.selectable = true;\n /**\n * Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')\n */\n this.selectedNumbers = '';\n /**\n * Show only selected numbers\n */\n this.displaySelected = false;\n /**\n * Language\n */\n this.language = 'en';\n /**\n * Personalize grid for ticket\n */\n this.gridType = '';\n /**\n * Client custom styling via string\n */\n this.clientStyling = '';\n /**\n * Client custom styling via url content\n */\n this.clientStylingUrlContent = '';\n this.numbers = [];\n this.limitStylingAppends = false;\n this.selectedCounter = 0;\n this.setClientStyling = () => {\n let sheet = document.createElement('style');\n sheet.innerHTML = this.clientStyling;\n this.stylingContainer.prepend(sheet);\n };\n this.setClientStylingURL = () => {\n let cssFile = document.createElement('style');\n setTimeout(() => {\n cssFile.innerHTML = this.clientStylingUrlContent;\n this.stylingContainer.prepend(cssFile);\n }, 1);\n };\n }\n connectedCallback() {\n let selected = [];\n if (this.selectedNumbers.length > 0) {\n selected = this.selectedNumbers.split(',');\n this.selectedCounter = selected.length;\n }\n if (this.displaySelected) {\n selected.forEach((item) => {\n this.numbers.push({\n number: item,\n selected: true,\n selectable: this.selectable\n });\n });\n }\n else {\n [...Array(this.totalNumbers).keys()]\n .map(number => (number + 1).toString())\n .forEach((number) => {\n this.numbers.push({\n number,\n selected: selected.indexOf(number) >= 0 ? true : false,\n selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable\n });\n });\n }\n }\n componentDidRender() {\n // start custom styling area\n if (!this.limitStylingAppends && this.stylingContainer) {\n if (this.clientStyling)\n this.setClientStyling();\n if (this.clientStylingUrlContent)\n this.setClientStylingURL();\n this.limitStylingAppends = true;\n }\n // end custom styling area\n }\n // wrote this because the classic .sort(() => 0.5 - Math.random()) method yielded low entropy shuffles for some reason on certain devices\n shuffleArray(array) {\n const result = [];\n while (array.length > 0) {\n const randomIndex = Math.floor(Math.random() * (array.length));\n result.push(array.splice(randomIndex, 1)[0]);\n }\n return result;\n }\n lotteryBulletSelectionHandler(event) {\n this.numbers = this.numbers.map((item) => {\n if (item.number == event.detail.value) {\n return {\n number: item.number,\n selected: event.detail.selected,\n selectable: item.selectable\n };\n }\n return {\n number: item.number,\n selected: item.selected,\n selectable: item.selectable\n };\n });\n if (event.detail.selected) {\n this.selectedCounter += 1;\n if (this.selectedCounter == this.maximumAllowed) {\n this.numbers = this.numbers.map((item) => {\n return {\n number: item.number,\n selected: item.selected,\n selectable: item.selected ? true : false\n };\n });\n this.gridFilledEvent.emit({\n id: this.ticketId,\n index: this.gridIndex,\n selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)\n });\n }\n }\n else {\n if (this.selectedCounter == this.maximumAllowed) {\n this.numbers = this.numbers.map((item) => {\n return {\n number: item.number,\n selected: item.selected,\n selectable: true\n };\n });\n this.gridDirtyEvent.emit({\n id: this.ticketId,\n index: this.gridIndex,\n selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)\n });\n }\n this.selectedCounter -= 1;\n }\n }\n async resetSelectionHandler(event) {\n if (event.detail && event.detail == this.ticketId) {\n this.selectedCounter = 0;\n this.numbers = this.numbers.map((item) => {\n return {\n number: item.number,\n selected: false,\n selectable: this.selectable\n };\n });\n this.gridDirtyEvent.emit({\n id: this.ticketId,\n index: this.gridIndex,\n selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)\n });\n }\n }\n async autoSelectionHandler(event) {\n if (event.detail && event.detail == this.ticketId) {\n this.resetSelectionHandler(event);\n let array = [...Array(this.totalNumbers).keys()]\n .map(number => number + 1);\n array = this.shuffleArray(array);\n array = array.slice(0, this.minimumAllowed);\n this.numbers = this.numbers.map((item) => {\n return {\n number: item.number,\n selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,\n selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,\n };\n });\n this.gridFilledEvent.emit({\n id: this.ticketId,\n index: this.gridIndex,\n selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)\n });\n this.selectedCounter = this.maximumAllowed;\n }\n }\n render() {\n return (h(\"div\", { class: \"GridContainer\", ref: el => this.stylingContainer = el },\n h(\"div\", { class: this.gridType === 'ticket' ? 'Grid TicketGrid' : 'Grid' }, this.numbers.map((item) => h(\"div\", null,\n h(\"lottery-bullet\", { value: item.number, selectable: item.selectable, \"is-selected\": item.selected, \"client-styling\": this.clientStyling, \"client-styling-url-content\": this.clientStylingUrlContent }))))));\n }\n static get is() { return \"lottery-grid\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"lottery-grid.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"lottery-grid.css\"]\n }; }\n static get properties() { return {\n \"ticketId\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Identifier for the ticket\"\n },\n \"attribute\": \"ticket-id\",\n \"reflect\": true\n },\n \"totalNumbers\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Number of bullets of grid\"\n },\n \"attribute\": \"total-numbers\",\n \"reflect\": true,\n \"defaultValue\": \"0\"\n },\n \"gameId\": {\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\": \"Game ID\"\n },\n \"attribute\": \"game-id\",\n \"reflect\": true\n },\n \"maximumAllowed\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Number of maximum bullets that can be selected\"\n },\n \"attribute\": \"maximum-allowed\",\n \"reflect\": true,\n \"defaultValue\": \"0\"\n },\n \"minimumAllowed\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Minimum allowed of bullets\"\n },\n \"attribute\": \"minimum-allowed\",\n \"reflect\": true,\n \"defaultValue\": \"1\"\n },\n \"selectable\": {\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\": \"Allows the user to select numbers on the grid\"\n },\n \"attribute\": \"selectable\",\n \"reflect\": true,\n \"defaultValue\": \"true\"\n },\n \"selectedNumbers\": {\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\": \"Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')\"\n },\n \"attribute\": \"selected-numbers\",\n \"reflect\": true,\n \"defaultValue\": \"''\"\n },\n \"displaySelected\": {\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\": \"Show only selected numbers\"\n },\n \"attribute\": \"display-selected\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\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\": true,\n \"defaultValue\": \"'en'\"\n },\n \"gridIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The index of the number\"\n },\n \"attribute\": \"grid-index\",\n \"reflect\": true\n },\n \"gridType\": {\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\": \"Personalize grid for ticket\"\n },\n \"attribute\": \"grid-type\",\n \"reflect\": true,\n \"defaultValue\": \"''\"\n },\n \"clientStyling\": {\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\": \"Client custom styling via string\"\n },\n \"attribute\": \"client-styling\",\n \"reflect\": true,\n \"defaultValue\": \"''\"\n },\n \"clientStylingUrlContent\": {\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\": \"Client custom styling via url content\"\n },\n \"attribute\": \"client-styling-url-content\",\n \"reflect\": true,\n \"defaultValue\": \"''\"\n }\n }; }\n static get states() { return {\n \"numbers\": {},\n \"limitStylingAppends\": {}\n }; }\n static get events() { return [{\n \"method\": \"gridFilledEvent\",\n \"name\": \"gridFilled\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"When the grid is completed, it emits this event with selected numbers\"\n },\n \"complexType\": {\n \"original\": \"GridEvent\",\n \"resolved\": \"GridEvent\",\n \"references\": {\n \"GridEvent\": {\n \"location\": \"import\",\n \"path\": \"./lottery-grid.types\"\n }\n }\n }\n }, {\n \"method\": \"gridDirtyEvent\",\n \"name\": \"gridDirty\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"When the grid is uncomplete after being completed once (reset or change), it emits this event\"\n },\n \"complexType\": {\n \"original\": \"GridEvent\",\n \"resolved\": \"GridEvent\",\n \"references\": {\n \"GridEvent\": {\n \"location\": \"import\",\n \"path\": \"./lottery-grid.types\"\n }\n }\n }\n }]; }\n static get listeners() { return [{\n \"name\": \"lotteryBulletSelection\",\n \"method\": \"lotteryBulletSelectionHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"resetSelection\",\n \"method\": \"resetSelectionHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"autoSelection\",\n \"method\": \"autoSelectionHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }]; }\n}\n"],"version":3}
@@ -1,8 +0,0 @@
1
- import { L as LotteryTicketController$1, d as defineCustomElement$1 } from './lottery-ticket-controller2.js';
2
-
3
- const LotteryTicketController = LotteryTicketController$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { LotteryTicketController, defineCustomElement };
7
-
8
- //# sourceMappingURL=lottery-ticket-controller.js.map
@@ -1 +0,0 @@
1
- {"file":"lottery-ticket-controller.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,185 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$4 } from './helper-accordion2.js';
3
- import { d as defineCustomElement$3 } from './lottery-bullet2.js';
4
- import { d as defineCustomElement$2 } from './lottery-grid2.js';
5
- import { d as defineCustomElement$1 } from './lottery-ticket2.js';
6
-
7
- const DEFAULT_LANGUAGE = 'en';
8
- const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
9
- const TRANSLATIONS = {
10
- en: {
11
- ticket: 'Ticket',
12
- },
13
- ro: {
14
- ticket: 'Bilet',
15
- },
16
- fr: {
17
- ticket: 'Billet'
18
- },
19
- ar: {
20
- ticket: 'تذكرة',
21
- },
22
- hr: {
23
- ticket: 'Listić',
24
- }
25
- };
26
- const translate = (key, customLang) => {
27
- const lang = customLang;
28
- return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
29
- };
30
-
31
- const lotteryTicketControllerCss = ":host{font-family:\"Roboto\", system-ui, -apple-system, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\";font-size:0.8rem}*,*::before,*::after{margin:0;padding:0;list-style:none;outline:none;box-sizing:border-box}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.player-account-gaming-limits-popup-2{background:var(--emfe-w-color-black, #000000);color:var(--emfe-w-color-white, #000)}.Title{font-weight:800;font-size:18px}button{display:block;font-size:0.75rem;padding:12px 0;border:0;border-radius:2px;cursor:pointer}button.PrimaryButtonStyle{font-size:14px;color:#fff;background:#7ac317}button.SecondaryButtonStyle{border:1px solid #999;color:#666;background:#fff}.LinkButton{display:inline;padding:0;color:#3366CC;text-decoration:underline;background-color:rgba(0, 0, 0, 0)}.ResultIconWrapper{display:flex;flex-direction:column;align-items:center;margin:12px 0}.ResultIconWrapper svg{height:auto;width:60px;margin:12px}.ResultIconWrapper p{color:#666}.Overlay{position:absolute;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center}.ModalContainer{position:fixed;top:30vh;width:320px;height:auto;padding:18px 14px;background:#fff;border-radius:4px}.InitialWrapper{display:flex;flex-direction:column;gap:12px}.AdditionalInformation{margin:10px 0;font-size:14px}.TermsConditions{font-size:12px}.ExpandButton{font-size:14px;background-color:#fff;border:0;padding:0;margin-top:-10px;color:#999;display:flex;justify-content:center;align-items:center;cursor:pointer}.ExpandButton svg{width:28px;height:auto;margin-left:-4px}.LeftAlign{text-align:left;font-size:16px}.CenterAlign{text-align:center}.SetLimitSection{display:flex;flex-direction:column;gap:6px}.DepositTextSection{display:flex;justify-content:space-between}.DepositInputSection{height:32px;display:flex;gap:4px}.DepositInput{flex-grow:1;padding:0 6px}.SubmitDepositButton{flex-grow:1;font-size:0.75rem;padding:0}.SubmitDepositButton[disabled]{align-items:center;color:#ccc;cursor:not-allowed;background:#fff;border:#ccc 1px solid}.Hidden{display:none}.Extended{transform:rotate(180deg)}";
32
-
33
- const LotteryTicketController = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
34
- constructor() {
35
- super();
36
- this.__registerHost();
37
- this.__attachShadow();
38
- this.deleteTicketEvent = createEvent(this, "deleteTicket", 7);
39
- /**
40
- * Endpoint URL for the source of data (NorWAy standard)
41
- */
42
- this.endpoint = '';
43
- /**
44
- * Ticket number
45
- */
46
- this.ticketId = 1;
47
- /**
48
- * Activates postMessages as events for actions from the widget
49
- */
50
- this.postMessage = false;
51
- /**
52
- * Name of the event emitter by the action button
53
- */
54
- this.eventName = 'deleteTicketAction';
55
- /**
56
- * Collapsed
57
- */
58
- this.collapsed = true;
59
- /**
60
- * Number of grids?
61
- */
62
- this.numberOfGrids = 1;
63
- /**
64
- * This toggles if the last ticket added should be expanded or not
65
- */
66
- this.last = false;
67
- /**
68
- * Language
69
- */
70
- this.language = 'en';
71
- /**
72
- * Shows the auto-pick button
73
- */
74
- this.autoPick = false;
75
- /**
76
- * Shows the reset button
77
- */
78
- this.resetButton = false;
79
- /**
80
- * Number of ticket controllers
81
- */
82
- this.totalControllers = 1;
83
- /**
84
- * Client custom styling via string
85
- */
86
- this.clientStyling = '';
87
- /**
88
- * Client custom styling via url content
89
- */
90
- this.clientStylingUrlContent = '';
91
- this.limitStylingAppends = false;
92
- this.setClientStyling = () => {
93
- let sheet = document.createElement('style');
94
- sheet.innerHTML = this.clientStyling;
95
- this.stylingContainer.prepend(sheet);
96
- };
97
- this.setClientStylingURL = () => {
98
- let cssFile = document.createElement('style');
99
- setTimeout(() => {
100
- cssFile.innerHTML = this.clientStylingUrlContent;
101
- this.stylingContainer.prepend(cssFile);
102
- }, 1);
103
- };
104
- }
105
- // @TODO fix the `any` type
106
- helperAccordionActionHandler() {
107
- if (this.postMessage) {
108
- window.postMessage({ type: this.eventName }, window.location.href);
109
- }
110
- this.deleteTicketEvent.emit({
111
- ticketId: this.ticketId
112
- });
113
- }
114
- componentDidRender() {
115
- // start custom styling area
116
- if (!this.limitStylingAppends && this.stylingContainer) {
117
- if (this.clientStyling)
118
- this.setClientStyling();
119
- if (this.clientStylingUrlContent)
120
- this.setClientStylingURL();
121
- this.limitStylingAppends = true;
122
- }
123
- // end custom styling area
124
- }
125
- render() {
126
- console.log('ticket id:', this.ticketId);
127
- return (h("div", { class: "LotteryTicketControllerContainer", ref: el => this.stylingContainer = el }, h("helper-accordion", { "header-title": `${translate('ticket', this.language)} ${this.ticketId}`, "header-subtitle": this.ticketDescription, footer: true, "delete-tab": this.totalControllers !== 1, collapsed: !this.last || this.collapsed, language: this.language, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }, h("div", { slot: "accordionContent" }, h("lottery-ticket", { endpoint: this.endpoint, "game-id": this.gameId, "ticket-id": this.ticketId, "number-of-grids": this.numberOfGrids, language: this.language, "reset-button": this.resetButton, "auto-pick": this.autoPick, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent })))));
128
- }
129
- static get style() { return lotteryTicketControllerCss; }
130
- }, [1, "lottery-ticket-controller", {
131
- "endpoint": [513],
132
- "ticketId": [514, "ticket-id"],
133
- "ticketDescription": [513, "ticket-description"],
134
- "gameId": [513, "game-id"],
135
- "postMessage": [516, "post-message"],
136
- "eventName": [513, "event-name"],
137
- "collapsed": [516],
138
- "numberOfGrids": [514, "number-of-grids"],
139
- "last": [516],
140
- "language": [513],
141
- "autoPick": [516, "auto-pick"],
142
- "resetButton": [516, "reset-button"],
143
- "totalControllers": [514, "total-controllers"],
144
- "clientStyling": [513, "client-styling"],
145
- "clientStylingUrlContent": [513, "client-styling-url-content"],
146
- "limitStylingAppends": [32]
147
- }, [[0, "helperAccordionAction", "helperAccordionActionHandler"]]]);
148
- function defineCustomElement() {
149
- if (typeof customElements === "undefined") {
150
- return;
151
- }
152
- const components = ["lottery-ticket-controller", "helper-accordion", "lottery-bullet", "lottery-grid", "lottery-ticket"];
153
- components.forEach(tagName => { switch (tagName) {
154
- case "lottery-ticket-controller":
155
- if (!customElements.get(tagName)) {
156
- customElements.define(tagName, LotteryTicketController);
157
- }
158
- break;
159
- case "helper-accordion":
160
- if (!customElements.get(tagName)) {
161
- defineCustomElement$4();
162
- }
163
- break;
164
- case "lottery-bullet":
165
- if (!customElements.get(tagName)) {
166
- defineCustomElement$3();
167
- }
168
- break;
169
- case "lottery-grid":
170
- if (!customElements.get(tagName)) {
171
- defineCustomElement$2();
172
- }
173
- break;
174
- case "lottery-ticket":
175
- if (!customElements.get(tagName)) {
176
- defineCustomElement$1();
177
- }
178
- break;
179
- } });
180
- }
181
- defineCustomElement();
182
-
183
- export { LotteryTicketController as L, defineCustomElement as d };
184
-
185
- //# sourceMappingURL=lottery-ticket-controller2.js.map