@everymatrix/lottery-game-page 1.43.4 → 1.45.0

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.entry.js","mappings":"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","names":[],"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 +0,0 @@
1
- {"file":"lottery-game-page.js","mappings":";;AAAA;AACA;AACA;AAIA,MAAM,YAAY,GAAG,MAAM;AA6B3B,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACvC,IAAI,MAAM,IAAI,GAAyD,EAAE,CAAC;AAe1E,IAAI,IAAuB,UAAU,KAAK,EAAE,EAAE;AAC9C,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;AAC1D,KAWK;AACL,IAAI,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;;AC/DD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI;AAE/B,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC","names":[],"sources":["../../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v2.15.2 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cssVarShim) {\n // shim css vars\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? scriptElm['data-opts'] || {} : {};\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","import { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"version":3}
@@ -1,128 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-d1baacd4.js';
2
-
3
- const DEFAULT_LANGUAGE = 'en';
4
- const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
5
- const TRANSLATIONS = {
6
- en: {
7
- ticket: 'Ticket',
8
- },
9
- ro: {
10
- ticket: 'Bilet',
11
- },
12
- fr: {
13
- ticket: 'Billet'
14
- },
15
- ar: {
16
- ticket: 'تذكرة',
17
- },
18
- hr: {
19
- ticket: 'Listić',
20
- }
21
- };
22
- const translate = (key, customLang) => {
23
- const lang = customLang;
24
- return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
25
- };
26
-
27
- 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)}";
28
-
29
- const LotteryTicketController = class {
30
- constructor(hostRef) {
31
- registerInstance(this, hostRef);
32
- this.deleteTicketEvent = createEvent(this, "deleteTicket", 7);
33
- /**
34
- * Endpoint URL for the source of data (NorWAy standard)
35
- */
36
- this.endpoint = '';
37
- /**
38
- * Ticket number
39
- */
40
- this.ticketId = 1;
41
- /**
42
- * Activates postMessages as events for actions from the widget
43
- */
44
- this.postMessage = false;
45
- /**
46
- * Name of the event emitter by the action button
47
- */
48
- this.eventName = 'deleteTicketAction';
49
- /**
50
- * Collapsed
51
- */
52
- this.collapsed = true;
53
- /**
54
- * Number of grids?
55
- */
56
- this.numberOfGrids = 1;
57
- /**
58
- * This toggles if the last ticket added should be expanded or not
59
- */
60
- this.last = false;
61
- /**
62
- * Language
63
- */
64
- this.language = 'en';
65
- /**
66
- * Shows the auto-pick button
67
- */
68
- this.autoPick = false;
69
- /**
70
- * Shows the reset button
71
- */
72
- this.resetButton = false;
73
- /**
74
- * Number of ticket controllers
75
- */
76
- this.totalControllers = 1;
77
- /**
78
- * Client custom styling via string
79
- */
80
- this.clientStyling = '';
81
- /**
82
- * Client custom styling via url content
83
- */
84
- this.clientStylingUrlContent = '';
85
- this.limitStylingAppends = false;
86
- this.setClientStyling = () => {
87
- let sheet = document.createElement('style');
88
- sheet.innerHTML = this.clientStyling;
89
- this.stylingContainer.prepend(sheet);
90
- };
91
- this.setClientStylingURL = () => {
92
- let cssFile = document.createElement('style');
93
- setTimeout(() => {
94
- cssFile.innerHTML = this.clientStylingUrlContent;
95
- this.stylingContainer.prepend(cssFile);
96
- }, 1);
97
- };
98
- }
99
- // @TODO fix the `any` type
100
- helperAccordionActionHandler() {
101
- if (this.postMessage) {
102
- window.postMessage({ type: this.eventName }, window.location.href);
103
- }
104
- this.deleteTicketEvent.emit({
105
- ticketId: this.ticketId
106
- });
107
- }
108
- componentDidRender() {
109
- // start custom styling area
110
- if (!this.limitStylingAppends && this.stylingContainer) {
111
- if (this.clientStyling)
112
- this.setClientStyling();
113
- if (this.clientStylingUrlContent)
114
- this.setClientStylingURL();
115
- this.limitStylingAppends = true;
116
- }
117
- // end custom styling area
118
- }
119
- render() {
120
- console.log('ticket id:', this.ticketId);
121
- 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 })))));
122
- }
123
- };
124
- LotteryTicketController.style = lotteryTicketControllerCss;
125
-
126
- export { LotteryTicketController as lottery_ticket_controller };
127
-
128
- //# sourceMappingURL=lottery-ticket-controller.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"lottery-ticket-controller.entry.js","mappings":"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","names":[],"sources":["../lottery-ticket-controller/dist/collection/utils/locale.utils.js","../lottery-ticket-controller/dist/collection/components/lottery-ticket-controller/lottery-ticket-controller.css?tag=lottery-ticket-controller&encapsulation=shadow","../lottery-ticket-controller/dist/collection/components/lottery-ticket-controller/lottery-ticket-controller.js"],"sourcesContent":["const DEFAULT_LANGUAGE = 'en';\nconst SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];\nconst TRANSLATIONS = {\n en: {\n ticket: 'Ticket',\n },\n ro: {\n ticket: 'Bilet',\n },\n fr: {\n ticket: 'Billet'\n },\n ar: {\n ticket: 'تذكرة',\n },\n hr: {\n ticket: 'Listić',\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",":host {\n font-family: \"Roboto\", system-ui, -apple-system, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\";\n font-size: 0.8rem;\n}\n\n*,\n*::before,\n*::after {\n margin: 0;\n padding: 0;\n list-style: none;\n outline: none;\n box-sizing: border-box;\n}\n\n/* Chrome, Safari, Edge, Opera */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=number] {\n -moz-appearance: textfield;\n}\n\n.player-account-gaming-limits-popup-2 {\n background: var(--emfe-w-color-black, #000000);\n color: var(--emfe-w-color-white, #000);\n}\n\n.Title {\n font-weight: 800;\n font-size: 18px;\n}\n\nbutton {\n display: block;\n font-size: 0.75rem;\n padding: 12px 0;\n border: 0;\n border-radius: 2px;\n cursor: pointer;\n}\nbutton.PrimaryButtonStyle {\n font-size: 14px;\n color: #fff;\n background: #7ac317;\n}\nbutton.SecondaryButtonStyle {\n border: 1px solid #999;\n color: #666;\n background: #fff;\n}\n\n.LinkButton {\n display: inline;\n padding: 0;\n color: #3366CC;\n text-decoration: underline;\n background-color: rgba(0, 0, 0, 0);\n}\n\n.ResultIconWrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 12px 0;\n}\n.ResultIconWrapper svg {\n height: auto;\n width: 60px;\n margin: 12px;\n}\n.ResultIconWrapper p {\n color: #666;\n}\n\n.Overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.ModalContainer {\n position: fixed;\n top: 30vh;\n width: 320px;\n height: auto;\n padding: 18px 14px;\n background: #fff;\n border-radius: 4px;\n}\n\n.InitialWrapper {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.AdditionalInformation {\n margin: 10px 0;\n font-size: 14px;\n}\n\n.TermsConditions {\n font-size: 12px;\n}\n\n.ExpandButton {\n font-size: 14px;\n background-color: #fff;\n border: 0;\n padding: 0;\n margin-top: -10px;\n color: #999;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.ExpandButton svg {\n width: 28px;\n height: auto;\n margin-left: -4px;\n}\n\n.LeftAlign {\n text-align: left;\n font-size: 16px;\n}\n\n.CenterAlign {\n text-align: center;\n}\n\n.SetLimitSection {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.DepositTextSection {\n display: flex;\n justify-content: space-between;\n}\n\n.DepositInputSection {\n height: 32px;\n display: flex;\n gap: 4px;\n}\n\n.DepositInput {\n flex-grow: 1;\n padding: 0 6px;\n}\n\n.SubmitDepositButton {\n flex-grow: 1;\n font-size: 0.75rem;\n padding: 0;\n}\n.SubmitDepositButton[disabled] {\n align-items: center;\n color: #ccc;\n cursor: not-allowed;\n background: #fff;\n border: #ccc 1px solid;\n}\n\n.Hidden {\n display: none;\n}\n\n.Extended {\n transform: rotate(180deg);\n}","import { Component, h, Listen, Prop, Event, State } from '@stencil/core';\nimport '@everymatrix/helper-accordion';\nimport '@everymatrix/lottery-ticket';\nimport { translate } from '../../utils/locale.utils';\nexport class LotteryTicketController {\n constructor() {\n /**\n * Endpoint URL for the source of data (NorWAy standard)\n */\n this.endpoint = '';\n /**\n * Ticket number\n */\n this.ticketId = 1;\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 = 'deleteTicketAction';\n /**\n * Collapsed\n */\n this.collapsed = true;\n /**\n * Number of grids?\n */\n this.numberOfGrids = 1;\n /**\n * This toggles if the last ticket added should be expanded or not\n */\n this.last = false;\n /**\n * Language\n */\n this.language = 'en';\n /**\n * Shows the auto-pick button\n */\n this.autoPick = false;\n /**\n * Shows the reset button\n */\n this.resetButton = false;\n /**\n * Number of ticket controllers\n */\n this.totalControllers = 1;\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.limitStylingAppends = false;\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 // @TODO fix the `any` type\n helperAccordionActionHandler() {\n if (this.postMessage) {\n window.postMessage({ type: this.eventName }, window.location.href);\n }\n this.deleteTicketEvent.emit({\n ticketId: this.ticketId\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 render() {\n console.log('ticket id:', this.ticketId);\n return (h(\"div\", { class: \"LotteryTicketControllerContainer\", ref: el => this.stylingContainer = el },\n 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 },\n h(\"div\", { slot: \"accordionContent\" },\n 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 })))));\n }\n static get is() { return \"lottery-ticket-controller\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"lottery-ticket-controller.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"lottery-ticket-controller.css\"]\n }; }\n static get properties() { return {\n \"endpoint\": {\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\": \"Endpoint URL for the source of data (NorWAy standard)\"\n },\n \"attribute\": \"endpoint\",\n \"reflect\": true,\n \"defaultValue\": \"''\"\n },\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\": \"Ticket number\"\n },\n \"attribute\": \"ticket-id\",\n \"reflect\": true,\n \"defaultValue\": \"1\"\n },\n \"ticketDescription\": {\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\": \"Ticket header description\"\n },\n \"attribute\": \"ticket-description\",\n \"reflect\": true\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\": \"ID of the lottery game\"\n },\n \"attribute\": \"game-id\",\n \"reflect\": true\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\": true,\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\": true,\n \"defaultValue\": \"'deleteTicketAction'\"\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\": true,\n \"defaultValue\": \"true\"\n },\n \"numberOfGrids\": {\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 grids?\"\n },\n \"attribute\": \"number-of-grids\",\n \"reflect\": true,\n \"defaultValue\": \"1\"\n },\n \"last\": {\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\": \"This toggles if the last ticket added should be expanded or not\"\n },\n \"attribute\": \"last\",\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 \"autoPick\": {\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\": \"Shows the auto-pick button\"\n },\n \"attribute\": \"auto-pick\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"resetButton\": {\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\": \"Shows the reset button\"\n },\n \"attribute\": \"reset-button\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"totalControllers\": {\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 ticket controllers\"\n },\n \"attribute\": \"total-controllers\",\n \"reflect\": true,\n \"defaultValue\": \"1\"\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 \"limitStylingAppends\": {}\n }; }\n static get events() { return [{\n \"method\": \"deleteTicketEvent\",\n \"name\": \"deleteTicket\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }]; }\n static get listeners() { return [{\n \"name\": \"helperAccordionAction\",\n \"method\": \"helperAccordionActionHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }]; }\n}\n"],"version":3}
@@ -1,229 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-d1baacd4.js';
2
-
3
- const DEFAULT_LANGUAGE = 'en';
4
- const SUPPORTED_LANGUAGES = ['ro', 'en', 'hr'];
5
- const TRANSLATIONS = {
6
- en: {
7
- loading: 'Loading, please wait ...',
8
- error: 'It was an error while trying to fetch the data',
9
- grid: 'Grid',
10
- multiplier: 'Multiplier',
11
- numberOfDraws: 'Number of draws',
12
- wagerPerDraw: 'Wager per draw',
13
- resetButton: 'Reset',
14
- autoButton: 'I feel lucky'
15
- },
16
- ro: {
17
- loading: 'Se incarca, va rugam asteptati ...',
18
- error: 'A fost o eroare in timp ce asteptam datele',
19
- grid: 'Grid',
20
- multiplier: 'Multiplicator',
21
- numberOfDraws: 'Numarul de extrageri',
22
- wagerPerDraw: 'Pariul per extragere',
23
- resetButton: 'Reseteaza',
24
- autoButton: 'Ma simt norocos'
25
- },
26
- fr: {
27
- loading: 'Loading, please wait ...',
28
- error: 'It was an error while trying to fetch the data',
29
- grid: 'Grid',
30
- multiplier: 'Multiplier',
31
- numberOfDraws: 'Number of draws',
32
- wagerPerDraw: 'Wager per draw',
33
- resetButton: 'Reset',
34
- autoButton: 'I feel lucky'
35
- },
36
- ar: {
37
- loading: 'Loading, please wait ...',
38
- error: 'It was an error while trying to fetch the data',
39
- grid: 'Grid',
40
- multiplier: 'Multiplier',
41
- numberOfDraws: 'Number of draws',
42
- wagerPerDraw: 'Wager per draw',
43
- resetButton: 'Reset',
44
- autoButton: 'I feel lucky'
45
- },
46
- hr: {
47
- loading: 'Učitavanje, molimo pričekajte ...',
48
- error: 'Došlo je do pogreške prilikom pokušaja dohvaćanja podataka',
49
- grid: 'Tablica',
50
- multiplier: 'Multiplikator',
51
- numberOfDraws: 'Broj izvlačenja',
52
- wagerPerDraw: 'Ulog po izvlačenju',
53
- resetButton: 'Resetiraj',
54
- autoButton: 'Osjećam se sretno'
55
- }
56
- };
57
- const translate = (key, customLang) => {
58
- const lang = customLang;
59
- return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
60
- };
61
-
62
- const lotteryTicketCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.TicketTitle{font-size:16px;font-weight:bold}.ButtonContainer{display:flex;justify-content:flex-end}.Toggle{cursor:pointer;margin-top:20px;display:inline-block}.ToggleSwitch{display:inline-block;background:#707070;border-radius:16px;width:58px;height:24px;position:relative;vertical-align:middle;transition:background 0.25s}.ToggleSwitch:before,.ToggleSwitch:after{content:\"\"}.ToggleSwitch:before{display:block;background:linear-gradient(to bottom, #fff 0%, #F1F1F1 100%);border-radius:50%;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.25);width:16px;height:16px;position:absolute;top:4px;left:4px;transition:left 0.25s}.Toggle:hover .ToggleSwitch:before{background:linear-gradient(to bottom, #fff 0%, #fff 100%);box-shadow:0 0 0 1px rgba(0, 0, 0, 0.5)}.ToggleCheckbox:checked+.ToggleSwitch{background:#00ABA4}.ToggleCheckbox:checked+.ToggleSwitch:before{left:38px}.ToggleCheckbox{position:absolute;visibility:hidden}.Label{margin-right:5px;position:relative;top:2px;font-size:14px;font-weight:lighter;color:#000}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.NumberInput,.WagerInput{margin-top:10px;display:inline-flex;align-items:center}.NumberInput,.NumberInput *{box-sizing:border-box}.NumberInput button{cursor:pointer;outline:none;-webkit-appearance:none;border:none;align-items:center;justify-content:center;height:20px;position:relative}.NumberInput button:after{display:inline-block;position:absolute;transform:translate(-50%, -50%) rotate(180deg);align-items:center;text-align:center}.NumberInput button.Plus:after{transform:translate(-50%, -50%) rotate(0deg);width:30px;display:inline-flex;align-items:center;text-align:center}.NumberInput input[type=number],.WagerInput input[type=number]{max-width:50px;display:inline-flex;align-items:center;padding:4px 10px;text-align:center}.NumberInput input[type=number] .WagerInputTitle,.WagerInput input[type=number] .WagerInputTitle{font-size:14px;color:#000;padding:10px}.InputDefault{background-color:#F1F1F1;border-radius:4px;padding:5px;border:solid 1px #D4D4D4;color:#707070}.AutoButton{cursor:pointer;display:inline-block;border-radius:4px;padding:8px 20px;width:max-content;margin:5px 0;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}.AutoButton:active{background:#00958f;color:#FFF}.ResetButton{cursor:pointer;display:inline-block;border-radius:4px;padding:8px 20px;width:max-content;margin:5px 0;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}.ResetButton:hover{background:#FF6536;border:1px solid #FF3D00}.TicketGridBullets{background:#f1f1f1;border-radius:4px;padding:20px;margin-top:5px}.TicketGridBullets .TicketGridTitle{margin-top:0px}.Minus{border-radius:4px;width:30px;height:24px !important;margin-right:10px;color:#FFF;background:#009993}.Plus{border-radius:4px;width:30px;height:24px !important;margin-left:10px;color:#FFF;background:#009993}.SelectWrapper{width:auto;padding:5px;margin:0 auto;border:1px solid #ccc;border-radius:5px;position:relative}.SelectButton,.SelectOptions li{display:flex;align-items:center;cursor:pointer}.SelectButton{display:flex;padding:0 5px;border-radius:7px;align-items:center;justify-content:space-between;font-size:14px}.SelectButton span:first-child{padding-right:10px}.SelectExpand{transition:transform 0.3s linear;font-size:12px}.SelectActive .SelectExpand{transform:rotate(180deg)}.SelectContent{display:none;padding:5px;border-radius:7px}.SelectWrapper.SelectActive .SelectContent{width:100%;display:block;position:absolute;left:0;top:32px;padding:0;border:1px solid #ccc;overflow:hidden;background:#fff}.SelectContent .SelectOptions{max-height:100px;margin:0;overflow-y:auto;padding:0}.SelectContent .SelectOptions .SelectedValue{background-color:#009993;color:#fff}.SelectOptions::-webkit-scrollbar{width:7px}.SelectOptions::-webkit-scrollbar-track{background:#f1f1f1;border-radius:25px}.SelectOptions::-webkit-scrollbar-thumb{background:#ccc;border-radius:25px}.SelectOptions li{height:20px;padding:0 13px;font-size:14px}.SelectOptions li:hover{background:#f2f2f2}";
63
-
64
- const LotteryTicket = class {
65
- constructor(hostRef) {
66
- registerInstance(this, hostRef);
67
- this.ticketCompleted = createEvent(this, "ticketCompleted", 7);
68
- this.autoSelection = createEvent(this, "autoSelection", 7);
69
- this.resetSelection = createEvent(this, "resetSelection", 7);
70
- this.stakeChange = createEvent(this, "stakeChange", 7);
71
- this.multiplierChange = createEvent(this, "multiplierChange", 7);
72
- /**
73
- * Number of grids of a ticket
74
- */
75
- this.numberOfGrids = 1;
76
- /**
77
- * Option to have the ticket registered for multiple draws
78
- */
79
- this.multipleDraws = true;
80
- /**
81
- * Shows the reset button
82
- */
83
- this.resetButton = false;
84
- /**
85
- * Shows the auto-pick button
86
- */
87
- this.autoPick = false;
88
- /**
89
- * Language
90
- */
91
- this.language = 'en';
92
- /**
93
- * Client custom styling via string
94
- */
95
- this.clientStyling = '';
96
- /**
97
- * Client custom styling via url content
98
- */
99
- this.clientStylingUrlContent = '';
100
- this.multiplier = false;
101
- this.numberOfDraws = 1;
102
- this.isLoading = true;
103
- this.hasErrors = false;
104
- this.ticketDone = false;
105
- this.isCustomSelect = false;
106
- this.amountInfo = {};
107
- this.limitStylingAppends = false;
108
- this.setClientStyling = () => {
109
- let sheet = document.createElement('style');
110
- sheet.innerHTML = this.clientStyling;
111
- this.stylingContainer.prepend(sheet);
112
- };
113
- this.setClientStylingURL = () => {
114
- let cssFile = document.createElement('style');
115
- setTimeout(() => {
116
- cssFile.innerHTML = this.clientStylingUrlContent;
117
- this.stylingContainer.prepend(cssFile);
118
- }, 1);
119
- };
120
- }
121
- /**
122
- * @TODO find a better way to implement click outside the custom select, so that we don't have to use the 'data-cluster' attribute on each element
123
- */
124
- checkForClickOutside(ev) {
125
- if (ev.composedPath()[0].getAttribute('data-cluster') !== 'SelectComponent') {
126
- this.isCustomSelect = false;
127
- }
128
- }
129
- connectedCallback() {
130
- let url = new URL(`${this.endpoint}/games/${this.gameId}`);
131
- fetch(url.href)
132
- .then((response) => {
133
- if (response.ok) {
134
- return response.json();
135
- }
136
- else {
137
- // Throw error
138
- this.hasErrors = true;
139
- }
140
- })
141
- .then((data) => {
142
- this.isLoading = false;
143
- this.gameData = data;
144
- this.grids = [...Array(this.gameData.type.boards.length).keys()];
145
- this.amountInfo = this.gameData.type.stakes[0]; // initial value for select
146
- })
147
- .catch((err) => {
148
- this.isLoading = false;
149
- this.hasErrors = true;
150
- console.error('Error!', err);
151
- });
152
- }
153
- componentDidRender() {
154
- // start custom styling area
155
- if (!this.limitStylingAppends && this.stylingContainer) {
156
- if (this.clientStyling)
157
- this.setClientStyling();
158
- if (this.clientStylingUrlContent)
159
- this.setClientStylingURL();
160
- this.limitStylingAppends = true;
161
- }
162
- // end custom styling area
163
- }
164
- multiplierChangeHandler(e) {
165
- this.multiplier = e.target ? e.target.checked : false;
166
- this.multiplierChange.emit(this.multiplier);
167
- }
168
- drawsChangeHandler(event) {
169
- this.ticket = Object.assign(Object.assign({}, this.ticket), { draws: event });
170
- this.ticketCompleted.emit(this.ticket);
171
- }
172
- gridFilledHandler(event) {
173
- this.ticket = Object.assign(Object.assign({}, event.detail), { draws: this.numberOfDraws });
174
- this.ticketDone = true;
175
- this.ticketCompleted.emit(this.ticket);
176
- }
177
- toggleAutoSelection() {
178
- this.ticketDone = true;
179
- this.autoSelection.emit(this.ticketId);
180
- }
181
- toggleResetSelection() {
182
- this.ticketDone = false;
183
- this.resetSelection.emit(this.ticketId);
184
- }
185
- changeStake(ticketid, amount) {
186
- this.stakeChange.emit({
187
- ticketId: ticketid,
188
- stake: amount
189
- });
190
- }
191
- toggleClass() {
192
- this.isCustomSelect = !this.isCustomSelect;
193
- }
194
- setDropdownItem(item) {
195
- this.amountInfo = {
196
- value: item.value,
197
- currency: item.currency
198
- };
199
- this.isCustomSelect = false;
200
- this.changeStake(this.ticketId, item.amount);
201
- }
202
- render() {
203
- if (this.isLoading) {
204
- return (h("div", null, h("p", null, translate('loading', this.language))));
205
- }
206
- else {
207
- if (this.hasErrors) {
208
- return (h("div", null, h("p", null, translate('error', this.language))));
209
- }
210
- else {
211
- const { type } = this.gameData;
212
- return (h("div", { class: "TicketContainer", ref: el => this.stylingContainer = el }, h("p", { class: "TicketTitle" }, this.gameData.name), this.resetButton && this.ticketDone &&
213
- h("div", { class: "ButtonContainer" }, h("a", { class: "ResetButton", onClick: () => this.toggleResetSelection() }, translate('resetButton', this.language))), this.autoPick && !this.ticketDone &&
214
- h("div", { class: "ButtonContainer" }, h("a", { class: "AutoButton", onClick: () => this.toggleAutoSelection() }, translate('autoButton', this.language))), this.grids.map((_, index) => h("div", { class: "TicketGridBullets" }, h("p", { class: "TicketGridTitle" }, translate('grid', this.language), " ", index + 1), h("lottery-grid", { "grid-index": index, "maximum-allowed": type.boards[index].maximumAllowed, "minimum-allowed": type.boards[index].minimumAllowed, "total-numbers": type.boards[index].highNumber - type.boards[index].lowNumber + 1, selectable: true, "reset-button": true, "auto-pick": true, "game-id": this.gameId, "ticket-id": this.ticketId, language: this.language, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))), type.multiplier &&
215
- h("div", null, h("label", { class: "Toggle" }, h("label", { class: "Label" }, translate('multiplier', this.language), ": "), h("input", { class: "ToggleCheckbox", type: "checkbox", onInput: (e) => this.multiplierChangeHandler(e) }), h("div", { class: "ToggleSwitch" }))), this.multipleDraws &&
216
- h("div", { class: "TicketDraws" }, h("label", { class: "Label" }, translate('numberOfDraws', this.language), ": "), h("div", { class: "NumberInput" }, h("button", { onClick: () => this.numberOfDraws > 1 ? this.numberOfDraws-- : this.numberOfDraws = 1, class: "Minus" }, "-"), h("input", { class: "InputDefault", min: "1", value: this.numberOfDraws, type: "number" }), h("button", { onClick: () => this.numberOfDraws++, class: "Plus" }, "+"))), h("div", null, h("label", { class: "Label" }, translate('wagerPerDraw', this.language), ": "), h("div", { class: "WagerInput" }, type.stakes.length > 1 ?
217
- (h("div", { "data-cluster": "SelectComponent", class: this.isCustomSelect ? "SelectWrapper SelectActive" : "SelectWrapper" }, h("div", { "data-cluster": "SelectComponent", class: "SelectButton", onClick: () => this.toggleClass() }, h("span", { "data-cluster": "SelectComponent" }, this.amountInfo.value, " ", this.amountInfo.currency), h("span", { "data-cluster": "SelectComponent", class: "SelectExpand" }, "\u25BC")), h("div", { "data-cluster": "SelectComponent", class: "SelectContent" }, h("ul", { "data-cluster": "SelectComponent", class: "SelectOptions" }, type.stakes.map((item) => h("li", { "data-cluster": "SelectComponent", class: this.amountInfo.value == item.value ? 'SelectedValue' : '', value: item.value, onClick: () => this.setDropdownItem(item) }, item.value, " ", item.currency)))))) : (h("div", null, h("input", { min: "1", value: type.stakes[0].amount, type: "number", disabled: true }), h("p", { class: "WagerInputTitle" }, type.stakes[0].currency)))))));
218
- }
219
- }
220
- }
221
- static get watchers() { return {
222
- "numberOfDraws": ["drawsChangeHandler"]
223
- }; }
224
- };
225
- LotteryTicket.style = lotteryTicketCss;
226
-
227
- export { LotteryTicket as lottery_ticket };
228
-
229
- //# sourceMappingURL=lottery-ticket.entry.js.map