@everymatrix/lottery-draw-results 0.1.2 → 0.1.4

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.
@@ -8,7 +8,7 @@ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  export namespace Components {
9
9
  interface LotteryDrawResults {
10
10
  /**
11
- * Shows results for a specific drawID (option)
11
+ * The drawID (option)
12
12
  */
13
13
  "drawId": string;
14
14
  /**
@@ -23,6 +23,9 @@ export namespace Components {
23
23
  * GameID of the lottery game
24
24
  */
25
25
  "gameId": string;
26
+ /**
27
+ * The game name
28
+ */
26
29
  "gameName": string;
27
30
  /**
28
31
  * Language of the widget
@@ -32,6 +35,30 @@ export namespace Components {
32
35
  * Player ID
33
36
  */
34
37
  "playerId": string;
38
+ /**
39
+ * The ticket amount
40
+ */
41
+ "ticketAmount": string;
42
+ /**
43
+ * The ticket submission date
44
+ */
45
+ "ticketDate": string;
46
+ /**
47
+ * The ticket draw count
48
+ */
49
+ "ticketDrawCount": number;
50
+ /**
51
+ * The ticket id
52
+ */
53
+ "ticketId": string;
54
+ /**
55
+ * The ticket multiplier
56
+ */
57
+ "ticketMultiplier": boolean;
58
+ /**
59
+ * The ticket status
60
+ */
61
+ "ticketStatus": string;
35
62
  }
36
63
  }
37
64
  declare global {
@@ -48,7 +75,7 @@ declare global {
48
75
  declare namespace LocalJSX {
49
76
  interface LotteryDrawResults {
50
77
  /**
51
- * Shows results for a specific drawID (option)
78
+ * The drawID (option)
52
79
  */
53
80
  "drawId"?: string;
54
81
  /**
@@ -63,6 +90,9 @@ declare namespace LocalJSX {
63
90
  * GameID of the lottery game
64
91
  */
65
92
  "gameId"?: string;
93
+ /**
94
+ * The game name
95
+ */
66
96
  "gameName"?: string;
67
97
  /**
68
98
  * Language of the widget
@@ -72,6 +102,30 @@ declare namespace LocalJSX {
72
102
  * Player ID
73
103
  */
74
104
  "playerId"?: string;
105
+ /**
106
+ * The ticket amount
107
+ */
108
+ "ticketAmount"?: string;
109
+ /**
110
+ * The ticket submission date
111
+ */
112
+ "ticketDate"?: string;
113
+ /**
114
+ * The ticket draw count
115
+ */
116
+ "ticketDrawCount"?: number;
117
+ /**
118
+ * The ticket id
119
+ */
120
+ "ticketId"?: string;
121
+ /**
122
+ * The ticket multiplier
123
+ */
124
+ "ticketMultiplier"?: boolean;
125
+ /**
126
+ * The ticket status
127
+ */
128
+ "ticketStatus"?: string;
75
129
  }
76
130
  interface IntrinsicElements {
77
131
  "lottery-draw-results": LotteryDrawResults;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/lottery-draw-results",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "main": "./dist/index.cjs.js",
5
5
  "module": "./dist/index.js",
6
6
  "es2015": "./dist/esm/index.mjs",
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as i}from"./p-bb429486.js";const s=class{constructor(i){t(this,i),this.bulletEvent=e(this,"lotteryBulletSelection",7),this.value="0",this.selectable=!0,this.isSelected=!1,this.select=()=>{this.selectable&&(this.isSelected=!this.isSelected,this.bulletEvent.emit({value:this.value,selected:this.isSelected}))}}render(){return i("div",{class:"Circle "+(this.selectable?"":"Disabled")+(this.isSelected?"Selected":""),onClick:()=>this.select()},this.value)}};s.style='@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap");:host{display:block;font-family:"Roboto", sans-serif}.Circle{cursor:pointer;color:#000000;display:block;background:#FFF;border:solid 2px #00958f;height:20px;width:20px;border-radius:50%;margin:0;display:flex;align-items:center;justify-content:center;user-select:none;font-size:12px;font-weight:600;position:relative}.Circle:hover{background:#aee4e2}.Circle.Selected{color:#ffffff;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #00958f}.Circle.Disabled{color:#707070;background:#D4D4D4;border:solid 2px #707070;cursor:default}.Circle.DisabledSelected{color:#ffffff;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #707070;cursor:default}';const a=["ro","en"],l={en:{drawResultsHeader:"Last draw results",drawId:"Draw ID",drawName:"Game name",drawDate:"Draw Date",drawNumbersGridDraw:"Draw numbers Grid A",drawNumbersGridTicket:"Draw numbers Grid B",ticketResult:"Ticket result",amountWon:"Amount won",numberOfDraws:"Number of draws"},ro:{drawResultsHeader:"Ultimele rezultate extragere",drawId:"Id extragere",drawName:"Numele jocului",drawDate:"Data extragerii",drawNumbersGridDraw:"Numerele extrase Grid A",drawNumbersGridTicket:"Numerele extrase Grid B",ticketResult:"Rezultatul biletului",amountWon:"Suma castigata",numberOfDraws:"Numarul de extrageri"}},r=(t,e)=>{const i=e;return l[void 0!==i&&a.includes(i)?i:"en"][t]},o={gamename:"Chrono",gamedate:"24/09/2022",state:"Processing",amount:304444,ticketid:"6963444",selection:"[5, 6, 7, 8, 9]",multiplier:4.5,resultstatus:"Processing",drawstatus:"Won",drawamount:1022,drawid:"54545555",drawdate:"24/09/2032"},d=class{constructor(e){t(this,e),this.language="en",this.drawMode=!1,this.gameName="",this.multiplier=5.434,this.ticketData={},this.isLoading=!0,this.drawResults=[],this.rules={},this.toggleDrawer=[!1],this.hasErrors=!1,this.errorText="",this.changeBox=t=>{this.toggleDrawer=this.toggleDrawer.map(((e,i)=>i==t?!e:e)),t>=this.toggleDrawer.length&&this.toggleDrawer.push(!0)}}connectedCallback(){let t=[];t.push(this.getGameData()),this.playerId&&t.push(this.getTicketData()),this.drawId&&t.push(this.getDrawData()),Promise.all(t).then((()=>{this.isLoading=!1}))}getDrawData(){return new Promise(((t,e)=>{let i=new URL(`${this.endpoint}/games/${this.gameId}/draws/${this.drawId}`);fetch(i.href).then((t=>t.json())).then((e=>{this.drawData=e,t(!0)})).catch((t=>{e(t)}))}))}getGameData(){return new Promise(((t,e)=>{let i=new URL(`${this.endpoint}/games/${this.gameId}`);fetch(i.href).then((t=>t.json())).then((e=>{this.rules={maximumAllowed:e.rules.boards[0].maximumAllowed,totalNumbers:e.rules.boards[0].totalNumbers},t(!0)})).catch((t=>{this.isLoading=!1,this.hasErrors=!0,this.errorText=t,e(t)}))}))}getTicketData(){return new Promise(((t,e)=>{let i=new URL(`${this.endpoint}/tickets/player/${this.playerId}`);fetch(i.href).then((t=>t.json())).then((e=>{this.ticketData=0===e.length?o:e[1],this.drawResults=this.ticketData.drawResults.map((t=>t)),this.selection=this.ticketData.selection[0].join(","),t(!0)})).catch((t=>{e(t)}))}))}render(){var t,e,s,a,l,o;return this.isLoading?i("p",null,"Loading, please wait ..."):this.hasErrors?void i("p",null,this.errorText):i("section",{class:"DrawResultsSection"},this.drawMode?i("div",{class:"DrawResultsArea"},this.drawData&&i("div",null,i("div",{class:"DrawResultsHeader"},i("span",null,r("drawId",this.language),": ",this.drawData.id),i("span",null,r("drawDate",this.language),": ",this.drawData.date.slice(0,10))),i("div",{class:"DrawResultsBody"},i("div",{class:"DrawNumbersGrid"},i("p",null,r("drawNumbersGridDraw",this.language),":"),i("div",{class:"BulletContainer"},i("lottery-grid",{"maximum-allowed":this.rules.maximumAllowed,"total-numbers":this.rules.totalNumbers,selectedNumbers:this.drawData.winningNumbers.join(","),"display-selected":!0,selectable:!1,language:this.language})),i("div",{class:"DrawMultipler"},i("label",{class:"Label"},"Multiplier: ",this.multiplier)))))):i("div",{class:"DrawResultsArea"},i("div",{class:"TicketInfo"},i("div",{class:"TicketGameName"},r("drawName",this.language),": ",i("span",null,this.gameName)),i("div",{class:"TicketDate"},"Ticket Purchase Date: ",i("span",null,null===(t=this.ticketData)||void 0===t?void 0:t.createdAt.slice(0,10))),i("div",{class:"TicketStatus"},"Status: ",i("span",null,null===(e=this.ticketData)||void 0===e?void 0:e.state))),i("div",{class:"DrawResultsBody"},i("div",{class:"TicketIdContainer"},i("p",null,"Ticket id: ",i("span",null,null===(s=this.ticketData)||void 0===s?void 0:s.id))),i("div",{class:"TicketAmountContainer"},i("p",null,"Ticket amount: ",i("span",null,null===(a=this.ticketData)||void 0===a?void 0:a.amount))),i("div",{class:"DrawNumbersGrid"},i("p",null,r("drawNumbersGridTicket",this.language),":"),i("div",{class:"BulletContainer"},i("lottery-grid",{"maximum-allowed":this.rules.maximumAllowed,"total-numbers":this.rules.totalNumbers,"selected-numbers":this.selection,selectable:!1,"display-selected":!0,language:this.language}))),i("div",{class:"DrawMultipler"},i("label",{class:"Label"},"Multiplier: ",i("span",null,JSON.stringify(null===(l=this.ticketData)||void 0===l?void 0:l.multiplier)))),i("div",{class:"NumberOfDrawsContainer"},i("p",null,r("numberOfDraws",this.language),": ",null===(o=this.ticketData)||void 0===o?void 0:o.drawCount),i("div",{class:"DrawTicketsContainer"},this.drawResults.map(((t,e)=>i("div",{class:"ExpandableBoxes"},i("div",{class:this.toggleDrawer[e]?"ExpandableBox ShowBox":"ExpandableBox",onClick:()=>this.changeBox(e)},i("div",{class:"TicketResultContainer"},i("p",null,r("ticketResult",this.language),": ",t.status)),"won"==t.state&&i("div",{class:"AmountWonContainer"},i("p",null,r("amountWon",this.language),": ",Number(t.amount).toLocaleString("en")," ",t.currency)),i("div",{class:"DrawIdContainer"},i("p",null,r("drawId",this.language),": ",t.drawId)),i("div",{class:"DrawDateContainer"},i("p",null,r("drawDate",this.language),": ",t.updatedAt.slice(0,10)," | ",t.updatedAt.slice(11,19))),i("div",{class:"DrawNumbersGrid"}),i("div",{class:"DrawMultipler"},i("label",{class:"Label"},"Multiplier: ",t.multiplier)))))))))))}};d.style='@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap");:host{display:block;font-family:"Roboto", sans-serif}.TicketInfo{display:flex;flex-direction:row;gap:15px;background-color:#009993;color:#fff;padding:12px;font-size:14px}.DrawResultsSection{max-width:500px;margin:0 auto;margin:0px auto 10px;border-radius:4px}.DrawResultsHeader{display:flex;justify-content:space-between;padding:10px 20px;background-color:#009993;color:#fff;font-size:14px}.DrawResultsHeader h4{text-transform:uppercase;font-weight:400;margin:0}.DrawMultipler label{display:block;margin:15px 0}.DrawResultsBody{padding:0 20px}.DrawResultsBody .DrawNumbersGrid{font-size:14px}.DrawResultsBody .NumberOfDrawsContainer{display:table;width:100%}.Toggle{cursor:pointer;display:inline-block}.ToggleSwitch{display:inline-block;background:#ccc;border-radius:16px;width:58px;height:24px;position:relative;vertical-align:middle;transition:background 0.25s}.ToggleSwitch:before,.ToggleSwitch:after{content:""}.ToggleSwitch:before{display:block;background:linear-gradient(to bottom, #fff 0%, #eee 100%);border-radius:50%;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.25);width:16px;height:16px;position:absolute;top:4px;left:4px;transition:left 0.25s}.Toggle:hover .ToggleSwitch:before{background:linear-gradient(to bottom, #fff 0%, #fff 100%);box-shadow:0 0 0 1px rgba(0, 0, 0, 0.5)}.ToggleCheckbox:checked+.ToggleSwitch{background:#56c080}.ToggleCheckbox:checked+.ToggleSwitch:before{left:38px}.ToggleCheckbox{position:absolute;visibility:hidden}.Label{margin-right:5px;position:relative;top:2px}.DrawTicketsContainer{margin:30px auto}.ExpandableBoxes{position:relative}.ExpandableBox{width:100%;height:100%;max-height:100px;float:left;margin:0 0 20px 0;border:1px solid #009993;border-radius:4px;padding:10px;box-sizing:border-box;-webkit-transition:all 0.6s ease-in-out;-moz-transition:all 0.6s ease-in-out;-o-transition:all 0.6s ease-in-out;-ms-transition:all 0.6s ease-in-out;transition:all 0.6s ease-in-out;overflow:hidden}.ExpandableBox.ShowBox{max-height:400px;margin:0px 0px 20p 0px}.ExpandableBox.HideBox{width:0;height:0;overflow:hidden;border:none;padding:0;margin:0;opacity:0}';const n=class{constructor(i){t(this,i),this.gridFilledEvent=e(this,"gridFilled",7),this.gridDirtyEvent=e(this,"gridDirty",7),this.totalNumbers=0,this.maximumAllowed=0,this.minimumAllowed=1,this.selectable=!0,this.selectedNumbers="",this.displaySelected=!1,this.language="en",this.numbers=[],this.selectedCounter=0}connectedCallback(){let t=[];this.selectedNumbers.length>0&&(t=this.selectedNumbers.split(","),this.selectedCounter=t.length),this.displaySelected?t.forEach((t=>{this.numbers.push({number:t,selected:!0,selectable:this.selectable})})):[...Array(this.totalNumbers).keys()].map((t=>(t+1).toString())).forEach((e=>{this.numbers.push({number:e,selected:t.indexOf(e)>=0,selectable:this.selectedCounter!=this.maximumAllowed&&this.selectable})}))}lotteryBulletSelectionHandler(t){this.numbers=this.numbers.map((e=>e.number==t.detail.value?{number:e.number,selected:t.detail.selected,selectable:e.selectable}:{number:e.number,selected:e.selected,selectable:e.selectable})),t.detail.selected?(this.selectedCounter+=1,this.selectedCounter==this.maximumAllowed&&(this.numbers=this.numbers.map((t=>({number:t.number,selected:t.selected,selectable:!!t.selected}))),this.gridFilledEvent.emit({id:this.ticketId,index:this.gridIndex,selectedNumbers:this.numbers.filter((t=>t.selected)).map((t=>t.number))}))):(this.selectedCounter==this.maximumAllowed&&(this.numbers=this.numbers.map((t=>({number:t.number,selected:t.selected,selectable:!0}))),this.gridDirtyEvent.emit({id:this.ticketId,index:this.gridIndex,selectedNumbers:this.numbers.filter((t=>t.selected)).map((t=>t.number))})),this.selectedCounter-=1)}async resetSelectionHandler(t){t.detail&&t.detail==this.ticketId&&(this.selectedCounter=0,this.numbers=this.numbers.map((t=>({number:t.number,selected:!1,selectable:this.selectable}))),this.gridDirtyEvent.emit({id:this.ticketId,index:this.gridIndex,selectedNumbers:this.numbers.filter((t=>t.selected)).map((t=>t.number))}))}async autoSelectionHandler(t){if(t.detail&&t.detail==this.ticketId){this.resetSelectionHandler(t);let e=[...Array(this.totalNumbers).keys()].map((t=>t+1)).sort((()=>.5-Math.random()));e=e.slice(0,this.minimumAllowed),this.numbers=this.numbers.map((t=>({number:t.number,selected:e.indexOf(parseInt(t.number,10))>=0,selectable:e.indexOf(parseInt(t.number,10))>=0}))),this.gridFilledEvent.emit({id:this.ticketId,index:this.gridIndex,selectedNumbers:this.numbers.filter((t=>t.selected)).map((t=>t.number))}),this.selectedCounter=this.maximumAllowed}}render(){return i("div",{class:"GridContainer"},i("div",{class:"Grid"},this.numbers.map((t=>i("div",null,i("lottery-bullet",{value:t.number,selectable:t.selectable,"is-selected":t.selected}))))))}};n.style='@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:350px}.Grid{margin-top:10px 0 10px 0;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}';export{s as lottery_bullet,d as lottery_draw_results,n as lottery_grid}