@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,2 +0,0 @@
1
- import{r as t,c as e,g as i,h as a,a as r}from"./p-e765c7d9.js";const s="en";const n=["ro","en","fr","ar","hr"];const o={en:{error:"Error",title:"Chrono",backButton:"Back",lobbyButton:"Lobby",prize:"Prize",winUpTo:"Win up to",nextDraw:"Next draw in: ",buy:"Buy tickets",viewLatest:"View latest results",createTicket:"Create Ticket",modalSuccess:"Purchase successfully completed!",deleteTicketModalTitle:"Delete Ticket",deleteTicketModalText:"Are you sure you want to delete this ticket?",deleteTicketModalCancel:"Cancel",deleteTicketModalConfirm:"Delete",orderSummaryTitle:"Order Summary",orderSummaryTickets:"Ticket",orderSummaryTotal:"Total",orderSummarySubmit:"Submit",lastDrawResultsTitle:"Last Draw Results",modalLogin:"Please login to submit a ticket"},ro:{error:"Eroare",title:"Loto 6/49",backButton:"Inapoi",lobbyButton:"Lobby",prize:"MARELE JACKPOT OMG",winUpTo:"Castiga pana la",nextDraw:"Urmatoarea extragere:",buy:"Cumpara bilet",viewLatest:"Ultimile extrageri",createTicket:"Creeaza bilet",modalSuccess:"Achizitie efectuata cu succes",deleteTicketModalTitle:"Sterge biletul",deleteTicketModalText:"Esti sigur ca vrei sa stergi acest bilet?",deleteTicketModalCancel:"Anuleaza",deleteTicketModalConfirm:"Sterge",orderSummaryTitle:"Rezumat comanda",orderSummaryTickets:"Bilet",orderSummaryTotal:"Total",orderSummarySubmit:"Trimite",lastDrawResultsTitle:"Cele mai recente extrageri",modalLogin:"Please login to submit a ticket"},fr:{error:"Error",title:"Chrono",backButton:"Back",lobbyButton:"Lobby",prize:"Prize",winUpTo:"Win up to",nextDraw:"Next draw in: ",buy:"Buy tickets",viewLatest:"View latest results",createTicket:"Create Ticket",modalSuccess:"Purchase successfully completed!",deleteTicketModalTitle:"Delete Ticket",deleteTicketModalText:"Are you sure you want to delete this ticket?",deleteTicketModalCancel:"Cancel",deleteTicketModalConfirm:"Delete",orderSummaryTitle:"Order Summary",orderSummaryTickets:"Ticket",orderSummaryTotal:"Total",orderSummarySubmit:"Submit",lastDrawResultsTitle:"Résultats du dernier tirage",modalLogin:"Please login to submit a ticket"},ar:{error:"خطأ",title:"كرونو",backButton:"خلف",lobbyButton:"ردهة",prize:"جائزة",winUpTo:"الفوز بما يصل الى",nextDraw:"السحب التالي:",buy:"اشتري تذاكر",viewLatest:"عرض أحدث النتائج",createTicket:"إنشاء تذكرة",modalSuccess:"!سيتم الشراء بنجاح قريبًا",deleteTicketModalTitle:"حذف التذكرة",deleteTicketModalText:"هل أنت متأكد أنك تريد حذف هذه التذكرة؟",deleteTicketModalCancel:"يلغي",deleteTicketModalConfirm:"حذف",orderSummaryTitle:"ملخص الطلب",orderSummaryTickets:"تذكرة",orderSummaryTotal:"المجموع",orderSummarySubmit:"يُقدِّم",lastDrawResultsTitle:"نتائج آخر سحب",modalLogin:"الرجاء تسجيل الدخول لتقديم تذكرة"},hr:{error:"Greška",title:"Krono",backButton:"Nazad",lobbyButton:"Lobby",prize:"Nagrada",winUpTo:"Osvoji do",nextDraw:"Sljedeće izvlačenje za: ",buy:"Uplati listić",viewLatest:"Pogledajte najnovije rezultate",createTicket:"Uplati listić",modalSuccess:"Kupnja uspješno obavljena!",deleteTicketModalTitle:"Izbriši listić",deleteTicketModalText:"Are you sure you want to delete this ticket?",deleteTicketModalCancel:"Otkaži",deleteTicketModalConfirm:"Izbriši",orderSummaryTitle:"Sažetak narudžbe",orderSummaryTickets:"Listić",orderSummaryTotal:"Ukupno",orderSummarySubmit:"Podnijeti",lastDrawResultsTitle:"Rezultati posljednjeg izvlačenja",modalLogin:"Molimo prijavite se da uplatite listić"}};const l=(t,e)=>{const i=e;return o[i!==undefined&&n.includes(i)?i:s][t]};const c=t=>!!(t.toLowerCase().match(/android/i)||t.toLowerCase().match(/blackberry|bb/i)||t.toLowerCase().match(/iphone|ipad|ipod/i)||t.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));const d='@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap");:host{display:block;font-family:"Roboto", sans-serif}.GamePage .GridBanner{background-color:#009993;background-repeat:no-repeat;background-position:center;color:#111;padding:0 20px 10px;height:220px;display:flex;flex-direction:column;justify-content:space-between}.GamePage .GridBanner .BannerButtonsWrapper{display:flex;justify-content:space-between;padding-top:16px}.GamePage .GridBanner .BannerButtonsWrapper .BannerBackButton,.GamePage .GridBanner .BannerButtonsWrapper .BannerLobbyButton{background:#fff;border:1px solid #D4D4D4;border-radius:4px;padding:7px 15px;font-size:12px;text-transform:uppercase;width:80px;cursor:pointer}.GamePage .GridBanner .GridBannerArea{padding-top:30px;display:flex;flex-direction:column;align-items:center}.GamePage .TotalWinnings{color:#000;font-size:18px;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;text-transform:uppercase}.GamePage .TotalWinnings span{font-size:18px;font-weight:700}.GamePage .NextDraw{color:#00958f;font-size:24px;font-weight:600;margin:0 auto;text-align:center;text-transform:uppercase;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:4px}.GamePage .NextDraw .BannerText{font-weight:400;font-size:18px;text-transform:uppercase;padding:0;margin:15px 0 0 0}.GamePage .NextDraw .BannerCountdown{font-size:22px;color:#00958f;display:flex;gap:20px}.GamePage .Tabs{display:flex;justify-content:center;gap:10px}.GamePage .Tabs .TabButton{border-radius:4px;cursor:pointer;padding:8px 0;width:50%;max-width:200px;border:1px solid #00958f;background:#00958f;color:#fff;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.GamePage .Tabs .TabButton.Active{color:#00958f;background:#F1F1F1;border:1px solid #F1F1F1}.LastDrawResultsTitle{color:#009993;padding:25px 0 10px 0;text-align:center;border-radius:4px;text-transform:uppercase;font-size:16px;font-weight:600;margin:0}.NextDrawWrapper{padding:10px 15px;background:#F1F1F1;background:linear-gradient(0deg, #f1f1f1 0%, rgba(253, 187, 45, 0) 100%)}.NextDrawWrapper .BannerText{font-size:16px;font-weight:700;text-align:center}.NextDrawWrapper .BannerCountdown{font-size:22px;display:flex;gap:8px;color:#009993;font-weight:bolder;justify-content:center}.GamePageContent{padding:15px;max-width:1200px;margin:0 auto}.GameDetails{padding-bottom:10px;margin-bottom:20px}.CreateNewTicket{background:#004D4A;height:100px;width:100%;display:flex;margin-top:10px;flex-direction:column;justify-content:center;align-items:center}.CreateNewTicket button{cursor:pointer;display:inline-block;border-radius:50%;width:40px;height:40px;margin:5px;border:1px solid #FFF;background:#FFF;color:#004D4A;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.CreateNewTicket button:hover{background:#F1F1F1}.CreateNewTicket span{display:inline-block;font-size:12px;text-align:center;margin:0 auto;color:#FFF}.OrderSummary{min-width:200px;border-radius:4px;display:flex;flex-direction:column;justify-content:center;margin-top:20px;background:#fff}.OrderSummary .OrderSummaryTitle{font-size:16px;color:#009993;text-transform:uppercase;text-align:center}.OrderSummary .Ticket{display:inline-block;color:#000;font-size:14px;height:50px;line-height:50px;margin-left:15px}.OrderSummary .Ticket span{text-align:right}.OrderSummary hr{border:none;border-top:1px double #D4D4D4;color:#D4D4D4;width:100%}.OrderSummary .Total{display:inline-block;color:#000;font-size:14px;height:50px;line-height:50px;margin-left:15px}.OrderSummary .Total span{text-align:right}.ButtonWrapper{display:flex;align-items:center;justify-content:center}.ButtonWrapper .Button{cursor:pointer;border-radius:4px;padding:8px 60px;width:max-content;margin:5px;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0;background:#009993;border:1px solid #009993;color:#FFF}.ButtonWrapper .Button:hover{background:#00ABA4}.ButtonWrapper .Button.ButtonDisabled{pointer-events:none;background:#ccc;border:1px solid #ccc}.SubmitModalSuccess{text-align:center;font-size:18px;padding:20px}.DeleteTicketModalWrapper{padding:20px;text-align:center}.DeleteTicketModalWrapper .DeleteTicketModalTitle{font-size:16px;color:#00958f;font-weight:400;text-transform:uppercase;margin:20px 0 40px}.DeleteTicketModalWrapper .DeleteTicketModalText{font-size:14px;color:#000;line-height:22px;margin-bottom:40px}.DeleteTicketModalWrapper .DeleteTicketModalButtons{display:flex;gap:10px;justify-content:center}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalConfirm{cursor:pointer;border-radius:4px;padding:8px 25px;width:max-content;margin:5px;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0;background:#FF3D00;border:1px solid #FF3D00;color:#FFF}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalConfirm:hover{background:#FF6536;border:1px solid #FF3D00}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalCancel{cursor:pointer;width:max-content;border-radius:4px;padding:10px 25px;margin:5px;border:1px solid #00958f;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.DeleteTicketModalWrapper .DeleteTicketModalButtons .DeleteTicketModalCancel:hover{background:#F1F1F1}@media (min-width: 1200px){.GamePageContent .TicketsWrapper{float:left;width:49%}.GamePageContent .GameDetails{float:right;width:49%}.GamePageContent .OrderSummary{float:right;width:49%}}';const p=class{constructor(i){t(this,i);this.goBackEvent=e(this,"goBackEvent",7);this.goToLobbyEvent=e(this,"goToLobbyEvent",7);this.language="en";this.autoPick=false;this.resetButton=false;this.clientStyling="";this.clientStylingurl="";this.clientStylingUrlContent="";this.tickets=[];this.tabIndex=0;this.hasErrors=false;this.totalAmount=0;this.successVisible=false;this.deleteVisible=false;this.latestDraw={};this.totalWinningsAmount=0;this.isLoggedIn=false;this.loginModalVisible=false;this.limitStylingAppends=false;this.userAgent=window.navigator.userAgent;this.multiplier=false;this.quickPick=false;this.isMobile=c(this.userAgent);this.setClientStyling=()=>{let t=document.createElement("style");t.innerHTML=this.clientStyling;this.stylingContainer.prepend(t)};this.setClientStylingURL=()=>{let t=new URL(this.clientStylingurl);let e=document.createElement("style");fetch(t.href).then((t=>t.text())).then((t=>{this.clientStylingUrlContent=t;e.innerHTML=t;setTimeout((()=>{this.stylingContainer.prepend(e)}),1)})).catch((t=>{console.log("error ",t)}))}}connectedCallback(){this.getGameDetails();this.getDraws();if(this.sessionId){this.isLoggedIn=true}}componentDidRender(){if(!this.limitStylingAppends&&this.stylingContainer){if(this.clientStyling)this.setClientStyling();if(this.clientStylingurl)this.setClientStylingURL();this.limitStylingAppends=true}}countdownLogic(t){this.interval=setInterval((()=>{this.daysRemaining=Math.floor((Date.parse(t)-(new Date).getTime())/(1e3*60*60*24));this.hoursRemaining=Math.floor((Date.parse(t)-(new Date).getTime())/(1e3*60*60)-this.daysRemaining*24);this.minutesRemaining=Math.floor((Date.parse(t)-(new Date).getTime())/(1e3*60)-this.daysRemaining*24*60-this.hoursRemaining*60);this.secondsRemaining=Math.floor((Date.parse(t)-(new Date).getTime())/1e3-this.daysRemaining*24*60*60-this.hoursRemaining*60*60-this.minutesRemaining*60)}),1e3)}disconnectedCallback(){clearInterval(this.interval)}getGameDetails(){let t=new URL(`${this.endpoint}/games/${this.gameId}`);fetch(t.href).then((t=>{if(t.status>=300){this.hasErrors=true;throw new Error("There was an error while fetching the data")}return t.json()})).then((t=>{this.gameData=t;this.basicStake=this.gameData.type.stakes[0].amount;let e=this.gameData.draws.filter((t=>!t.winningNumbers));e.length>0&&(this.nextDraw=e[0].id);this.createNewTicket()})).catch((t=>{this.hasErrors=true;console.log("Error",t)}))}calculateTotalAmount(){const{currency:t}=this.gameData.type.stakes[0];this.totalAmount=0;this.tickets.forEach((t=>{if(t.completed){this.totalAmount+=t.amount*t.stake}}));this.currency=t}gridFilledHandler(t){this.tickets=this.tickets.map((e=>{if(e.ticketId==t.detail.id){let i=e.selectedNumbers||[];i[t.detail.index]=t.detail.selectedNumbers.map((t=>parseInt(t,10)));return{gameId:e.gameId,ticketId:e.ticketId,completed:true,amount:t.detail.draws,stake:e.stake,selectedNumbers:i}}return e}));this.calculateTotalAmount()}gridDirtyHandler(t){this.tickets=this.tickets.map((e=>{if(e.gameId==t.detail.id){return{gameId:e.gameId,ticketId:e.ticketId,completed:false,amount:e.amount,stake:e.stake,grids:[]}}return e}))}deleteTicketHandler(t){this.deleteVisible=true;this.deleteEventData=t}modalCloseEvent(){this.deleteVisible=false;this.loginModalVisible=false}stakeChangeHandler(t){const{ticketId:e,stake:i}=t.detail;this.tickets[e-1].stake=i;this.calculateTotalAmount()}multiplierChangeHandler(t){this.multiplier=t.detail}getDraws(){let t=new URL(`${this.endpoint}/games/${this.gameId}/draws`);let e={method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json"}};fetch(t.href,e).then((t=>t.json())).then((t=>{var e;let i=t.items.filter((t=>{if(Date.parse(t.date)>(new Date).getTime()){return!t.winningNumbers}}));let a=t.items.filter((t=>t.winningNumbers));if(!i[0])return;this.latestDraw=i[0];this.nextDate=this.latestDraw.date;this.countdownLogic(this.nextDate);this.lastDrawId=a[a.length-1].id;(e=this.latestDraw)===null||e===void 0?void 0:e.prizes.forEach((t=>{this.totalWinningsAmount+=JSON.parse(t.amount)}))})).catch((t=>{console.log("error ",t)}))}confirmDeleteTicketHandler(t){this.tickets=this.tickets.filter((e=>{if(e.ticketId==t.detail.ticketId){return false}return true}));this.calculateTotalAmount();this.deleteVisible=false}createNewTicket(){this.tickets=[...this.tickets,{gameId:this.gameId,ticketId:this.tickets.length+1,completed:false,amount:1,stake:this.basicStake,grids:[]}]}showLoginModal(){this.loginModalVisible=true}submitTickets(){let t=new URL(`${this.endpoint}/tickets`);let e={gameId:this.gameId,tickets:[]};this.tickets.forEach((t=>{e.tickets.push({startingDrawId:this.nextDraw,amount:t.stake,gameId:this.gameId,currency:this.currency,selection:t.selectedNumbers,multiplier:this.multiplier,drawCount:t.amount,quickPick:this.quickPick})}));let i={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${this.sessionId}`},body:JSON.stringify(e)};fetch(t.href,i).then((t=>{if(t.status>300){throw new Error("err")}return t.json()})).then((t=>{console.log("data",t)})).catch((t=>{console.log("error ",t)}));this.successVisible=true}goBack(){this.goBackEvent.emit()}goToLobby(){this.goToLobbyEvent.emit()}render(){const t=i(this.isMobile?"/assets/chrono_lottery_mobile.png":"/assets/chrono_desktop.png");if(this.hasErrors){return a("div",{class:"GamePage"},a("div",{class:"Title"},l("error",this.language)))}return a("div",{class:"GamePage",dir:this.language=="ar"?"rtl":"ltr",ref:t=>this.stylingContainer=t},a("div",{class:"GridBanner",style:{background:`url(${this.backgroundUrl?this.backgroundUrl:t})`,"background-size":"contain","background-repeat":"no-repeat","background-position":"center"}},a("div",{class:"BannerButtonsWrapper"},a("button",{class:"BannerBackButton",onClick:this.goBack.bind(this)},a("span",{class:"BannerBackButtonArrow"},"ᐸ "),l("backButton",this.language)),a("button",{class:"BannerLobbyButton",onClick:this.goToLobby.bind(this)},l("lobbyButton",this.language))),a("div",{class:"Tabs"},a("div",{class:"TabButton"+(this.tabIndex==0?" Active":""),onClick:()=>this.tabIndex=0},l("buy",this.language)),a("div",{class:"TabButton"+(this.tabIndex==1?" Active":""),onClick:()=>this.tabIndex=1},l("viewLatest",this.language)))),a("div",{class:"NextDrawWrapper"},a("div",{class:"TotalWinnings"},l("winUpTo",this.language),": ",a("span",null,"$",this.totalWinningsAmount.toLocaleString("en-US",{maximumFractionDigits:2}))),a("div",{class:"NextDraw"},a("p",{class:"BannerText"},l("nextDraw",this.language)),a("div",{class:"BannerCountdown"},a("span",{class:"CountdownDays"},this.daysRemaining,"D"),a("span",{class:"CountdownHours"},this.hoursRemaining,"H"),a("span",{class:"CountdownMinutes"},this.minutesRemaining,"M"),a("span",{class:"CountdownSeconds"},this.secondsRemaining,"S")))),this.tabIndex==0&&a("div",{class:"GamePageContent"},a("div",{class:"GameDetails"},a("lottery-game-details",{"client-styling":this.clientStyling,"client-styling-url-content":this.clientStylingUrlContent})),a("div",{class:"TicketsWrapper"},this.tickets.map((t=>a("lottery-ticket-controller",{endpoint:this.endpoint,"ticket-id":t.ticketId,"game-id":t.gameId,collapsed:false,last:true,language:this.language,"auto-pick":this.autoPick,"reset-button":this.resetButton,"total-controllers":this.tickets.length,"client-styling":this.clientStyling,"client-styling-url-content":this.clientStylingUrlContent}))),a("div",{class:"CreateNewTicket"},a("button",{onClick:()=>this.createNewTicket()},"+"),a("span",null,l("createTicket",this.language)))),a("div",{class:"OrderSummary"},a("h3",{class:"OrderSummaryTitle"},l("orderSummaryTitle",this.language)),a("div",{class:"Ticket"},l("orderSummaryTickets",this.language),": ",a("span",null,this.tickets.length)),a("hr",null),a("div",{class:"Total"},l("orderSummaryTotal",this.language),": ",a("span",null,this.totalAmount," ",this.currency)),a("div",{class:"ButtonWrapper"},this.isLoggedIn&&a("span",{class:"Button",onClick:()=>this.submitTickets()},l("orderSummarySubmit",this.language)),!this.isLoggedIn&&a("div",null,a("span",{class:"Button",onClick:()=>this.showLoginModal()},l("orderSummarySubmit",this.language)),a("helper-modal",{"title-modal":"Success",visible:this.loginModalVisible,"client-styling":this.clientStyling,"client-styling-url-content":this.clientStylingUrlContent},a("p",{class:"SubmitModalSuccess"},l("modalLogin",this.language))))))),this.tabIndex==1&&a("div",null,a("h4",{class:"LastDrawResultsTitle"},l("lastDrawResultsTitle",this.language)),a("lottery-draw-results",{endpoint:this.endpoint,"game-id":this.gameId,language:this.language,"draw-id":this.lastDrawId,"draw-mode":true,"client-styling":this.clientStyling,"client-styling-url-content":this.clientStylingUrlContent}),a("lottery-draw-results-history",{endpoint:this.endpoint,"game-id":this.gameId,language:this.language,"client-styling":this.clientStyling,"client-styling-url-content":this.clientStylingUrlContent})),a("helper-modal",{"title-modal":"Success",visible:this.successVisible,"client-styling":this.clientStyling,"client-styling-url-content":this.clientStylingUrlContent},a("p",{class:"SubmitModalSuccess"},l("modalSuccess",this.language))),a("helper-modal",{"title-modal":"Delete Ticket",visible:this.deleteVisible,"client-styling":this.clientStyling,"client-styling-url-content":this.clientStylingUrlContent},a("div",{class:"DeleteTicketModalWrapper"},a("h3",{class:"DeleteTicketModalTitle"},l("deleteTicketModalTitle",this.language)),a("p",{class:"DeleteTicketModalText"},l("deleteTicketModalText",this.language)),a("div",{class:"DeleteTicketModalButtons"},a("button",{class:"DeleteTicketModalCancel",onClick:()=>this.modalCloseEvent()},l("deleteTicketModalCancel",this.language)),a("button",{class:"DeleteTicketModalConfirm",onClick:()=>this.confirmDeleteTicketHandler(this.deleteEventData)},l("deleteTicketModalConfirm",this.language))))))}static get assetsDirs(){return["static"]}get element(){return r(this)}};p.style=d;export{p as lottery_game_page};
2
- //# sourceMappingURL=p-f399eef1.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"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"],"names":["DEFAULT_LANGUAGE","SUPPORTED_LANGUAGES","TRANSLATIONS","en","error","title","backButton","lobbyButton","prize","winUpTo","nextDraw","buy","viewLatest","createTicket","modalSuccess","deleteTicketModalTitle","deleteTicketModalText","deleteTicketModalCancel","deleteTicketModalConfirm","orderSummaryTitle","orderSummaryTickets","orderSummaryTotal","orderSummarySubmit","lastDrawResultsTitle","modalLogin","ro","fr","ar","hr","translate","key","customLang","lang","undefined","includes","isMobile","userAgent","toLowerCase","match","lotteryGamePageCss","LotteryGamePage","[object Object]","hostRef","this","language","autoPick","resetButton","clientStyling","clientStylingurl","clientStylingUrlContent","tickets","tabIndex","hasErrors","totalAmount","successVisible","deleteVisible","latestDraw","totalWinningsAmount","isLoggedIn","loginModalVisible","limitStylingAppends","window","navigator","multiplier","quickPick","setClientStyling","sheet","document","createElement","innerHTML","stylingContainer","prepend","setClientStylingURL","url","URL","cssFile","fetch","href","then","res","text","data","setTimeout","catch","err","console","log","getGameDetails","getDraws","sessionId","date","interval","setInterval","daysRemaining","Math","floor","Date","parse","getTime","hoursRemaining","minutesRemaining","secondsRemaining","clearInterval","endpoint","gameId","status","Error","json","gameData","basicStake","type","stakes","amount","draws","filter","item","winningNumbers","length","id","createNewTicket","currency","forEach","completed","stake","event","map","ticketId","detail","arr","selectedNumbers","index","parseInt","calculateTotalAmount","grids","deleteEventData","drawOptions","method","headers","Content-Type","Accept","response","upcoming","items","past","nextDate","countdownLogic","lastDrawId","_a","prizes","element","JSON","body","push","startingDrawId","selection","drawCount","options","Authorization","stringify","goBackEvent","emit","goToLobbyEvent","backgroundImagePath","getAssetPath","h","class","dir","ref","el","style","background","backgroundUrl","background-size","background-repeat","background-position","onClick","goBack","bind","goToLobby","toLocaleString","maximumFractionDigits","client-styling","client-styling-url-content","ticket-id","game-id","collapsed","last","auto-pick","reset-button","total-controllers","submitTickets","showLoginModal","title-modal","visible","draw-id","draw-mode","modalCloseEvent","confirmDeleteTicketHandler"],"mappings":"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","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"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stencil.config.js","sourceRoot":"","sources":["../../../stencil.config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAW;EAC5B,SAAS,EAAE,mBAAmB;EAC9B,SAAS,EAAE,OAAO;EAClB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;EACjB,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC;EAChD,aAAa,EAAE;IACb,MAAM,EAAE;MACN,WAAW,CAAC;QACV,iBAAiB,EAAE,CAAC,cAAc,CAAC;OACpC,CAAC;MACF,QAAQ,EAAE;KACX;GACF;EACD,SAAS,EAAE,IAAI;EACf,aAAa,EAAE;IACb;MACE,IAAI,EAAE,MAAM;MACZ,aAAa,EAAE,WAAW;KAC3B;IACD;MACE,IAAI,EAAE,sBAAsB;MAC5B,wBAAwB,EAAE,IAAI;MAC9B,IAAI,EAAE;QACJ;UACE,GAAG,EAAE,gBAAgB;UACrB,IAAI,EAAE,aAAa;UACnB,IAAI,EAAE,IAAI;SACX;OACF;KACF;IACD;MACE,IAAI,EAAE,aAAa;KACpB;IACD;MACE,IAAI,EAAE,KAAK;MACX,IAAI,EAAE;QACJ;UACE,GAAG,EAAE,gBAAgB;UACrB,IAAI,EAAE,QAAQ;UACd,IAAI,EAAE,IAAI;SACX;OACF;MACD,aAAa,EAAE,IAAI,EAAE,0BAA0B;KAChD;GACF;CACF,CAAC","sourcesContent":["import { Config } from '@stencil/core';\n\nimport { sass } from '@stencil/sass';\nimport { nodeResolve } from '@rollup/plugin-node-resolve';\nimport commonjs from '@rollup/plugin-commonjs';\n\nexport const config: Config = {\n namespace: 'lottery-game-page',\n taskQueue: 'async',\n plugins: [sass()],\n bundles: [{ components: ['lottery-game-page'] }],\n rollupPlugins: {\n before: [\n nodeResolve({\n moduleDirectories: ['node_modules']\n }),\n commonjs()\n ],\n },\n sourceMap: true,\n outputTargets: [\n {\n type: 'dist',\n esmLoaderPath: '../loader',\n },\n {\n type: 'dist-custom-elements',\n autoDefineCustomElements: true,\n copy: [\n {\n src: '**/*.{jpg,png}',\n dest: 'dist/assets',\n warn: true,\n }\n ],\n },\n {\n type: 'docs-readme',\n },\n {\n type: 'www',\n copy: [\n {\n src: '**/*.{jpg,png}',\n dest: 'assets',\n warn: true,\n }\n ],\n serviceWorker: null, // disable service workers\n },\n ],\n};\n"]}
@@ -1,2 +0,0 @@
1
- import { Config } from '../../../../../../../../../../stencil-public-runtime';
2
- export declare const config: Config;