@everymatrix/lottery-draw-results 0.1.1 → 0.1.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/{index-33a98fae.js → index-62f030ff.js} +73 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/lottery-bullet_3.cjs.entry.js +374 -0
- package/dist/cjs/lottery-draw-results.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +14 -1
- package/dist/collection/components/lottery-draw-results/lottery-draw-results.css +7 -18
- package/dist/collection/components/lottery-draw-results/lottery-draw-results.js +56 -169
- package/dist/collection/utils/locale.utils.js +2 -14
- package/dist/components/lottery-bullet.js +6 -0
- package/dist/components/lottery-bullet2.js +56 -0
- package/dist/components/lottery-draw-results.js +59 -62
- package/dist/components/lottery-grid.js +6 -0
- package/dist/components/lottery-grid2.js +196 -0
- package/dist/esm/{index-c6e6b7f8.js → index-98326ddd.js} +73 -2
- package/dist/esm/loader.js +2 -2
- package/dist/esm/lottery-bullet_3.entry.js +368 -0
- package/dist/esm/lottery-draw-results.js +2 -2
- package/dist/lottery-draw-results/lottery-draw-results.esm.js +1 -1
- package/dist/lottery-draw-results/p-2b8529f6.entry.js +1 -0
- package/dist/lottery-draw-results/p-bb429486.js +1 -0
- package/dist/types/components/lottery-draw-results/lottery-draw-results.d.ts +3 -28
- package/dist/types/components.d.ts +2 -56
- package/package.json +1 -1
- package/dist/cjs/lottery-draw-results.cjs.entry.js +0 -188
- package/dist/esm/lottery-draw-results.entry.js +0 -184
- package/dist/lottery-draw-results/p-31e0953f.js +0 -1
- package/dist/lottery-draw-results/p-d7361a7b.entry.js +0 -1
|
@@ -0,0 +1,196 @@
|
|
|
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:350px}.Grid{margin-top:10px 0 10px 0;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}";
|
|
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
|
+
this.numbers = [];
|
|
42
|
+
this.selectedCounter = 0;
|
|
43
|
+
}
|
|
44
|
+
connectedCallback() {
|
|
45
|
+
let selected = [];
|
|
46
|
+
if (this.selectedNumbers.length > 0) {
|
|
47
|
+
selected = this.selectedNumbers.split(',');
|
|
48
|
+
this.selectedCounter = selected.length;
|
|
49
|
+
}
|
|
50
|
+
if (this.displaySelected) {
|
|
51
|
+
selected.forEach((item) => {
|
|
52
|
+
this.numbers.push({
|
|
53
|
+
number: item,
|
|
54
|
+
selected: true,
|
|
55
|
+
selectable: this.selectable
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
[...Array(this.totalNumbers).keys()]
|
|
61
|
+
.map(number => (number + 1).toString())
|
|
62
|
+
.forEach((number) => {
|
|
63
|
+
this.numbers.push({
|
|
64
|
+
number,
|
|
65
|
+
selected: selected.indexOf(number) >= 0 ? true : false,
|
|
66
|
+
selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
lotteryBulletSelectionHandler(event) {
|
|
72
|
+
this.numbers = this.numbers.map((item) => {
|
|
73
|
+
if (item.number == event.detail.value) {
|
|
74
|
+
return {
|
|
75
|
+
number: item.number,
|
|
76
|
+
selected: event.detail.selected,
|
|
77
|
+
selectable: item.selectable
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
number: item.number,
|
|
82
|
+
selected: item.selected,
|
|
83
|
+
selectable: item.selectable
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
if (event.detail.selected) {
|
|
87
|
+
this.selectedCounter += 1;
|
|
88
|
+
if (this.selectedCounter == this.maximumAllowed) {
|
|
89
|
+
this.numbers = this.numbers.map((item) => {
|
|
90
|
+
return {
|
|
91
|
+
number: item.number,
|
|
92
|
+
selected: item.selected,
|
|
93
|
+
selectable: item.selected ? true : false
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
this.gridFilledEvent.emit({
|
|
97
|
+
id: this.ticketId,
|
|
98
|
+
index: this.gridIndex,
|
|
99
|
+
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
if (this.selectedCounter == this.maximumAllowed) {
|
|
105
|
+
this.numbers = this.numbers.map((item) => {
|
|
106
|
+
return {
|
|
107
|
+
number: item.number,
|
|
108
|
+
selected: item.selected,
|
|
109
|
+
selectable: true
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
this.gridDirtyEvent.emit({
|
|
113
|
+
id: this.ticketId,
|
|
114
|
+
index: this.gridIndex,
|
|
115
|
+
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
this.selectedCounter -= 1;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async resetSelectionHandler(event) {
|
|
122
|
+
if (event.detail && event.detail == this.ticketId) {
|
|
123
|
+
this.selectedCounter = 0;
|
|
124
|
+
this.numbers = this.numbers.map((item) => {
|
|
125
|
+
return {
|
|
126
|
+
number: item.number,
|
|
127
|
+
selected: false,
|
|
128
|
+
selectable: this.selectable
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
this.gridDirtyEvent.emit({
|
|
132
|
+
id: this.ticketId,
|
|
133
|
+
index: this.gridIndex,
|
|
134
|
+
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async autoSelectionHandler(event) {
|
|
139
|
+
if (event.detail && event.detail == this.ticketId) {
|
|
140
|
+
this.resetSelectionHandler(event);
|
|
141
|
+
let array = [...Array(this.totalNumbers).keys()]
|
|
142
|
+
.map(number => number + 1)
|
|
143
|
+
.sort(() => 0.5 - Math.random());
|
|
144
|
+
array = array.slice(0, this.minimumAllowed);
|
|
145
|
+
this.numbers = this.numbers.map((item) => {
|
|
146
|
+
return {
|
|
147
|
+
number: item.number,
|
|
148
|
+
selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
|
|
149
|
+
selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
|
|
150
|
+
};
|
|
151
|
+
});
|
|
152
|
+
this.gridFilledEvent.emit({
|
|
153
|
+
id: this.ticketId,
|
|
154
|
+
index: this.gridIndex,
|
|
155
|
+
selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
|
|
156
|
+
});
|
|
157
|
+
this.selectedCounter = this.maximumAllowed;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
render() {
|
|
161
|
+
return (h("div", { class: "GridContainer" }, h("div", { class: "Grid" }, this.numbers.map((item) => h("div", null, h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected }))))));
|
|
162
|
+
}
|
|
163
|
+
static get style() { return lotteryGridCss; }
|
|
164
|
+
}, [1, "lottery-grid", {
|
|
165
|
+
"ticketId": [2, "ticket-id"],
|
|
166
|
+
"totalNumbers": [2, "total-numbers"],
|
|
167
|
+
"gameId": [1, "game-id"],
|
|
168
|
+
"maximumAllowed": [2, "maximum-allowed"],
|
|
169
|
+
"minimumAllowed": [2, "minimum-allowed"],
|
|
170
|
+
"selectable": [4],
|
|
171
|
+
"selectedNumbers": [1, "selected-numbers"],
|
|
172
|
+
"displaySelected": [4, "display-selected"],
|
|
173
|
+
"language": [1],
|
|
174
|
+
"gridIndex": [2, "grid-index"],
|
|
175
|
+
"numbers": [32]
|
|
176
|
+
}, [[0, "lotteryBulletSelection", "lotteryBulletSelectionHandler"], [4, "resetSelection", "resetSelectionHandler"], [4, "autoSelection", "autoSelectionHandler"]]]);
|
|
177
|
+
function defineCustomElement() {
|
|
178
|
+
if (typeof customElements === "undefined") {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const components = ["lottery-grid", "lottery-bullet"];
|
|
182
|
+
components.forEach(tagName => { switch (tagName) {
|
|
183
|
+
case "lottery-grid":
|
|
184
|
+
if (!customElements.get(tagName)) {
|
|
185
|
+
customElements.define(tagName, LotteryGrid);
|
|
186
|
+
}
|
|
187
|
+
break;
|
|
188
|
+
case "lottery-bullet":
|
|
189
|
+
if (!customElements.get(tagName)) {
|
|
190
|
+
defineCustomElement$1();
|
|
191
|
+
}
|
|
192
|
+
break;
|
|
193
|
+
} });
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export { LotteryGrid as L, defineCustomElement as d };
|
|
@@ -25,6 +25,40 @@ const supportsConstructibleStylesheets = /*@__PURE__*/ (() => {
|
|
|
25
25
|
return false;
|
|
26
26
|
})()
|
|
27
27
|
;
|
|
28
|
+
const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
|
|
29
|
+
if (listeners) {
|
|
30
|
+
listeners.map(([flags, name, method]) => {
|
|
31
|
+
const target = getHostListenerTarget(elm, flags) ;
|
|
32
|
+
const handler = hostListenerProxy(hostRef, method);
|
|
33
|
+
const opts = hostListenerOpts(flags);
|
|
34
|
+
plt.ael(target, name, handler, opts);
|
|
35
|
+
(hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const hostListenerProxy = (hostRef, methodName) => (ev) => {
|
|
40
|
+
try {
|
|
41
|
+
{
|
|
42
|
+
if (hostRef.$flags$ & 256 /* isListenReady */) {
|
|
43
|
+
// instance is ready, let's call it's member method for this event
|
|
44
|
+
hostRef.$lazyInstance$[methodName](ev);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
(hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
consoleError(e);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const getHostListenerTarget = (elm, flags) => {
|
|
56
|
+
if (flags & 4 /* TargetDocument */)
|
|
57
|
+
return doc;
|
|
58
|
+
return elm;
|
|
59
|
+
};
|
|
60
|
+
// prettier-ignore
|
|
61
|
+
const hostListenerOpts = (flags) => (flags & 2 /* Capture */) !== 0;
|
|
28
62
|
const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
|
|
29
63
|
const createTime = (fnName, tagName = '') => {
|
|
30
64
|
{
|
|
@@ -501,6 +535,20 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
501
535
|
// synchronous patch
|
|
502
536
|
patch(oldVNode, rootVnode);
|
|
503
537
|
};
|
|
538
|
+
const getElement = (ref) => (getHostRef(ref).$hostElement$ );
|
|
539
|
+
const createEvent = (ref, name, flags) => {
|
|
540
|
+
const elm = getElement(ref);
|
|
541
|
+
return {
|
|
542
|
+
emit: (detail) => {
|
|
543
|
+
return emitEvent(elm, name, {
|
|
544
|
+
bubbles: !!(flags & 4 /* Bubbles */),
|
|
545
|
+
composed: !!(flags & 2 /* Composed */),
|
|
546
|
+
cancelable: !!(flags & 1 /* Cancellable */),
|
|
547
|
+
detail,
|
|
548
|
+
});
|
|
549
|
+
},
|
|
550
|
+
};
|
|
551
|
+
};
|
|
504
552
|
/**
|
|
505
553
|
* Helper function to create & dispatch a custom Event on a provided target
|
|
506
554
|
* @param elm the target of the Event
|
|
@@ -537,6 +585,15 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
|
|
|
537
585
|
const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
|
|
538
586
|
const instance = hostRef.$lazyInstance$ ;
|
|
539
587
|
let promise;
|
|
588
|
+
if (isInitialLoad) {
|
|
589
|
+
{
|
|
590
|
+
hostRef.$flags$ |= 256 /* isListenReady */;
|
|
591
|
+
if (hostRef.$queuedListeners$) {
|
|
592
|
+
hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
|
|
593
|
+
hostRef.$queuedListeners$ = null;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
}
|
|
540
597
|
endSchedule();
|
|
541
598
|
return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
|
|
542
599
|
};
|
|
@@ -938,6 +995,10 @@ const connectedCallback = (elm) => {
|
|
|
938
995
|
}
|
|
939
996
|
}
|
|
940
997
|
else {
|
|
998
|
+
// not the first time this has connected
|
|
999
|
+
// reattach any event listeners to the host
|
|
1000
|
+
// since they would have been removed when disconnected
|
|
1001
|
+
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
941
1002
|
// fire off connectedCallback() on component instance
|
|
942
1003
|
fireConnectedCallback(hostRef.$lazyInstance$);
|
|
943
1004
|
}
|
|
@@ -946,7 +1007,13 @@ const connectedCallback = (elm) => {
|
|
|
946
1007
|
};
|
|
947
1008
|
const disconnectedCallback = (elm) => {
|
|
948
1009
|
if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
|
|
949
|
-
getHostRef(elm);
|
|
1010
|
+
const hostRef = getHostRef(elm);
|
|
1011
|
+
{
|
|
1012
|
+
if (hostRef.$rmListeners$) {
|
|
1013
|
+
hostRef.$rmListeners$.map((rmListener) => rmListener());
|
|
1014
|
+
hostRef.$rmListeners$ = undefined;
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
950
1017
|
}
|
|
951
1018
|
};
|
|
952
1019
|
const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
@@ -973,6 +1040,9 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
973
1040
|
{
|
|
974
1041
|
cmpMeta.$members$ = compactMeta[2];
|
|
975
1042
|
}
|
|
1043
|
+
{
|
|
1044
|
+
cmpMeta.$listeners$ = compactMeta[3];
|
|
1045
|
+
}
|
|
976
1046
|
const tagName = cmpMeta.$tagName$;
|
|
977
1047
|
const HostElement = class extends HTMLElement {
|
|
978
1048
|
// StencilLazyHost
|
|
@@ -1053,6 +1123,7 @@ const registerHost = (elm, cmpMeta) => {
|
|
|
1053
1123
|
elm['s-p'] = [];
|
|
1054
1124
|
elm['s-rc'] = [];
|
|
1055
1125
|
}
|
|
1126
|
+
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
1056
1127
|
return hostRefs.set(elm, hostRef);
|
|
1057
1128
|
};
|
|
1058
1129
|
const isMemberInElement = (elm, memberName) => memberName in elm;
|
|
@@ -1121,4 +1192,4 @@ const flush = () => {
|
|
|
1121
1192
|
const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
|
|
1122
1193
|
const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
|
|
1123
1194
|
|
|
1124
|
-
export { bootstrapLazy as b, h, promiseResolve as p, registerInstance as r };
|
|
1195
|
+
export { bootstrapLazy as b, createEvent as c, h, promiseResolve as p, registerInstance as r };
|
package/dist/esm/loader.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as promiseResolve, b as bootstrapLazy } from './index-
|
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-98326ddd.js';
|
|
2
2
|
|
|
3
3
|
/*
|
|
4
4
|
Stencil Client Patch Esm v2.15.2 | MIT Licensed | https://stenciljs.com
|
|
@@ -10,7 +10,7 @@ const patchEsm = () => {
|
|
|
10
10
|
const defineCustomElements = (win, options) => {
|
|
11
11
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
12
12
|
return patchEsm().then(() => {
|
|
13
|
-
return bootstrapLazy([["lottery-
|
|
13
|
+
return bootstrapLazy([["lottery-bullet_3",[[1,"lottery-draw-results",{"endpoint":[1],"gameId":[1,"game-id"],"language":[1],"playerId":[1,"player-id"],"drawMode":[4,"draw-mode"],"drawId":[1,"draw-id"],"gameName":[1,"game-name"],"multiplier":[32],"ticketData":[32],"isLoading":[32],"drawResults":[32],"rules":[32],"toggleDrawer":[32],"hasErrors":[32],"errorText":[32]}],[1,"lottery-grid",{"ticketId":[2,"ticket-id"],"totalNumbers":[2,"total-numbers"],"gameId":[1,"game-id"],"maximumAllowed":[2,"maximum-allowed"],"minimumAllowed":[2,"minimum-allowed"],"selectable":[4],"selectedNumbers":[1,"selected-numbers"],"displaySelected":[4,"display-selected"],"language":[1],"gridIndex":[2,"grid-index"],"numbers":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[1],"selectable":[4],"isSelected":[4,"is-selected"]}]]]], options);
|
|
14
14
|
});
|
|
15
15
|
};
|
|
16
16
|
|