@everymatrix/lottery-game-page 1.44.0 → 1.45.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app-globals-3a1e7e63.js +5 -0
- package/dist/cjs/{helper-filters_2.cjs.entry.js → helper-accordion_13.cjs.entry.js} +3329 -1000
- package/dist/cjs/helper-pagination.cjs.entry.js +195 -226
- package/dist/cjs/index-f3851683.js +1345 -0
- package/dist/cjs/index.cjs.js +0 -2
- package/dist/cjs/loader.cjs.js +7 -15
- package/dist/cjs/lottery-game-page.cjs.js +16 -12
- package/dist/collection/collection-manifest.json +4 -10
- package/dist/collection/components/lottery-game-page/index.js +1 -0
- package/dist/collection/components/lottery-game-page/lottery-game-page.css +1 -1
- package/dist/collection/components/lottery-game-page/lottery-game-page.js +580 -646
- package/dist/collection/index.js +0 -1
- package/dist/collection/utils/locale.utils.js +117 -118
- package/dist/collection/utils/utils.js +4 -5
- package/dist/esm/app-globals-0f993ce5.js +3 -0
- package/dist/esm/{helper-filters_2.entry.js → helper-accordion_13.entry.js} +3319 -1001
- package/dist/esm/helper-pagination.entry.js +195 -226
- package/dist/esm/index-8248702b.js +1316 -0
- package/dist/esm/index.js +0 -2
- package/dist/esm/loader.js +8 -16
- package/dist/esm/lottery-game-page.js +14 -13
- package/dist/lottery-game-page/index.esm.js +0 -2
- package/dist/lottery-game-page/lottery-game-page.esm.js +1 -2
- package/dist/lottery-game-page/p-4254ae78.entry.js +3567 -0
- package/dist/lottery-game-page/p-89956c67.entry.js +1 -0
- package/dist/lottery-game-page/p-8f2c63c7.js +2 -0
- package/dist/lottery-game-page/p-e1255160.js +1 -0
- package/dist/stencil.config.dev.js +17 -0
- package/dist/stencil.config.js +12 -45
- 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
- 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
- package/dist/types/components/lottery-game-page/index.d.ts +1 -0
- package/dist/types/components/lottery-game-page/lottery-game-page.d.ts +98 -98
- package/dist/types/components.d.ts +18 -2
- package/dist/types/stencil-public-runtime.d.ts +142 -33
- package/loader/cdn.js +1 -3
- package/loader/index.cjs.js +1 -3
- package/loader/index.d.ts +13 -1
- package/loader/index.es2017.js +1 -3
- package/loader/index.js +1 -3
- package/loader/package.json +1 -0
- package/package.json +13 -7
- package/dist/assets/chrono_desktop.png +0 -0
- package/dist/assets/chrono_lottery_mobile.png +0 -0
- package/dist/cjs/helper-accordion.cjs.entry.js +0 -134
- package/dist/cjs/helper-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/helper-filters_2.cjs.entry.js.map +0 -1
- package/dist/cjs/helper-modal.cjs.entry.js +0 -78
- package/dist/cjs/helper-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/helper-pagination.cjs.entry.js.map +0 -1
- package/dist/cjs/helper-tab.cjs.entry.js +0 -70
- package/dist/cjs/helper-tab.cjs.entry.js.map +0 -1
- package/dist/cjs/helper-tabs.cjs.entry.js +0 -76
- package/dist/cjs/helper-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/index-cd44e726.js +0 -1326
- package/dist/cjs/index-cd44e726.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/lottery-bullet_2.cjs.entry.js +0 -281
- package/dist/cjs/lottery-bullet_2.cjs.entry.js.map +0 -1
- package/dist/cjs/lottery-draw-results-history.cjs.entry.js +0 -240
- package/dist/cjs/lottery-draw-results-history.cjs.entry.js.map +0 -1
- package/dist/cjs/lottery-game-details.cjs.entry.js +0 -53
- package/dist/cjs/lottery-game-details.cjs.entry.js.map +0 -1
- package/dist/cjs/lottery-game-page.cjs.entry.js +0 -456
- package/dist/cjs/lottery-game-page.cjs.entry.js.map +0 -1
- package/dist/cjs/lottery-game-page.cjs.js.map +0 -1
- package/dist/cjs/lottery-ticket-controller.cjs.entry.js +0 -132
- package/dist/cjs/lottery-ticket-controller.cjs.entry.js.map +0 -1
- package/dist/cjs/lottery-ticket.cjs.entry.js +0 -233
- package/dist/cjs/lottery-ticket.cjs.entry.js.map +0 -1
- package/dist/collection/components/lottery-game-page/lottery-game-page.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/utils/locale.utils.js.map +0 -1
- package/dist/collection/utils/utils.js.map +0 -1
- package/dist/components/helper-accordion.js +0 -8
- package/dist/components/helper-accordion.js.map +0 -1
- package/dist/components/helper-accordion2.js +0 -161
- package/dist/components/helper-accordion2.js.map +0 -1
- package/dist/components/helper-filters.js +0 -8
- package/dist/components/helper-filters.js.map +0 -1
- package/dist/components/helper-filters2.js +0 -23566
- package/dist/components/helper-filters2.js.map +0 -1
- package/dist/components/helper-modal.js +0 -8
- package/dist/components/helper-modal.js.map +0 -1
- package/dist/components/helper-modal2.js +0 -96
- package/dist/components/helper-modal2.js.map +0 -1
- package/dist/components/helper-pagination.js +0 -293
- package/dist/components/helper-pagination.js.map +0 -1
- package/dist/components/helper-tab.js +0 -8
- package/dist/components/helper-tab.js.map +0 -1
- package/dist/components/helper-tab2.js +0 -89
- package/dist/components/helper-tab2.js.map +0 -1
- package/dist/components/helper-tabs.js +0 -8
- package/dist/components/helper-tabs.js.map +0 -1
- package/dist/components/helper-tabs2.js +0 -105
- package/dist/components/helper-tabs2.js.map +0 -1
- package/dist/components/index.d.ts +0 -26
- package/dist/components/index.js +0 -3
- package/dist/components/index.js.map +0 -1
- package/dist/components/lottery-bullet.js +0 -8
- package/dist/components/lottery-bullet.js.map +0 -1
- package/dist/components/lottery-bullet2.js +0 -94
- package/dist/components/lottery-bullet2.js.map +0 -1
- package/dist/components/lottery-draw-results-history.js +0 -8
- package/dist/components/lottery-draw-results-history.js.map +0 -1
- package/dist/components/lottery-draw-results-history2.js +0 -298
- package/dist/components/lottery-draw-results-history2.js.map +0 -1
- package/dist/components/lottery-draw-results.js +0 -8
- package/dist/components/lottery-draw-results.js.map +0 -1
- package/dist/components/lottery-draw-results2.js +0 -346
- package/dist/components/lottery-draw-results2.js.map +0 -1
- package/dist/components/lottery-game-details.js +0 -8
- package/dist/components/lottery-game-details.js.map +0 -1
- package/dist/components/lottery-game-details2.js +0 -87
- package/dist/components/lottery-game-details2.js.map +0 -1
- package/dist/components/lottery-game-page.d.ts +0 -11
- package/dist/components/lottery-game-page.js +0 -572
- package/dist/components/lottery-game-page.js.map +0 -1
- package/dist/components/lottery-grid.js +0 -8
- package/dist/components/lottery-grid.js.map +0 -1
- package/dist/components/lottery-grid2.js +0 -248
- package/dist/components/lottery-grid2.js.map +0 -1
- package/dist/components/lottery-ticket-controller.js +0 -8
- package/dist/components/lottery-ticket-controller.js.map +0 -1
- package/dist/components/lottery-ticket-controller2.js +0 -185
- package/dist/components/lottery-ticket-controller2.js.map +0 -1
- package/dist/components/lottery-ticket.js +0 -8
- package/dist/components/lottery-ticket.js.map +0 -1
- package/dist/components/lottery-ticket2.js +0 -276
- package/dist/components/lottery-ticket2.js.map +0 -1
- package/dist/esm/helper-accordion.entry.js +0 -130
- package/dist/esm/helper-accordion.entry.js.map +0 -1
- package/dist/esm/helper-filters_2.entry.js.map +0 -1
- package/dist/esm/helper-modal.entry.js +0 -74
- package/dist/esm/helper-modal.entry.js.map +0 -1
- package/dist/esm/helper-pagination.entry.js.map +0 -1
- package/dist/esm/helper-tab.entry.js +0 -66
- package/dist/esm/helper-tab.entry.js.map +0 -1
- package/dist/esm/helper-tabs.entry.js +0 -72
- package/dist/esm/helper-tabs.entry.js.map +0 -1
- package/dist/esm/index-d1baacd4.js +0 -1298
- package/dist/esm/index-d1baacd4.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/lottery-bullet_2.entry.js +0 -276
- package/dist/esm/lottery-bullet_2.entry.js.map +0 -1
- package/dist/esm/lottery-draw-results-history.entry.js +0 -236
- package/dist/esm/lottery-draw-results-history.entry.js.map +0 -1
- package/dist/esm/lottery-game-details.entry.js +0 -49
- package/dist/esm/lottery-game-details.entry.js.map +0 -1
- package/dist/esm/lottery-game-page.entry.js +0 -452
- package/dist/esm/lottery-game-page.entry.js.map +0 -1
- package/dist/esm/lottery-game-page.js.map +0 -1
- package/dist/esm/lottery-ticket-controller.entry.js +0 -128
- package/dist/esm/lottery-ticket-controller.entry.js.map +0 -1
- package/dist/esm/lottery-ticket.entry.js +0 -229
- package/dist/esm/lottery-ticket.entry.js.map +0 -1
- package/dist/esm/polyfills/core-js.js +0 -11
- package/dist/esm/polyfills/css-shim.js +0 -1
- package/dist/esm/polyfills/dom.js +0 -79
- package/dist/esm/polyfills/es5-html-element.js +0 -1
- package/dist/esm/polyfills/index.js +0 -34
- package/dist/esm/polyfills/system.js +0 -6
- package/dist/lottery-game-page/index.esm.js.map +0 -1
- package/dist/lottery-game-page/lottery-game-page.esm.js.map +0 -1
- package/dist/lottery-game-page/p-12340c50.entry.js +0 -2921
- package/dist/lottery-game-page/p-12340c50.entry.js.map +0 -1
- package/dist/lottery-game-page/p-15309f9a.entry.js +0 -2
- package/dist/lottery-game-page/p-15309f9a.entry.js.map +0 -1
- package/dist/lottery-game-page/p-167c9dbe.entry.js +0 -2
- package/dist/lottery-game-page/p-167c9dbe.entry.js.map +0 -1
- package/dist/lottery-game-page/p-20e0c81c.entry.js +0 -2
- package/dist/lottery-game-page/p-20e0c81c.entry.js.map +0 -1
- package/dist/lottery-game-page/p-59a96854.entry.js +0 -2
- package/dist/lottery-game-page/p-59a96854.entry.js.map +0 -1
- package/dist/lottery-game-page/p-662d9dac.entry.js +0 -2
- package/dist/lottery-game-page/p-662d9dac.entry.js.map +0 -1
- package/dist/lottery-game-page/p-66729e9c.entry.js +0 -2
- package/dist/lottery-game-page/p-66729e9c.entry.js.map +0 -1
- package/dist/lottery-game-page/p-721345a7.entry.js +0 -2
- package/dist/lottery-game-page/p-721345a7.entry.js.map +0 -1
- package/dist/lottery-game-page/p-76c280ec.entry.js +0 -2
- package/dist/lottery-game-page/p-76c280ec.entry.js.map +0 -1
- package/dist/lottery-game-page/p-cd4aa6a4.entry.js +0 -2
- package/dist/lottery-game-page/p-cd4aa6a4.entry.js.map +0 -1
- package/dist/lottery-game-page/p-e765c7d9.js +0 -2
- package/dist/lottery-game-page/p-e765c7d9.js.map +0 -1
- package/dist/lottery-game-page/p-e86e2389.entry.js +0 -2
- package/dist/lottery-game-page/p-e86e2389.entry.js.map +0 -1
- package/dist/lottery-game-page/p-f399eef1.entry.js +0 -2
- package/dist/lottery-game-page/p-f399eef1.entry.js.map +0 -1
- package/dist/stencil.config.js.map +0 -1
- package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/lottery-game-page/.stencil/packages/lottery-game-page/stencil.config.d.ts +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"lottery-game-page.js","mappings":"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","names":["LotteryGamePage"],"sources":["../../../packages/lottery-game-page/src/utils/locale.utils.ts","../../../packages/lottery-game-page/src/utils/utils.ts","../../../packages/lottery-game-page/src/components/lottery-game-page/lottery-game-page.scss?tag=lottery-game-page&encapsulation=shadow","../../../packages/lottery-game-page/src/components/lottery-game-page/lottery-game-page.tsx"],"sourcesContent":["interface Translation {\n [key: string]: string;\n}\n\ninterface Translations {\n en: Translation,\n ro: Translation,\n fr: Translation,\n ar: Translation,\n hr: Translation,\n}\n\nconst DEFAULT_LANGUAGE: 'en' = 'en'\nconst SUPPORTED_LANGUAGES: string[] = ['ro', 'en', 'fr', 'ar', 'hr'];\nconst TRANSLATIONS: Translations = {\n en: {\n error: 'Error',\n title: 'Chrono',\n backButton: 'Back',\n lobbyButton: 'Lobby',\n prize: 'Prize',\n winUpTo: 'Win up to',\n nextDraw: 'Next draw in: ',\n buy: 'Buy tickets',\n viewLatest: 'View latest results',\n createTicket: 'Create Ticket',\n modalSuccess: 'Purchase successfully completed!',\n deleteTicketModalTitle: 'Delete Ticket',\n deleteTicketModalText: 'Are you sure you want to delete this ticket?',\n deleteTicketModalCancel: 'Cancel',\n deleteTicketModalConfirm: 'Delete',\n orderSummaryTitle: 'Order Summary',\n orderSummaryTickets: 'Ticket',\n orderSummaryTotal: 'Total',\n orderSummarySubmit: 'Submit',\n lastDrawResultsTitle: 'Last Draw Results',\n modalLogin: 'Please login to submit a ticket',\n },\n ro: {\n error: 'Eroare',\n title: 'Loto 6/49',\n backButton: 'Inapoi',\n lobbyButton: 'Lobby',\n prize: 'MARELE JACKPOT OMG',\n winUpTo: 'Castiga pana la',\n nextDraw: 'Urmatoarea extragere:',\n buy: 'Cumpara bilet',\n viewLatest: 'Ultimile extrageri',\n createTicket: 'Creeaza bilet',\n modalSuccess: 'Achizitie efectuata cu succes',\n deleteTicketModalTitle: 'Sterge biletul',\n deleteTicketModalText: 'Esti sigur ca vrei sa stergi acest bilet?',\n deleteTicketModalCancel: 'Anuleaza',\n deleteTicketModalConfirm: 'Sterge',\n orderSummaryTitle: 'Rezumat comanda',\n orderSummaryTickets: 'Bilet',\n orderSummaryTotal: 'Total',\n orderSummarySubmit: 'Trimite',\n lastDrawResultsTitle: 'Cele mai recente extrageri',\n modalLogin: 'Please login to submit a ticket',\n },\n fr: {\n error: 'Error',\n title: 'Chrono',\n backButton: 'Back',\n lobbyButton: 'Lobby',\n prize: 'Prize',\n winUpTo: 'Win up to',\n nextDraw: 'Next draw in: ',\n buy: 'Buy tickets',\n viewLatest: 'View latest results',\n createTicket: 'Create Ticket',\n modalSuccess: 'Purchase successfully completed!',\n deleteTicketModalTitle: 'Delete Ticket',\n deleteTicketModalText: 'Are you sure you want to delete this ticket?',\n deleteTicketModalCancel: 'Cancel',\n deleteTicketModalConfirm: 'Delete',\n orderSummaryTitle: 'Order Summary',\n orderSummaryTickets: 'Ticket',\n orderSummaryTotal: 'Total',\n orderSummarySubmit: 'Submit',\n lastDrawResultsTitle: 'Résultats du dernier tirage',\n modalLogin: 'Please login to submit a ticket',\n },\n ar: {\n error: 'خطأ',\n title: 'كرونو',\n backButton: 'خلف',\n lobbyButton: 'ردهة',\n prize: 'جائزة',\n winUpTo: 'الفوز بما يصل الى',\n nextDraw: 'السحب التالي:',\n buy: 'اشتري تذاكر',\n viewLatest: 'عرض أحدث النتائج',\n createTicket: 'إنشاء تذكرة',\n modalSuccess: '!سيتم الشراء بنجاح قريبًا',\n deleteTicketModalTitle: 'حذف التذكرة',\n deleteTicketModalText: 'هل أنت متأكد أنك تريد حذف هذه التذكرة؟',\n deleteTicketModalCancel: 'يلغي',\n deleteTicketModalConfirm: 'حذف',\n orderSummaryTitle: 'ملخص الطلب',\n orderSummaryTickets: 'تذكرة',\n orderSummaryTotal: 'المجموع',\n orderSummarySubmit: 'يُقدِّم',\n lastDrawResultsTitle: 'نتائج آخر سحب',\n modalLogin: 'الرجاء تسجيل الدخول لتقديم تذكرة'\n },\n hr: {\n error: 'Greška',\n title: 'Krono',\n backButton: 'Nazad',\n lobbyButton: 'Lobby',\n prize: 'Nagrada',\n winUpTo: 'Osvoji do',\n nextDraw: 'Sljedeće izvlačenje za: ',\n buy: 'Uplati listić',\n viewLatest: 'Pogledajte najnovije rezultate',\n createTicket: 'Uplati listić',\n modalSuccess: 'Kupnja uspješno obavljena!',\n deleteTicketModalTitle: 'Izbriši listić',\n deleteTicketModalText: 'Are you sure you want to delete this ticket?',\n deleteTicketModalCancel: 'Otkaži',\n deleteTicketModalConfirm: 'Izbriši',\n orderSummaryTitle: 'Sažetak narudžbe',\n orderSummaryTickets: 'Listić',\n orderSummaryTotal: 'Ukupno',\n orderSummarySubmit: 'Podnijeti',\n lastDrawResultsTitle: 'Rezultati posljednjeg izvlačenja',\n modalLogin: 'Molimo prijavite se da uplatite listić',\n }\n};\n\nexport const translate = (key: string, customLang?): string => {\n const lang: string | undefined = customLang;\n return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];\n};\n","/**\n * @name isMobile\n * @description A method that returns if the browser used to access the app is from a mobile device or not\n * @param {String} userAgent window.navigator.userAgent\n * @returns {Boolean} true or false\n */\nexport const isMobile = (userAgent:string):boolean => {\n return !!(\n userAgent.toLowerCase().match(/android/i) ||\n userAgent.toLowerCase().match(/blackberry|bb/i) ||\n userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||\n userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i)\n );\n}\n","@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap');\n\n:host {\n display: block;\n font-family: 'Roboto', sans-serif;\n}\n.GamePage {\n\n .GridBanner {\n background-color: #009993;\n background-repeat: no-repeat;\n background-position: center;\n color: #111;\n padding: 0 20px 10px;\n height: 220px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n .BannerButtonsWrapper {\n display: flex;\n justify-content: space-between;\n padding-top: 16px;\n .BannerBackButton, .BannerLobbyButton {\n background: #fff;\n border: 1px solid #D4D4D4;\n border-radius: 4px;\n padding: 7px 15px;\n font-size: 12px;\n text-transform: uppercase;\n width: 80px;\n cursor: pointer;\n }\n }\n .GridBannerArea {\n padding-top: 30px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n }\n\n .TotalWinnings {\n color: #000;\n font-size: 18px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: 10px;\n text-transform: uppercase;\n span {\n font-size: 18px;\n font-weight: 700;\n }\n }\n .NextDraw {\n color: #00958f;\n font-size: 24px;\n font-weight: 600;\n margin: 0 auto;\n text-align: center;\n text-transform: uppercase;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 4px;\n\n .BannerText {\n font-weight: 400;\n font-size: 18px;\n text-transform: uppercase;\n padding: 0;\n margin: 15px 0 0 0;\n }\n\n .BannerCountdown {\n font-size: 22px;\n color: #00958f;\n display: flex;\n gap: 20px;\n }\n }\n\n .Tabs {\n display: flex;\n justify-content: center;\n gap: 10px;\n\n .TabButton {\n border-radius: 4px;\n cursor: pointer;\n padding: 8px 0;\n width: 50%;\n max-width: 200px;\n border: 1px solid #00958f;\n background: #00958f;\n color:#fff;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n\n &.Active {\n color: #00958f;\n background: #F1F1F1;\n border: 1px solid #F1F1F1;\n }\n }\n }\n}\n\n.LastDrawResultsTitle {\n color: #009993;\n padding: 25px 0 10px 0;\n text-align: center;\n border-radius: 4px;\n text-transform: uppercase;\n font-size: 16px;\n font-weight: 600;\n margin: 0;\n}\n\n.NextDrawWrapper {\n padding: 10px 15px;\n background: #F1F1F1;\n background: linear-gradient(0deg, rgba(241,241,241,1) 0%, rgba(253,187,45,0) 100%);\n .BannerText {\n font-size: 16px;\n font-weight: 700;\n text-align: center;\n }\n\n .BannerCountdown {\n font-size: 22px;\n display: flex;\n gap: 8px;\n color: #009993;\n font-weight: bolder;\n justify-content: center;\n }\n}\n\n.GamePageContent {\n padding: 15px;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.GameDetails {\n padding-bottom: 10px;\n margin-bottom: 20px;\n}\n\n.CreateNewTicket {\n background: #004D4A;\n height: 100px;\n width: 100%;\n display: flex;\n margin-top: 10px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n button {\n cursor: pointer;\n display: inline-block;\n border-radius: 50%;\n width: 40px;\n height: 40px;\n margin: 5px;\n border: 1px solid #FFF;\n background: #FFF;\n color: #004D4A;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n\n &:hover {\n background: #F1F1F1;\n }\n }\n\n span {\n display: inline-block;\n font-size:12px;\n text-align: center;\n margin: 0 auto;\n color: #FFF;\n }\n}\n\n.OrderSummary {\n min-width: 200px;\n border-radius: 4px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n background: #fff;\n\n .OrderSummaryTitle {\n font-size: 16px;\n color: #009993;\n text-transform: uppercase;\n text-align: center;\n }\n\n .Ticket {\n display: inline-block;\n color: #000;\n font-size:14px;\n height: 50px;\n line-height: 50px;\n margin-left: 15px;\n\n span {\n text-align: right;\n }\n }\n\n hr {\n border: none;\n border-top: 1px double #D4D4D4;\n color: #D4D4D4;\n width: 100%;\n }\n\n .Total {\n display: inline-block;\n color: #000;\n font-size:14px;\n height: 50px;\n line-height: 50px;\n margin-left: 15px;\n\n span {\n text-align: right;\n }\n }\n}\n\n.ButtonWrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n\n .Button {\n cursor: pointer;\n border-radius: 4px;\n padding: 8px 60px;\n width: max-content;\n margin: 5px;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n background: #009993;\n border: 1px solid #009993;\n color: #FFF;\n &:hover {\n background: #00ABA4;\n }\n &.ButtonDisabled {\n pointer-events: none;\n background: #ccc;\n border: 1px solid #ccc;\n }\n }\n}\n\n.SubmitModalSuccess {\n text-align: center;\n font-size: 18px;\n padding: 20px;\n}\n\n.DeleteTicketModalWrapper {\n padding: 20px;\n text-align: center;\n .DeleteTicketModalTitle {\n font-size: 16px;\n color: #00958f;\n font-weight: 400;\n text-transform: uppercase;\n margin: 20px 0 40px;\n }\n .DeleteTicketModalText {\n font-size: 14px;\n color: #000;\n line-height: 22px;\n margin-bottom: 40px;\n }\n .DeleteTicketModalButtons {\n display: flex;\n gap: 10px;\n justify-content: center;\n .DeleteTicketModalConfirm {\n cursor: pointer;\n border-radius: 4px;\n padding: 8px 25px;\n width: max-content;\n margin: 5px;\n color: #000;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n background: #FF3D00;\n border: 1px solid #FF3D00;\n color: #FFF;\n &:hover {\n background: #FF6536;\n border: 1px solid #FF3D00;\n }\n }\n .DeleteTicketModalCancel {\n cursor: pointer;\n width: max-content;\n border-radius: 4px;\n padding: 10px 25px;\n margin: 5px;\n border: 1px solid #00958f;\n background: #FFF;\n color: #000;\n font-size: 12px;\n transition: all 0.2s linear;\n text-transform: uppercase;\n text-align: center;\n letter-spacing: 0;\n\n &:hover {\n background: #F1F1F1;\n }\n }\n }\n}\n\n@media (min-width: 1200px) {\n .GamePageContent {\n .TicketsWrapper {\n float: left;\n width: 49%;\n }\n .GameDetails {\n float: right;\n width: 49%;\n }\n .OrderSummary {\n float: right;\n width: 49%;\n }\n }\n}\n","import { Component, h, Prop, State, Listen, Element, EventEmitter, Event, getAssetPath } from '@stencil/core';\nimport { translate } from '../../utils/locale.utils';\nimport { isMobile } from \"../../utils/utils\";\n\nimport '@everymatrix/lottery-ticket-controller';\nimport '@everymatrix/helper-modal';\nimport '@everymatrix/lottery-game-details';\nimport '@everymatrix/lottery-draw-results-history';\nimport '@everymatrix/lottery-draw-results';\n\n@Component({\n tag: 'lottery-game-page',\n styleUrl: 'lottery-game-page.scss',\n shadow: true,\n assetsDirs: ['static']\n})\nexport class LotteryGamePage {\n /**\n * Endpoint URL for the source of data\n */\n @Prop({ reflect: true }) endpoint: string;\n /**\n * GameID of the lottery game\n */\n @Prop({ reflect: true }) gameId: string;\n /**\n * Player ID\n */\n @Prop({ reflect: true }) playerId: number;\n /**\n * GIC Session\n */\n @Prop({ reflect: true }) sessionId: string;\n /**\n * Language of the widget\n */\n @Prop({ reflect: true }) language: string = 'en';\n /**\n * Url for banner's custom background image \n */\n @Prop({ reflect: true }) backgroundUrl: string;\n /**\n * Shows the auto-pick button\n */\n @Prop({ reflect: true }) autoPick: boolean = false;\n /**\n * Shows the reset button\n */\n @Prop({ reflect: true }) resetButton: boolean = false;\n /**\n * Client custom styling via string\n */\n @Prop({reflect: true}) clientStyling:string = '';\n /**\n * Client custom styling via url\n */\n @Prop({ reflect: true }) clientStylingurl:string = '';\n\n @State() clientStylingUrlContent:string = '';\n @State() tickets: Array<any> = [];\n @State() tabIndex: number = 0;\n @State() hasErrors: boolean = false;\n @State() totalAmount: number = 0;\n @State() successVisible: boolean = false;\n @State() deleteVisible: boolean = false;\n @State() deleteEventData: any;\n\n @State() private daysRemaining: number;\n @State() private hoursRemaining: number;\n @State() private minutesRemaining: number;\n @State() private secondsRemaining: number;\n @State() private latestDraw:any = {};\n @State() private totalWinningsAmount:number = 0;\n @State() private nextDate:string;\n @State() private isLoggedIn:boolean = false;\n @State() private loginModalVisible:boolean = false;\n @State() private limitStylingAppends:boolean = false;\n @Element() element: HTMLElement;\n\n @Event({bubbles: true, composed: true}) goBackEvent: EventEmitter<string>;\n @Event({bubbles: true, composed: true}) goToLobbyEvent: EventEmitter<string>;\n\n // @TODO fix any type\n private userAgent:string = window.navigator.userAgent;\n\n private stylingContainer:HTMLElement;\n private basicStake: number;\n private multiplier: boolean = false;\n private quickPick: boolean = false;\n private nextDraw: string;\n private lastDrawId: string;\n\n private currency: string;\n private gameData:any;\n private interval:any;\n private isMobile:boolean = isMobile(this.userAgent);\n // @TODO fix `any` type later, I'm lazy now\n\n connectedCallback(): void {\n this.getGameDetails();\n this.getDraws();\n\n if (this.sessionId) {\n this.isLoggedIn = true;\n }\n }\n\n componentDidRender(): void {\n // start custom styling area\n if(!this.limitStylingAppends && this.stylingContainer) {\n if(this.clientStyling) this.setClientStyling();\n if(this.clientStylingurl) this.setClientStylingURL();\n this.limitStylingAppends = true;\n }\n // end custom styling area\n }\n\n countdownLogic(date:any):void {\n this.interval = setInterval(() => {\n this.daysRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / (1000 * 60 * 60 * 24));\n this.hoursRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / (1000 * 60 * 60) - this.daysRemaining * 24);\n this.minutesRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / (1000 * 60) - this.daysRemaining * 24 * 60 - this.hoursRemaining * 60);\n this.secondsRemaining = Math.floor((Date.parse(date) - new Date().getTime()) / 1000 - this.daysRemaining * 24 * 60 * 60 - this.hoursRemaining * 60 * 60 - this.minutesRemaining * 60);\n }, 1000);\n }\n\n disconnectedCallback(): void {\n clearInterval(this.interval);\n }\n\n getGameDetails(): void {\n let url:URL = new URL(`${this.endpoint}/games/${this.gameId}`);\n\n fetch(url.href)\n .then((res:any) => {\n if (res.status >= 300) {\n this.hasErrors = true;\n throw new Error('There was an error while fetching the data');\n }\n\n return res.json();\n })\n .then((data:any) => {\n this.gameData = data;\n this.basicStake = this.gameData.type.stakes[0].amount;\n\n let draws = this.gameData.draws.filter((item) => !item.winningNumbers);\n draws.length > 0 && (this.nextDraw = draws[0].id);\n this.createNewTicket();\n })\n .catch((err:any) => {\n this.hasErrors = true;\n console.log('Error', err);\n });\n }\n\n calculateTotalAmount(): void {\n const { currency } = this.gameData.type.stakes[0];\n\n this.totalAmount = 0;\n\n this.tickets.forEach((item:any) => {\n if (item.completed) {\n this.totalAmount += item.amount * item.stake;\n }\n });\n this.currency = currency;\n }\n\n // @TODO CustomEvent type\n @Listen('ticketCompleted')\n gridFilledHandler(event: CustomEvent<any>): void {\n // @TODO item ts\n this.tickets = this.tickets.map((item:any) => {\n if (item.ticketId == event.detail.id) {\n let arr = item.selectedNumbers || [];\n arr[event.detail.index] = event.detail.selectedNumbers.map((item:string) => parseInt(item, 10));\n\n return {\n gameId: item.gameId,\n ticketId: item.ticketId,\n completed: true,\n amount: event.detail.draws,\n stake: item.stake,\n selectedNumbers: arr\n };\n }\n\n return item;\n });\n\n this.calculateTotalAmount();\n }\n\n @Listen('gridDirty')\n // @TODO fix any type\n gridDirtyHandler(event: CustomEvent<any>) {\n // @TODO item ts\n this.tickets = this.tickets.map((item:any) => {\n if (item.gameId == event.detail.id) {\n return {\n gameId: item.gameId,\n ticketId: item.ticketId,\n completed: false,\n amount: item.amount,\n stake: item.stake,\n grids: []\n };\n }\n\n return item;\n });\n }\n\n // @TODO CustomEvent type\n @Listen('deleteTicket')\n deleteTicketHandler(event: CustomEvent<any>): void {\n this.deleteVisible = true;\n this.deleteEventData = event;\n }\n\n @Listen('modalCloseEvent')\n modalCloseEvent(): void {\n this.deleteVisible = false;\n this.loginModalVisible = false;\n }\n\n @Listen('stakeChange')\n stakeChangeHandler(event:any): void {\n const { ticketId, stake } = event.detail;\n this.tickets[ticketId - 1].stake = stake;\n this.calculateTotalAmount();\n }\n\n @Listen('multiplierChange')\n multiplierChangeHandler(event:CustomEvent<any>): void {\n this.multiplier = event.detail;\n }\n\n getDraws(): void {\n // append from query param with the current date value in order to get the next draw\n let url:URL = new URL(`${this.endpoint}/games/${this.gameId}/draws`);\n\n let drawOptions = {\n method: \"GET\",\n headers: {\n 'Content-Type': \"application/json\",\n 'Accept': 'application/json',\n },\n };\n\n fetch( url.href , drawOptions )\n .then((response:any) => {\n return response.json();\n })\n .then((data:any) => {\n let upcoming:Array<any> = data.items.filter((item:any) => {\n if(Date.parse(item.date) > new Date().getTime()) {\n return !item.winningNumbers;\n }\n });\n\n let past:Array<any> = data.items.filter((item:any) => item.winningNumbers);\n if (!upcoming[0]) return;\n\n this.latestDraw = upcoming[0];\n this.nextDate = this.latestDraw.date;\n this.countdownLogic(this.nextDate);\n\n this.lastDrawId = past[past.length - 1].id;\n // calculate total winnings\n // @TODO fix any type\n this.latestDraw?.prizes.forEach((element:any) => {\n this.totalWinningsAmount += JSON.parse(element.amount);\n });\n })\n .catch((err:any) => {\n console.log('error ', err);\n });\n };\n\n // @TODO fix any type\n confirmDeleteTicketHandler(event:any): void {\n // @TODO fix any type\n this.tickets = this.tickets.filter((item:any) => {\n if (item.ticketId == event.detail.ticketId) {\n return false;\n }\n\n return true;\n });\n\n this.calculateTotalAmount();\n this.deleteVisible = false;\n }\n\n createNewTicket(): void {\n this.tickets = [\n ...this.tickets,\n { gameId: this.gameId, ticketId: this.tickets.length + 1, completed: false, amount: 1, stake: this.basicStake, grids: [] }\n ];\n }\n\n showLoginModal(): void {\n this.loginModalVisible = true;\n }\n\n submitTickets(): void {\n let url:URL = new URL(`${this.endpoint}/tickets`);\n\n // @TODO Body TS type\n let body:any = {\n gameId: this.gameId,\n tickets: []\n }\n\n this.tickets.forEach((item:any) => {\n body.tickets.push({\n startingDrawId: this.nextDraw,\n amount: item.stake,\n gameId: this.gameId,\n currency: this.currency,\n selection: item.selectedNumbers,\n multiplier: this.multiplier,\n drawCount: item.amount,\n quickPick: this.quickPick,\n })\n });\n \n // @TODO Options TS type\n let options = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Authorization': `Bearer ${this.sessionId}`\n },\n body: JSON.stringify(body)\n };\n\n fetch(url.href, options)\n .then((res:any) => {\n if (res.status > 300) {\n throw new Error('err');\n }\n\n return res.json();\n })\n .then((data:any) => {\n // should we treat this res?\n console.log('data', data)\n })\n .catch((err:any) => {\n console.log('error ', err);\n });\n\n this.successVisible = true;\n }\n\n goBack() {\n this.goBackEvent.emit();\n }\n\n goToLobby() {\n this.goToLobbyEvent.emit();\n }\n\n setClientStyling = ():void => {\n let sheet = document.createElement('style');\n sheet.innerHTML = this.clientStyling;\n this.stylingContainer.prepend(sheet);\n }\n\n setClientStylingURL = ():void => {\n\n let url:URL = new URL(this.clientStylingurl);\n let cssFile:HTMLElement = document.createElement('style');\n \n fetch(url.href)\n .then((res:any) => res.text())\n .then((data:any) => {\n this.clientStylingUrlContent = data;\n cssFile.innerHTML = data;\n setTimeout(() => { this.stylingContainer.prepend(cssFile) }, 1);\n })\n .catch((err:any) => {\n console.log('error ', err);\n });\n }\n\n render(): void {\n //Get path for background image\n const backgroundImagePath = getAssetPath(this.isMobile ? '/assets/chrono_lottery_mobile.png' : '/assets/chrono_desktop.png');\n\n if (this.hasErrors) {\n return (\n <div class=\"GamePage\">\n <div class=\"Title\">{translate('error', this.language)}</div>\n </div>\n )\n }\n\n return (\n /* Game details */\n <div class=\"GamePage\" dir={this.language == 'ar' ? 'rtl' : 'ltr'} ref={el => this.stylingContainer = el as HTMLInputElement}>\n <div class=\"GridBanner\" style={{ 'background': `url(${ this.backgroundUrl ? this.backgroundUrl : backgroundImagePath})` , 'background-size': 'contain' , 'background-repeat': 'no-repeat', 'background-position': 'center' }}>\n <div class=\"BannerButtonsWrapper\">\n <button class=\"BannerBackButton\" onClick={this.goBack.bind(this)}><span class=\"BannerBackButtonArrow\">ᐸ </span>{translate('backButton', this.language)}</button>\n <button class=\"BannerLobbyButton\" onClick={this.goToLobby.bind(this)}>{translate('lobbyButton', this.language)}</button>\n </div>\n <div class=\"Tabs\">\n <div class={'TabButton' + (this.tabIndex == 0 ? ' Active' : '')}\n onClick={() => this.tabIndex = 0}>{translate('buy', this.language)}</div>\n <div class={'TabButton' + (this.tabIndex == 1 ? ' Active' : '')}\n onClick={() => this.tabIndex = 1}>{translate('viewLatest', this.language)}</div>\n </div>\n </div>\n <div class=\"NextDrawWrapper\">\n <div class=\"TotalWinnings\">{translate('winUpTo', this.language)}: <span>${this.totalWinningsAmount.toLocaleString('en-US', {maximumFractionDigits:2})}</span></div>\n <div class=\"NextDraw\">\n <p class=\"BannerText\">{translate('nextDraw', this.language)}</p>\n <div class=\"BannerCountdown\">\n <span class=\"CountdownDays\">{this.daysRemaining}D</span>\n <span class=\"CountdownHours\">{this.hoursRemaining}H</span>\n <span class=\"CountdownMinutes\">{this.minutesRemaining}M</span>\n <span class=\"CountdownSeconds\">{this.secondsRemaining}S</span>\n </div>\n </div>\n </div>\n {this.tabIndex == 0 &&\n <div class=\"GamePageContent\">\n <div class=\"GameDetails\">\n <lottery-game-details\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n </lottery-game-details>\n </div>\n <div class=\"TicketsWrapper\">\n {this.tickets.map((item) =>\n <lottery-ticket-controller\n endpoint={this.endpoint}\n ticket-id={item.ticketId}\n game-id={item.gameId}\n collapsed={false}\n last={true}\n language={this.language}\n auto-pick={this.autoPick}\n reset-button={this.resetButton}\n total-controllers={this.tickets.length}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n </lottery-ticket-controller>\n )}\n <div class=\"CreateNewTicket\">\n <button onClick={() => this.createNewTicket()}>+</button>\n <span>{translate('createTicket', this.language)}</span>\n </div>\n </div>\n <div class=\"OrderSummary\">\n <h3 class=\"OrderSummaryTitle\">{translate('orderSummaryTitle', this.language)}</h3>\n <div class=\"Ticket\">{translate('orderSummaryTickets', this.language)}: <span>{this.tickets.length}</span></div>\n <hr />\n <div class=\"Total\">{translate('orderSummaryTotal', this.language)}: <span>{this.totalAmount} {this.currency}</span></div>\n <div class=\"ButtonWrapper\">\n {this.isLoggedIn && \n <span class=\"Button\" onClick={() => this.submitTickets()}>{translate('orderSummarySubmit', this.language)}</span>\n }\n {!this.isLoggedIn &&\n <div>\n <span class=\"Button\" onClick={() => this.showLoginModal()}>{translate('orderSummarySubmit', this.language)}</span>\n <helper-modal\n title-modal=\"Success\"\n visible={this.loginModalVisible}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n <p class=\"SubmitModalSuccess\">{translate('modalLogin', this.language)}</p>\n </helper-modal>\n </div>\n }\n </div>\n </div>\n </div>\n }\n {this.tabIndex == 1 &&\n <div>\n <h4 class=\"LastDrawResultsTitle\">{translate('lastDrawResultsTitle', this.language)}</h4>\n <lottery-draw-results \n endpoint={this.endpoint}\n game-id={this.gameId}\n language={this.language}\n draw-id={this.lastDrawId}\n draw-mode={true}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n </lottery-draw-results>\n <lottery-draw-results-history\n endpoint={this.endpoint}\n game-id={this.gameId}\n language={this.language}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n </lottery-draw-results-history>\n </div>}\n <helper-modal\n title-modal=\"Success\"\n visible={this.successVisible}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n <p class=\"SubmitModalSuccess\">{translate('modalSuccess', this.language)}</p>\n </helper-modal>\n <helper-modal\n title-modal=\"Delete Ticket\"\n visible={this.deleteVisible}\n client-styling={this.clientStyling}\n client-styling-url-content={this.clientStylingUrlContent}>\n <div class=\"DeleteTicketModalWrapper\">\n <h3 class=\"DeleteTicketModalTitle\">{translate('deleteTicketModalTitle', this.language)}</h3>\n <p class=\"DeleteTicketModalText\">{translate('deleteTicketModalText', this.language)}</p>\n <div class=\"DeleteTicketModalButtons\">\n <button class=\"DeleteTicketModalCancel\" onClick={() => this.modalCloseEvent()}>{translate('deleteTicketModalCancel', this.language)}</button>\n <button class=\"DeleteTicketModalConfirm\" onClick={() => this.confirmDeleteTicketHandler(this.deleteEventData)}>{translate('deleteTicketModalConfirm', this.language)}</button>\n </div>\n </div>\n </helper-modal>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { L as LotteryGrid$1, d as defineCustomElement$1 } from './lottery-grid2.js';
|
|
2
|
-
|
|
3
|
-
const LotteryGrid = LotteryGrid$1;
|
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
|
5
|
-
|
|
6
|
-
export { LotteryGrid, defineCustomElement };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=lottery-grid.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"lottery-grid.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
-
import { d as defineCustomElement$1 } from './lottery-bullet2.js';
|
|
3
|
-
|
|
4
|
-
const lotteryGridCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.GridContainer{display:flex;flex-direction:column;max-width:1200px}.Grid{margin-top:10px 0 10px 0;display:flex;flex-direction:row;flex-wrap:wrap;gap:20px}.Grid.TicketGrid{gap:5px}";
|
|
5
|
-
|
|
6
|
-
const LotteryGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
7
|
-
constructor() {
|
|
8
|
-
super();
|
|
9
|
-
this.__registerHost();
|
|
10
|
-
this.__attachShadow();
|
|
11
|
-
this.gridFilledEvent = createEvent(this, "gridFilled", 7);
|
|
12
|
-
this.gridDirtyEvent = createEvent(this, "gridDirty", 7);
|
|
13
|
-
/**
|
|
14
|
-
* Number of bullets of grid
|
|
15
|
-
*/
|
|
16
|
-
this.totalNumbers = 0;
|
|
17
|
-
/**
|
|
18
|
-
* Number of maximum bullets that can be selected
|
|
19
|
-
*/
|
|
20
|
-
this.maximumAllowed = 0;
|
|
21
|
-
/**
|
|
22
|
-
* Minimum allowed of bullets
|
|
23
|
-
*/
|
|
24
|
-
this.minimumAllowed = 1;
|
|
25
|
-
/**
|
|
26
|
-
* Allows the user to select numbers on the grid
|
|
27
|
-
*/
|
|
28
|
-
this.selectable = true;
|
|
29
|
-
/**
|
|
30
|
-
* Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')
|
|
31
|
-
*/
|
|
32
|
-
this.selectedNumbers = '';
|
|
33
|
-
/**
|
|
34
|
-
* Show only selected numbers
|
|
35
|
-
*/
|
|
36
|
-
this.displaySelected = false;
|
|
37
|
-
/**
|
|
38
|
-
* Language
|
|
39
|
-
*/
|
|
40
|
-
this.language = 'en';
|
|
41
|
-
/**
|
|
42
|
-
* Personalize grid for ticket
|
|
43
|
-
*/
|
|
44
|
-
this.gridType = '';
|
|
45
|
-
/**
|
|
46
|
-
* Client custom styling via string
|
|
47
|
-
*/
|
|
48
|
-
this.clientStyling = '';
|
|
49
|
-
/**
|
|
50
|
-
* Client custom styling via url content
|
|
51
|
-
*/
|
|
52
|
-
this.clientStylingUrlContent = '';
|
|
53
|
-
this.numbers = [];
|
|
54
|
-
this.limitStylingAppends = false;
|
|
55
|
-
this.selectedCounter = 0;
|
|
56
|
-
this.setClientStyling = () => {
|
|
57
|
-
let sheet = document.createElement('style');
|
|
58
|
-
sheet.innerHTML = this.clientStyling;
|
|
59
|
-
this.stylingContainer.prepend(sheet);
|
|
60
|
-
};
|
|
61
|
-
this.setClientStylingURL = () => {
|
|
62
|
-
let cssFile = document.createElement('style');
|
|
63
|
-
setTimeout(() => {
|
|
64
|
-
cssFile.innerHTML = this.clientStylingUrlContent;
|
|
65
|
-
this.stylingContainer.prepend(cssFile);
|
|
66
|
-
}, 1);
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
connectedCallback() {
|
|
70
|
-
let selected = [];
|
|
71
|
-
if (this.selectedNumbers.length > 0) {
|
|
72
|
-
selected = this.selectedNumbers.split(',');
|
|
73
|
-
this.selectedCounter = selected.length;
|
|
74
|
-
}
|
|
75
|
-
if (this.displaySelected) {
|
|
76
|
-
selected.forEach((item) => {
|
|
77
|
-
this.numbers.push({
|
|
78
|
-
number: item,
|
|
79
|
-
selected: true,
|
|
80
|
-
selectable: this.selectable
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
[...Array(this.totalNumbers).keys()]
|
|
86
|
-
.map(number => (number + 1).toString())
|
|
87
|
-
.forEach((number) => {
|
|
88
|
-
this.numbers.push({
|
|
89
|
-
number,
|
|
90
|
-
selected: selected.indexOf(number) >= 0 ? true : false,
|
|
91
|
-
selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
componentDidRender() {
|
|
97
|
-
// start custom styling area
|
|
98
|
-
if (!this.limitStylingAppends && this.stylingContainer) {
|
|
99
|
-
if (this.clientStyling)
|
|
100
|
-
this.setClientStyling();
|
|
101
|
-
if (this.clientStylingUrlContent)
|
|
102
|
-
this.setClientStylingURL();
|
|
103
|
-
this.limitStylingAppends = true;
|
|
104
|
-
}
|
|
105
|
-
// end custom styling area
|
|
106
|
-
}
|
|
107
|
-
// wrote this because the classic .sort(() => 0.5 - Math.random()) method yielded low entropy shuffles for some reason on certain devices
|
|
108
|
-
shuffleArray(array) {
|
|
109
|
-
const result = [];
|
|
110
|
-
while (array.length > 0) {
|
|
111
|
-
const randomIndex = Math.floor(Math.random() * (array.length));
|
|
112
|
-
result.push(array.splice(randomIndex, 1)[0]);
|
|
113
|
-
}
|
|
114
|
-
return result;
|
|
115
|
-
}
|
|
116
|
-
lotteryBulletSelectionHandler(event) {
|
|
117
|
-
this.numbers = this.numbers.map((item) => {
|
|
118
|
-
if (item.number == event.detail.value) {
|
|
119
|
-
return {
|
|
120
|
-
number: item.number,
|
|
121
|
-
selected: event.detail.selected,
|
|
122
|
-
selectable: item.selectable
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
return {
|
|
126
|
-
number: item.number,
|
|
127
|
-
selected: item.selected,
|
|
128
|
-
selectable: item.selectable
|
|
129
|
-
};
|
|
130
|
-
});
|
|
131
|
-
if (event.detail.selected) {
|
|
132
|
-
this.selectedCounter += 1;
|
|
133
|
-
if (this.selectedCounter == this.maximumAllowed) {
|
|
134
|
-
this.numbers = this.numbers.map((item) => {
|
|
135
|
-
return {
|
|
136
|
-
number: item.number,
|
|
137
|
-
selected: item.selected,
|
|
138
|
-
selectable: item.selected ? true : false
|
|
139
|
-
};
|
|
140
|
-
});
|
|
141
|
-
this.gridFilledEvent.emit({
|
|
142
|
-
id: this.ticketId,
|
|
143
|
-
index: this.gridIndex,
|
|
144
|
-
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
if (this.selectedCounter == this.maximumAllowed) {
|
|
150
|
-
this.numbers = this.numbers.map((item) => {
|
|
151
|
-
return {
|
|
152
|
-
number: item.number,
|
|
153
|
-
selected: item.selected,
|
|
154
|
-
selectable: true
|
|
155
|
-
};
|
|
156
|
-
});
|
|
157
|
-
this.gridDirtyEvent.emit({
|
|
158
|
-
id: this.ticketId,
|
|
159
|
-
index: this.gridIndex,
|
|
160
|
-
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
this.selectedCounter -= 1;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
async resetSelectionHandler(event) {
|
|
167
|
-
if (event.detail && event.detail == this.ticketId) {
|
|
168
|
-
this.selectedCounter = 0;
|
|
169
|
-
this.numbers = this.numbers.map((item) => {
|
|
170
|
-
return {
|
|
171
|
-
number: item.number,
|
|
172
|
-
selected: false,
|
|
173
|
-
selectable: this.selectable
|
|
174
|
-
};
|
|
175
|
-
});
|
|
176
|
-
this.gridDirtyEvent.emit({
|
|
177
|
-
id: this.ticketId,
|
|
178
|
-
index: this.gridIndex,
|
|
179
|
-
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
async autoSelectionHandler(event) {
|
|
184
|
-
if (event.detail && event.detail == this.ticketId) {
|
|
185
|
-
this.resetSelectionHandler(event);
|
|
186
|
-
let array = [...Array(this.totalNumbers).keys()]
|
|
187
|
-
.map(number => number + 1);
|
|
188
|
-
array = this.shuffleArray(array);
|
|
189
|
-
array = array.slice(0, this.minimumAllowed);
|
|
190
|
-
this.numbers = this.numbers.map((item) => {
|
|
191
|
-
return {
|
|
192
|
-
number: item.number,
|
|
193
|
-
selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
|
|
194
|
-
selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
|
|
195
|
-
};
|
|
196
|
-
});
|
|
197
|
-
this.gridFilledEvent.emit({
|
|
198
|
-
id: this.ticketId,
|
|
199
|
-
index: this.gridIndex,
|
|
200
|
-
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
201
|
-
});
|
|
202
|
-
this.selectedCounter = this.maximumAllowed;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
render() {
|
|
206
|
-
return (h("div", { class: "GridContainer", ref: el => this.stylingContainer = el }, h("div", { class: this.gridType === 'ticket' ? 'Grid TicketGrid' : 'Grid' }, this.numbers.map((item) => h("div", null, h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))))));
|
|
207
|
-
}
|
|
208
|
-
static get style() { return lotteryGridCss; }
|
|
209
|
-
}, [1, "lottery-grid", {
|
|
210
|
-
"ticketId": [514, "ticket-id"],
|
|
211
|
-
"totalNumbers": [514, "total-numbers"],
|
|
212
|
-
"gameId": [513, "game-id"],
|
|
213
|
-
"maximumAllowed": [514, "maximum-allowed"],
|
|
214
|
-
"minimumAllowed": [514, "minimum-allowed"],
|
|
215
|
-
"selectable": [516],
|
|
216
|
-
"selectedNumbers": [513, "selected-numbers"],
|
|
217
|
-
"displaySelected": [516, "display-selected"],
|
|
218
|
-
"language": [513],
|
|
219
|
-
"gridIndex": [514, "grid-index"],
|
|
220
|
-
"gridType": [513, "grid-type"],
|
|
221
|
-
"clientStyling": [513, "client-styling"],
|
|
222
|
-
"clientStylingUrlContent": [513, "client-styling-url-content"],
|
|
223
|
-
"numbers": [32],
|
|
224
|
-
"limitStylingAppends": [32]
|
|
225
|
-
}, [[0, "lotteryBulletSelection", "lotteryBulletSelectionHandler"], [4, "resetSelection", "resetSelectionHandler"], [4, "autoSelection", "autoSelectionHandler"]]]);
|
|
226
|
-
function defineCustomElement() {
|
|
227
|
-
if (typeof customElements === "undefined") {
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
const components = ["lottery-grid", "lottery-bullet"];
|
|
231
|
-
components.forEach(tagName => { switch (tagName) {
|
|
232
|
-
case "lottery-grid":
|
|
233
|
-
if (!customElements.get(tagName)) {
|
|
234
|
-
customElements.define(tagName, LotteryGrid);
|
|
235
|
-
}
|
|
236
|
-
break;
|
|
237
|
-
case "lottery-bullet":
|
|
238
|
-
if (!customElements.get(tagName)) {
|
|
239
|
-
defineCustomElement$1();
|
|
240
|
-
}
|
|
241
|
-
break;
|
|
242
|
-
} });
|
|
243
|
-
}
|
|
244
|
-
defineCustomElement();
|
|
245
|
-
|
|
246
|
-
export { LotteryGrid as L, defineCustomElement as d };
|
|
247
|
-
|
|
248
|
-
//# sourceMappingURL=lottery-grid2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"lottery-grid2.js","mappings":"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","names":[],"sources":["../lottery-grid/dist/collection/components/lottery-grid/lottery-grid.css?tag=lottery-grid&encapsulation=shadow","../lottery-grid/dist/collection/components/lottery-grid/lottery-grid.js"],"sourcesContent":["@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");\n:host {\n display: block;\n font-family: \"Roboto\", sans-serif;\n}\n\n.GridContainer {\n display: flex;\n flex-direction: column;\n max-width: 1200px;\n}\n\n.Grid {\n margin-top: 10px 0 10px 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 20px;\n}\n.Grid.TicketGrid {\n gap: 5px;\n}","import { Component, h, Prop, Listen, State, Event } from '@stencil/core';\n// import { translate } from '../../utils/locale.utils';\nimport '@everymatrix/lottery-bullet';\nexport class LotteryGrid {\n constructor() {\n /**\n * Number of bullets of grid\n */\n this.totalNumbers = 0;\n /**\n * Number of maximum bullets that can be selected\n */\n this.maximumAllowed = 0;\n /**\n * Minimum allowed of bullets\n */\n this.minimumAllowed = 1;\n /**\n * Allows the user to select numbers on the grid\n */\n this.selectable = true;\n /**\n * Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')\n */\n this.selectedNumbers = '';\n /**\n * Show only selected numbers\n */\n this.displaySelected = false;\n /**\n * Language\n */\n this.language = 'en';\n /**\n * Personalize grid for ticket\n */\n this.gridType = '';\n /**\n * Client custom styling via string\n */\n this.clientStyling = '';\n /**\n * Client custom styling via url content\n */\n this.clientStylingUrlContent = '';\n this.numbers = [];\n this.limitStylingAppends = false;\n this.selectedCounter = 0;\n this.setClientStyling = () => {\n let sheet = document.createElement('style');\n sheet.innerHTML = this.clientStyling;\n this.stylingContainer.prepend(sheet);\n };\n this.setClientStylingURL = () => {\n let cssFile = document.createElement('style');\n setTimeout(() => {\n cssFile.innerHTML = this.clientStylingUrlContent;\n this.stylingContainer.prepend(cssFile);\n }, 1);\n };\n }\n connectedCallback() {\n let selected = [];\n if (this.selectedNumbers.length > 0) {\n selected = this.selectedNumbers.split(',');\n this.selectedCounter = selected.length;\n }\n if (this.displaySelected) {\n selected.forEach((item) => {\n this.numbers.push({\n number: item,\n selected: true,\n selectable: this.selectable\n });\n });\n }\n else {\n [...Array(this.totalNumbers).keys()]\n .map(number => (number + 1).toString())\n .forEach((number) => {\n this.numbers.push({\n number,\n selected: selected.indexOf(number) >= 0 ? true : false,\n selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable\n });\n });\n }\n }\n componentDidRender() {\n // start custom styling area\n if (!this.limitStylingAppends && this.stylingContainer) {\n if (this.clientStyling)\n this.setClientStyling();\n if (this.clientStylingUrlContent)\n this.setClientStylingURL();\n this.limitStylingAppends = true;\n }\n // end custom styling area\n }\n // wrote this because the classic .sort(() => 0.5 - Math.random()) method yielded low entropy shuffles for some reason on certain devices\n shuffleArray(array) {\n const result = [];\n while (array.length > 0) {\n const randomIndex = Math.floor(Math.random() * (array.length));\n result.push(array.splice(randomIndex, 1)[0]);\n }\n return result;\n }\n lotteryBulletSelectionHandler(event) {\n this.numbers = this.numbers.map((item) => {\n if (item.number == event.detail.value) {\n return {\n number: item.number,\n selected: event.detail.selected,\n selectable: item.selectable\n };\n }\n return {\n number: item.number,\n selected: item.selected,\n selectable: item.selectable\n };\n });\n if (event.detail.selected) {\n this.selectedCounter += 1;\n if (this.selectedCounter == this.maximumAllowed) {\n this.numbers = this.numbers.map((item) => {\n return {\n number: item.number,\n selected: item.selected,\n selectable: item.selected ? true : false\n };\n });\n this.gridFilledEvent.emit({\n id: this.ticketId,\n index: this.gridIndex,\n selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)\n });\n }\n }\n else {\n if (this.selectedCounter == this.maximumAllowed) {\n this.numbers = this.numbers.map((item) => {\n return {\n number: item.number,\n selected: item.selected,\n selectable: true\n };\n });\n this.gridDirtyEvent.emit({\n id: this.ticketId,\n index: this.gridIndex,\n selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)\n });\n }\n this.selectedCounter -= 1;\n }\n }\n async resetSelectionHandler(event) {\n if (event.detail && event.detail == this.ticketId) {\n this.selectedCounter = 0;\n this.numbers = this.numbers.map((item) => {\n return {\n number: item.number,\n selected: false,\n selectable: this.selectable\n };\n });\n this.gridDirtyEvent.emit({\n id: this.ticketId,\n index: this.gridIndex,\n selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)\n });\n }\n }\n async autoSelectionHandler(event) {\n if (event.detail && event.detail == this.ticketId) {\n this.resetSelectionHandler(event);\n let array = [...Array(this.totalNumbers).keys()]\n .map(number => number + 1);\n array = this.shuffleArray(array);\n array = array.slice(0, this.minimumAllowed);\n this.numbers = this.numbers.map((item) => {\n return {\n number: item.number,\n selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,\n selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,\n };\n });\n this.gridFilledEvent.emit({\n id: this.ticketId,\n index: this.gridIndex,\n selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)\n });\n this.selectedCounter = this.maximumAllowed;\n }\n }\n render() {\n return (h(\"div\", { class: \"GridContainer\", ref: el => this.stylingContainer = el },\n h(\"div\", { class: this.gridType === 'ticket' ? 'Grid TicketGrid' : 'Grid' }, this.numbers.map((item) => h(\"div\", null,\n h(\"lottery-bullet\", { value: item.number, selectable: item.selectable, \"is-selected\": item.selected, \"client-styling\": this.clientStyling, \"client-styling-url-content\": this.clientStylingUrlContent }))))));\n }\n static get is() { return \"lottery-grid\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"lottery-grid.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"lottery-grid.css\"]\n }; }\n static get properties() { return {\n \"ticketId\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Identifier for the ticket\"\n },\n \"attribute\": \"ticket-id\",\n \"reflect\": true\n },\n \"totalNumbers\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Number of bullets of grid\"\n },\n \"attribute\": \"total-numbers\",\n \"reflect\": true,\n \"defaultValue\": \"0\"\n },\n \"gameId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Game ID\"\n },\n \"attribute\": \"game-id\",\n \"reflect\": true\n },\n \"maximumAllowed\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Number of maximum bullets that can be selected\"\n },\n \"attribute\": \"maximum-allowed\",\n \"reflect\": true,\n \"defaultValue\": \"0\"\n },\n \"minimumAllowed\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Minimum allowed of bullets\"\n },\n \"attribute\": \"minimum-allowed\",\n \"reflect\": true,\n \"defaultValue\": \"1\"\n },\n \"selectable\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Allows the user to select numbers on the grid\"\n },\n \"attribute\": \"selectable\",\n \"reflect\": true,\n \"defaultValue\": \"true\"\n },\n \"selectedNumbers\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')\"\n },\n \"attribute\": \"selected-numbers\",\n \"reflect\": true,\n \"defaultValue\": \"''\"\n },\n \"displaySelected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Show only selected numbers\"\n },\n \"attribute\": \"display-selected\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"language\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Language\"\n },\n \"attribute\": \"language\",\n \"reflect\": true,\n \"defaultValue\": \"'en'\"\n },\n \"gridIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The index of the number\"\n },\n \"attribute\": \"grid-index\",\n \"reflect\": true\n },\n \"gridType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Personalize grid for ticket\"\n },\n \"attribute\": \"grid-type\",\n \"reflect\": true,\n \"defaultValue\": \"''\"\n },\n \"clientStyling\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Client custom styling via string\"\n },\n \"attribute\": \"client-styling\",\n \"reflect\": true,\n \"defaultValue\": \"''\"\n },\n \"clientStylingUrlContent\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Client custom styling via url content\"\n },\n \"attribute\": \"client-styling-url-content\",\n \"reflect\": true,\n \"defaultValue\": \"''\"\n }\n }; }\n static get states() { return {\n \"numbers\": {},\n \"limitStylingAppends\": {}\n }; }\n static get events() { return [{\n \"method\": \"gridFilledEvent\",\n \"name\": \"gridFilled\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"When the grid is completed, it emits this event with selected numbers\"\n },\n \"complexType\": {\n \"original\": \"GridEvent\",\n \"resolved\": \"GridEvent\",\n \"references\": {\n \"GridEvent\": {\n \"location\": \"import\",\n \"path\": \"./lottery-grid.types\"\n }\n }\n }\n }, {\n \"method\": \"gridDirtyEvent\",\n \"name\": \"gridDirty\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"When the grid is uncomplete after being completed once (reset or change), it emits this event\"\n },\n \"complexType\": {\n \"original\": \"GridEvent\",\n \"resolved\": \"GridEvent\",\n \"references\": {\n \"GridEvent\": {\n \"location\": \"import\",\n \"path\": \"./lottery-grid.types\"\n }\n }\n }\n }]; }\n static get listeners() { return [{\n \"name\": \"lotteryBulletSelection\",\n \"method\": \"lotteryBulletSelectionHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"resetSelection\",\n \"method\": \"resetSelectionHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"autoSelection\",\n \"method\": \"autoSelectionHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }]; }\n}\n"],"version":3}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { L as LotteryTicketController$1, d as defineCustomElement$1 } from './lottery-ticket-controller2.js';
|
|
2
|
-
|
|
3
|
-
const LotteryTicketController = LotteryTicketController$1;
|
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
|
5
|
-
|
|
6
|
-
export { LotteryTicketController, defineCustomElement };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=lottery-ticket-controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"lottery-ticket-controller.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
-
import { d as defineCustomElement$4 } from './helper-accordion2.js';
|
|
3
|
-
import { d as defineCustomElement$3 } from './lottery-bullet2.js';
|
|
4
|
-
import { d as defineCustomElement$2 } from './lottery-grid2.js';
|
|
5
|
-
import { d as defineCustomElement$1 } from './lottery-ticket2.js';
|
|
6
|
-
|
|
7
|
-
const DEFAULT_LANGUAGE = 'en';
|
|
8
|
-
const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
|
|
9
|
-
const TRANSLATIONS = {
|
|
10
|
-
en: {
|
|
11
|
-
ticket: 'Ticket',
|
|
12
|
-
},
|
|
13
|
-
ro: {
|
|
14
|
-
ticket: 'Bilet',
|
|
15
|
-
},
|
|
16
|
-
fr: {
|
|
17
|
-
ticket: 'Billet'
|
|
18
|
-
},
|
|
19
|
-
ar: {
|
|
20
|
-
ticket: 'تذكرة',
|
|
21
|
-
},
|
|
22
|
-
hr: {
|
|
23
|
-
ticket: 'Listić',
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
const translate = (key, customLang) => {
|
|
27
|
-
const lang = customLang;
|
|
28
|
-
return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const lotteryTicketControllerCss = ":host{font-family:\"Roboto\", system-ui, -apple-system, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\";font-size:0.8rem}*,*::before,*::after{margin:0;padding:0;list-style:none;outline:none;box-sizing:border-box}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.player-account-gaming-limits-popup-2{background:var(--emfe-w-color-black, #000000);color:var(--emfe-w-color-white, #000)}.Title{font-weight:800;font-size:18px}button{display:block;font-size:0.75rem;padding:12px 0;border:0;border-radius:2px;cursor:pointer}button.PrimaryButtonStyle{font-size:14px;color:#fff;background:#7ac317}button.SecondaryButtonStyle{border:1px solid #999;color:#666;background:#fff}.LinkButton{display:inline;padding:0;color:#3366CC;text-decoration:underline;background-color:rgba(0, 0, 0, 0)}.ResultIconWrapper{display:flex;flex-direction:column;align-items:center;margin:12px 0}.ResultIconWrapper svg{height:auto;width:60px;margin:12px}.ResultIconWrapper p{color:#666}.Overlay{position:absolute;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center}.ModalContainer{position:fixed;top:30vh;width:320px;height:auto;padding:18px 14px;background:#fff;border-radius:4px}.InitialWrapper{display:flex;flex-direction:column;gap:12px}.AdditionalInformation{margin:10px 0;font-size:14px}.TermsConditions{font-size:12px}.ExpandButton{font-size:14px;background-color:#fff;border:0;padding:0;margin-top:-10px;color:#999;display:flex;justify-content:center;align-items:center;cursor:pointer}.ExpandButton svg{width:28px;height:auto;margin-left:-4px}.LeftAlign{text-align:left;font-size:16px}.CenterAlign{text-align:center}.SetLimitSection{display:flex;flex-direction:column;gap:6px}.DepositTextSection{display:flex;justify-content:space-between}.DepositInputSection{height:32px;display:flex;gap:4px}.DepositInput{flex-grow:1;padding:0 6px}.SubmitDepositButton{flex-grow:1;font-size:0.75rem;padding:0}.SubmitDepositButton[disabled]{align-items:center;color:#ccc;cursor:not-allowed;background:#fff;border:#ccc 1px solid}.Hidden{display:none}.Extended{transform:rotate(180deg)}";
|
|
32
|
-
|
|
33
|
-
const LotteryTicketController = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
34
|
-
constructor() {
|
|
35
|
-
super();
|
|
36
|
-
this.__registerHost();
|
|
37
|
-
this.__attachShadow();
|
|
38
|
-
this.deleteTicketEvent = createEvent(this, "deleteTicket", 7);
|
|
39
|
-
/**
|
|
40
|
-
* Endpoint URL for the source of data (NorWAy standard)
|
|
41
|
-
*/
|
|
42
|
-
this.endpoint = '';
|
|
43
|
-
/**
|
|
44
|
-
* Ticket number
|
|
45
|
-
*/
|
|
46
|
-
this.ticketId = 1;
|
|
47
|
-
/**
|
|
48
|
-
* Activates postMessages as events for actions from the widget
|
|
49
|
-
*/
|
|
50
|
-
this.postMessage = false;
|
|
51
|
-
/**
|
|
52
|
-
* Name of the event emitter by the action button
|
|
53
|
-
*/
|
|
54
|
-
this.eventName = 'deleteTicketAction';
|
|
55
|
-
/**
|
|
56
|
-
* Collapsed
|
|
57
|
-
*/
|
|
58
|
-
this.collapsed = true;
|
|
59
|
-
/**
|
|
60
|
-
* Number of grids?
|
|
61
|
-
*/
|
|
62
|
-
this.numberOfGrids = 1;
|
|
63
|
-
/**
|
|
64
|
-
* This toggles if the last ticket added should be expanded or not
|
|
65
|
-
*/
|
|
66
|
-
this.last = false;
|
|
67
|
-
/**
|
|
68
|
-
* Language
|
|
69
|
-
*/
|
|
70
|
-
this.language = 'en';
|
|
71
|
-
/**
|
|
72
|
-
* Shows the auto-pick button
|
|
73
|
-
*/
|
|
74
|
-
this.autoPick = false;
|
|
75
|
-
/**
|
|
76
|
-
* Shows the reset button
|
|
77
|
-
*/
|
|
78
|
-
this.resetButton = false;
|
|
79
|
-
/**
|
|
80
|
-
* Number of ticket controllers
|
|
81
|
-
*/
|
|
82
|
-
this.totalControllers = 1;
|
|
83
|
-
/**
|
|
84
|
-
* Client custom styling via string
|
|
85
|
-
*/
|
|
86
|
-
this.clientStyling = '';
|
|
87
|
-
/**
|
|
88
|
-
* Client custom styling via url content
|
|
89
|
-
*/
|
|
90
|
-
this.clientStylingUrlContent = '';
|
|
91
|
-
this.limitStylingAppends = false;
|
|
92
|
-
this.setClientStyling = () => {
|
|
93
|
-
let sheet = document.createElement('style');
|
|
94
|
-
sheet.innerHTML = this.clientStyling;
|
|
95
|
-
this.stylingContainer.prepend(sheet);
|
|
96
|
-
};
|
|
97
|
-
this.setClientStylingURL = () => {
|
|
98
|
-
let cssFile = document.createElement('style');
|
|
99
|
-
setTimeout(() => {
|
|
100
|
-
cssFile.innerHTML = this.clientStylingUrlContent;
|
|
101
|
-
this.stylingContainer.prepend(cssFile);
|
|
102
|
-
}, 1);
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
// @TODO fix the `any` type
|
|
106
|
-
helperAccordionActionHandler() {
|
|
107
|
-
if (this.postMessage) {
|
|
108
|
-
window.postMessage({ type: this.eventName }, window.location.href);
|
|
109
|
-
}
|
|
110
|
-
this.deleteTicketEvent.emit({
|
|
111
|
-
ticketId: this.ticketId
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
componentDidRender() {
|
|
115
|
-
// start custom styling area
|
|
116
|
-
if (!this.limitStylingAppends && this.stylingContainer) {
|
|
117
|
-
if (this.clientStyling)
|
|
118
|
-
this.setClientStyling();
|
|
119
|
-
if (this.clientStylingUrlContent)
|
|
120
|
-
this.setClientStylingURL();
|
|
121
|
-
this.limitStylingAppends = true;
|
|
122
|
-
}
|
|
123
|
-
// end custom styling area
|
|
124
|
-
}
|
|
125
|
-
render() {
|
|
126
|
-
console.log('ticket id:', this.ticketId);
|
|
127
|
-
return (h("div", { class: "LotteryTicketControllerContainer", ref: el => this.stylingContainer = el }, h("helper-accordion", { "header-title": `${translate('ticket', this.language)} ${this.ticketId}`, "header-subtitle": this.ticketDescription, footer: true, "delete-tab": this.totalControllers !== 1, collapsed: !this.last || this.collapsed, language: this.language, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }, h("div", { slot: "accordionContent" }, h("lottery-ticket", { endpoint: this.endpoint, "game-id": this.gameId, "ticket-id": this.ticketId, "number-of-grids": this.numberOfGrids, language: this.language, "reset-button": this.resetButton, "auto-pick": this.autoPick, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent })))));
|
|
128
|
-
}
|
|
129
|
-
static get style() { return lotteryTicketControllerCss; }
|
|
130
|
-
}, [1, "lottery-ticket-controller", {
|
|
131
|
-
"endpoint": [513],
|
|
132
|
-
"ticketId": [514, "ticket-id"],
|
|
133
|
-
"ticketDescription": [513, "ticket-description"],
|
|
134
|
-
"gameId": [513, "game-id"],
|
|
135
|
-
"postMessage": [516, "post-message"],
|
|
136
|
-
"eventName": [513, "event-name"],
|
|
137
|
-
"collapsed": [516],
|
|
138
|
-
"numberOfGrids": [514, "number-of-grids"],
|
|
139
|
-
"last": [516],
|
|
140
|
-
"language": [513],
|
|
141
|
-
"autoPick": [516, "auto-pick"],
|
|
142
|
-
"resetButton": [516, "reset-button"],
|
|
143
|
-
"totalControllers": [514, "total-controllers"],
|
|
144
|
-
"clientStyling": [513, "client-styling"],
|
|
145
|
-
"clientStylingUrlContent": [513, "client-styling-url-content"],
|
|
146
|
-
"limitStylingAppends": [32]
|
|
147
|
-
}, [[0, "helperAccordionAction", "helperAccordionActionHandler"]]]);
|
|
148
|
-
function defineCustomElement() {
|
|
149
|
-
if (typeof customElements === "undefined") {
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
const components = ["lottery-ticket-controller", "helper-accordion", "lottery-bullet", "lottery-grid", "lottery-ticket"];
|
|
153
|
-
components.forEach(tagName => { switch (tagName) {
|
|
154
|
-
case "lottery-ticket-controller":
|
|
155
|
-
if (!customElements.get(tagName)) {
|
|
156
|
-
customElements.define(tagName, LotteryTicketController);
|
|
157
|
-
}
|
|
158
|
-
break;
|
|
159
|
-
case "helper-accordion":
|
|
160
|
-
if (!customElements.get(tagName)) {
|
|
161
|
-
defineCustomElement$4();
|
|
162
|
-
}
|
|
163
|
-
break;
|
|
164
|
-
case "lottery-bullet":
|
|
165
|
-
if (!customElements.get(tagName)) {
|
|
166
|
-
defineCustomElement$3();
|
|
167
|
-
}
|
|
168
|
-
break;
|
|
169
|
-
case "lottery-grid":
|
|
170
|
-
if (!customElements.get(tagName)) {
|
|
171
|
-
defineCustomElement$2();
|
|
172
|
-
}
|
|
173
|
-
break;
|
|
174
|
-
case "lottery-ticket":
|
|
175
|
-
if (!customElements.get(tagName)) {
|
|
176
|
-
defineCustomElement$1();
|
|
177
|
-
}
|
|
178
|
-
break;
|
|
179
|
-
} });
|
|
180
|
-
}
|
|
181
|
-
defineCustomElement();
|
|
182
|
-
|
|
183
|
-
export { LotteryTicketController as L, defineCustomElement as d };
|
|
184
|
-
|
|
185
|
-
//# sourceMappingURL=lottery-ticket-controller2.js.map
|