@everymatrix/lottery-grid 0.1.24 → 1.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  2. package/dist/cjs/index-402a1909.js +1276 -0
  3. package/dist/cjs/loader.cjs.js +7 -13
  4. package/dist/cjs/lottery-bullet_2.cjs.entry.js +212 -243
  5. package/dist/cjs/lottery-grid.cjs.js +17 -11
  6. package/dist/collection/collection-manifest.json +3 -3
  7. package/dist/collection/components/lottery-grid/index.js +1 -0
  8. package/dist/collection/components/lottery-grid/lottery-grid.js +474 -480
  9. package/dist/collection/utils/locale.utils.js +23 -19
  10. package/dist/esm/app-globals-0f993ce5.js +3 -0
  11. package/dist/esm/index-d55f95ff.js +1249 -0
  12. package/dist/esm/loader.js +7 -13
  13. package/dist/esm/lottery-bullet_2.entry.js +212 -243
  14. package/dist/esm/lottery-grid.js +14 -11
  15. package/dist/lottery-grid/lottery-grid.esm.js +1 -1
  16. package/dist/lottery-grid/p-205e4975.entry.js +1 -0
  17. package/dist/lottery-grid/p-2a12d7f8.js +2 -0
  18. package/dist/lottery-grid/p-e1255160.js +1 -0
  19. package/dist/stencil.config.dev.js +17 -0
  20. package/dist/stencil.config.js +14 -19
  21. package/dist/types/Users/raul.vasile/workspace/everymatrix/widgets-monorepo/packages/stencil/lottery-grid/.stencil/packages/stencil/lottery-grid/stencil.config.d.ts +2 -0
  22. package/dist/types/Users/raul.vasile/workspace/everymatrix/widgets-monorepo/packages/stencil/lottery-grid/.stencil/packages/stencil/lottery-grid/stencil.config.dev.d.ts +2 -0
  23. package/dist/types/components/lottery-grid/index.d.ts +1 -0
  24. package/dist/types/components/lottery-grid/lottery-grid.d.ts +74 -73
  25. package/dist/types/components/lottery-grid/lottery-grid.types.d.ts +8 -8
  26. package/dist/types/components.d.ts +19 -2
  27. package/dist/types/stencil-public-runtime.d.ts +142 -33
  28. package/loader/cdn.js +1 -3
  29. package/loader/index.cjs.js +1 -3
  30. package/loader/index.d.ts +13 -1
  31. package/loader/index.es2017.js +1 -3
  32. package/loader/index.js +1 -3
  33. package/loader/package.json +1 -0
  34. package/package.json +10 -3
  35. package/dist/cjs/index-fdfc1a6c.js +0 -1238
  36. package/dist/components/index.d.ts +0 -26
  37. package/dist/components/index.js +0 -1
  38. package/dist/components/lottery-bullet.js +0 -6
  39. package/dist/components/lottery-bullet2.js +0 -91
  40. package/dist/components/lottery-grid.d.ts +0 -11
  41. package/dist/components/lottery-grid.js +0 -239
  42. package/dist/esm/index-61bea74d.js +0 -1212
  43. package/dist/esm/polyfills/core-js.js +0 -11
  44. package/dist/esm/polyfills/css-shim.js +0 -1
  45. package/dist/esm/polyfills/dom.js +0 -79
  46. package/dist/esm/polyfills/es5-html-element.js +0 -1
  47. package/dist/esm/polyfills/index.js +0 -34
  48. package/dist/esm/polyfills/system.js +0 -6
  49. package/dist/lottery-grid/p-8cd47c11.js +0 -1
  50. package/dist/lottery-grid/p-f3e1ebfd.entry.js +0 -1
  51. package/dist/types/Users/dragos.bodea/Documents/everymatrix-prjs/stencil/widgets-stencil/packages/lottery-grid/.stencil/packages/lottery-grid/stencil.config.d.ts +0 -2
@@ -2,20 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-fdfc1a6c.js');
5
+ const index = require('./index-402a1909.js');
6
+ const appGlobals = require('./app-globals-3a1e7e63.js');
6
7
 
7
- /*
8
- Stencil Client Patch Esm v2.15.2 | MIT Licensed | https://stenciljs.com
9
- */
10
- const patchEsm = () => {
11
- return index.promiseResolve();
12
- };
13
-
14
- const defineCustomElements = (win, options) => {
15
- if (typeof window === 'undefined') return Promise.resolve();
16
- return patchEsm().then(() => {
17
- return index.bootstrapLazy([["lottery-bullet_2.cjs",[[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"],"gridType":[1,"grid-type"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"numbers":[32],"limitStylingAppends":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[1],"selectable":[4],"isSelected":[4,"is-selected"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
18
- });
8
+ const defineCustomElements = async (win, options) => {
9
+ if (typeof window === 'undefined') return undefined;
10
+ await appGlobals.globalScripts();
11
+ return index.bootstrapLazy([["lottery-bullet_2.cjs",[[1,"lottery-grid",{"ticketId":[514,"ticket-id"],"totalNumbers":[514,"total-numbers"],"gameId":[513,"game-id"],"maximumAllowed":[514,"maximum-allowed"],"minimumAllowed":[514,"minimum-allowed"],"selectable":[516],"selectedNumbers":[513,"selected-numbers"],"displaySelected":[516,"display-selected"],"language":[513],"gridIndex":[514,"grid-index"],"gridType":[513,"grid-type"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"numbers":[32],"limitStylingAppends":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[513],"selectable":[516],"isSelected":[516,"is-selected"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
19
12
  };
20
13
 
14
+ exports.setNonce = index.setNonce;
21
15
  exports.defineCustomElements = defineCustomElements;
@@ -2,269 +2,238 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-fdfc1a6c.js');
5
+ const index = require('./index-402a1909.js');
6
6
 
7
- const lotteryBulletCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}@-webkit-keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.22) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.2) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@-webkit-keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}.Circle{-webkit-animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;cursor:pointer;color:#000000;display:block;height:30px;width:30px;margin:0;display:flex;align-items:center;justify-content:center;justify-content:center;align-items:center;border:solid 2px #ffffff;background:radial-gradient(circle at top, white 0%, white 100%);font-weight:bold;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.5);user-select:none;font-size:16px;line-height:16px;font-weight:600;position:relative}.Circle:hover{-webkit-animation:hover-rotate 0.4s linear both;animation:hover-rotate 0.4s linear both;background:radial-gradient(circle at top, white 0%, #f1f1f1 100%)}.Circle.Selected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;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{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;background:#D4D4D4;border:solid 2px #D4D4D4;cursor:default}.Circle.DisabledSelected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;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 #D4D4D4;cursor:default}";
7
+ const lotteryBulletCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}@-webkit-keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.22) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.2) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@-webkit-keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}.Circle{-webkit-animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;cursor:pointer;color:#000000;display:block;height:30px;width:30px;margin:0;display:flex;align-items:center;justify-content:center;justify-content:center;align-items:center;border:solid 2px #ffffff;background:radial-gradient(circle at top, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);font-weight:bold;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.5);user-select:none;font-size:16px;line-height:16px;font-weight:600;position:relative}.Circle:hover{-webkit-animation:hover-rotate 0.4s linear both;animation:hover-rotate 0.4s linear both;background:radial-gradient(circle at top, rgb(255, 255, 255) 0%, rgb(241, 241, 241) 100%)}.Circle.Selected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;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{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;background:#D4D4D4;border:solid 2px #D4D4D4;cursor:default}.Circle.DisabledSelected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;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 #D4D4D4;cursor:default}";
8
+ const LotteryBulletStyle0 = lotteryBulletCss;
8
9
 
9
10
  const LotteryBullet = class {
10
- constructor(hostRef) {
11
- index.registerInstance(this, hostRef);
12
- this.bulletEvent = index.createEvent(this, "lotteryBulletSelection", 7);
13
- /**
14
- * Value of the bullet
15
- */
16
- this.value = '0';
17
- /**
18
- * Marks if the bullet should be selectable
19
- */
20
- this.selectable = true;
21
- /**
22
- * Marks if the bullet should be selected
23
- */
24
- this.isSelected = false;
25
- /**
26
- * Client custom styling via string
27
- */
28
- this.clientStyling = '';
29
- /**
30
- * Client custom styling via url content
31
- */
32
- this.clientStylingUrlContent = '';
33
- this.limitStylingAppends = false;
34
- this.select = () => {
35
- if (this.selectable) {
36
- this.isSelected = !this.isSelected;
37
- this.bulletEvent.emit({
38
- value: this.value,
39
- selected: this.isSelected
40
- });
41
- }
42
- };
43
- this.setClientStyling = () => {
44
- let sheet = document.createElement('style');
45
- sheet.innerHTML = this.clientStyling;
46
- this.stylingContainer.prepend(sheet);
47
- };
48
- this.setClientStylingURL = () => {
49
- let cssFile = document.createElement('style');
50
- setTimeout(() => {
51
- cssFile.innerHTML = this.clientStylingUrlContent;
52
- this.stylingContainer.prepend(cssFile);
53
- }, 1);
54
- };
55
- }
56
- componentDidRender() {
57
- // start custom styling area
58
- if (!this.limitStylingAppends && this.stylingContainer) {
59
- if (this.clientStyling)
60
- this.setClientStyling();
61
- if (this.clientStylingUrlContent)
62
- this.setClientStylingURL();
63
- this.limitStylingAppends = true;
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.bulletEvent = index.createEvent(this, "lotteryBulletSelection", 7);
14
+ this.select = () => {
15
+ if (this.selectable) {
16
+ this.isSelected = !this.isSelected;
17
+ this.bulletEvent.emit({
18
+ value: this.value,
19
+ selected: this.isSelected
20
+ });
21
+ }
22
+ };
23
+ this.setClientStyling = () => {
24
+ let sheet = document.createElement('style');
25
+ sheet.innerHTML = this.clientStyling;
26
+ this.stylingContainer.prepend(sheet);
27
+ };
28
+ this.setClientStylingURL = () => {
29
+ let cssFile = document.createElement('style');
30
+ setTimeout(() => {
31
+ cssFile.innerHTML = this.clientStylingUrlContent;
32
+ this.stylingContainer.prepend(cssFile);
33
+ }, 1);
34
+ };
35
+ this.value = '0';
36
+ this.selectable = true;
37
+ this.isSelected = false;
38
+ this.clientStyling = '';
39
+ this.clientStylingUrlContent = '';
40
+ this.limitStylingAppends = false;
41
+ }
42
+ componentDidRender() {
43
+ // start custom styling area
44
+ if (!this.limitStylingAppends && this.stylingContainer) {
45
+ if (this.clientStyling)
46
+ this.setClientStyling();
47
+ if (this.clientStylingUrlContent)
48
+ this.setClientStylingURL();
49
+ this.limitStylingAppends = true;
50
+ }
51
+ // end custom styling area
52
+ }
53
+ render() {
54
+ return (index.h("div", { key: 'af3601684ecf1f39d65fc9461430cba96b9e4b8c', class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : ''), onClick: () => this.select(), ref: el => this.stylingContainer = el }, this.value));
64
55
  }
65
- // end custom styling area
66
- }
67
- render() {
68
- return (index.h("div", { class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : ''), onClick: () => this.select(), ref: el => this.stylingContainer = el }, this.value));
69
- }
70
56
  };
71
- LotteryBullet.style = lotteryBulletCss;
57
+ LotteryBullet.style = LotteryBulletStyle0;
72
58
 
73
59
  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}";
60
+ const LotteryGridStyle0 = lotteryGridCss;
74
61
 
75
62
  const LotteryGrid = class {
76
- constructor(hostRef) {
77
- index.registerInstance(this, hostRef);
78
- this.gridFilledEvent = index.createEvent(this, "gridFilled", 7);
79
- this.gridDirtyEvent = index.createEvent(this, "gridDirty", 7);
80
- /**
81
- * Number of bullets of grid
82
- */
83
- this.totalNumbers = 0;
84
- /**
85
- * Number of maximum bullets that can be selected
86
- */
87
- this.maximumAllowed = 0;
88
- /**
89
- * Minimum allowed of bullets
90
- */
91
- this.minimumAllowed = 1;
92
- /**
93
- * Allows the user to select numbers on the grid
94
- */
95
- this.selectable = true;
96
- /**
97
- * Numbers that should be showed as selected on the grid (as a string of those numbers e.g. '1,2,3,4,5,6')
98
- */
99
- this.selectedNumbers = '';
100
- /**
101
- * Show only selected numbers
102
- */
103
- this.displaySelected = false;
104
- /**
105
- * Language
106
- */
107
- this.language = 'en';
108
- /**
109
- * Personalize grid for ticket
110
- */
111
- this.gridType = '';
112
- /**
113
- * Client custom styling via string
114
- */
115
- this.clientStyling = '';
116
- /**
117
- * Client custom styling via url content
118
- */
119
- this.clientStylingUrlContent = '';
120
- this.numbers = [];
121
- this.limitStylingAppends = false;
122
- this.selectedCounter = 0;
123
- this.setClientStyling = () => {
124
- let sheet = document.createElement('style');
125
- sheet.innerHTML = this.clientStyling;
126
- this.stylingContainer.prepend(sheet);
127
- };
128
- this.setClientStylingURL = () => {
129
- let cssFile = document.createElement('style');
130
- setTimeout(() => {
131
- cssFile.innerHTML = this.clientStylingUrlContent;
132
- this.stylingContainer.prepend(cssFile);
133
- }, 1);
134
- };
135
- }
136
- connectedCallback() {
137
- let selected = [];
138
- if (this.selectedNumbers.length > 0) {
139
- selected = this.selectedNumbers.split(',');
140
- this.selectedCounter = selected.length;
63
+ constructor(hostRef) {
64
+ index.registerInstance(this, hostRef);
65
+ this.gridFilledEvent = index.createEvent(this, "gridFilled", 7);
66
+ this.gridDirtyEvent = index.createEvent(this, "gridDirty", 7);
67
+ this.selectedCounter = 0;
68
+ this.setClientStyling = () => {
69
+ let sheet = document.createElement('style');
70
+ sheet.innerHTML = this.clientStyling;
71
+ this.stylingContainer.prepend(sheet);
72
+ };
73
+ this.setClientStylingURL = () => {
74
+ let cssFile = document.createElement('style');
75
+ setTimeout(() => {
76
+ cssFile.innerHTML = this.clientStylingUrlContent;
77
+ this.stylingContainer.prepend(cssFile);
78
+ }, 1);
79
+ };
80
+ this.ticketId = undefined;
81
+ this.totalNumbers = 0;
82
+ this.gameId = undefined;
83
+ this.maximumAllowed = 0;
84
+ this.minimumAllowed = 1;
85
+ this.selectable = true;
86
+ this.selectedNumbers = '';
87
+ this.displaySelected = false;
88
+ this.language = 'en';
89
+ this.gridIndex = undefined;
90
+ this.gridType = '';
91
+ this.clientStyling = '';
92
+ this.clientStylingUrlContent = '';
93
+ this.numbers = [];
94
+ this.limitStylingAppends = false;
141
95
  }
142
- if (this.displaySelected) {
143
- selected.forEach((item) => {
144
- this.numbers.push({
145
- number: item,
146
- selected: true,
147
- selectable: this.selectable
148
- });
149
- });
96
+ connectedCallback() {
97
+ let selected = [];
98
+ if (this.selectedNumbers.length > 0) {
99
+ selected = this.selectedNumbers.split(',');
100
+ this.selectedCounter = selected.length;
101
+ }
102
+ if (this.displaySelected) {
103
+ selected.forEach((item) => {
104
+ this.numbers.push({
105
+ number: item,
106
+ selected: true,
107
+ selectable: this.selectable
108
+ });
109
+ });
110
+ }
111
+ else {
112
+ [...Array(this.totalNumbers).keys()]
113
+ .map(number => (number + 1).toString())
114
+ .forEach((number) => {
115
+ this.numbers.push({
116
+ number,
117
+ selected: selected.indexOf(number) >= 0 ? true : false,
118
+ selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable
119
+ });
120
+ });
121
+ }
150
122
  }
151
- else {
152
- [...Array(this.totalNumbers).keys()]
153
- .map(number => (number + 1).toString())
154
- .forEach((number) => {
155
- this.numbers.push({
156
- number,
157
- selected: selected.indexOf(number) >= 0 ? true : false,
158
- selectable: this.selectedCounter == this.maximumAllowed ? false : this.selectable
159
- });
160
- });
123
+ componentDidRender() {
124
+ // start custom styling area
125
+ if (!this.limitStylingAppends && this.stylingContainer) {
126
+ if (this.clientStyling)
127
+ this.setClientStyling();
128
+ if (this.clientStylingUrlContent)
129
+ this.setClientStylingURL();
130
+ this.limitStylingAppends = true;
131
+ }
132
+ // end custom styling area
161
133
  }
162
- }
163
- componentDidRender() {
164
- // start custom styling area
165
- if (!this.limitStylingAppends && this.stylingContainer) {
166
- if (this.clientStyling)
167
- this.setClientStyling();
168
- if (this.clientStylingUrlContent)
169
- this.setClientStylingURL();
170
- this.limitStylingAppends = true;
134
+ // wrote this because the classic .sort(() => 0.5 - Math.random()) method yielded low entropy shuffles for some reason on certain devices
135
+ shuffleArray(array) {
136
+ const result = [];
137
+ while (array.length > 0) {
138
+ const randomIndex = Math.floor(Math.random() * (array.length));
139
+ result.push(array.splice(randomIndex, 1)[0]);
140
+ }
141
+ return result;
171
142
  }
172
- // end custom styling area
173
- }
174
- lotteryBulletSelectionHandler(event) {
175
- this.numbers = this.numbers.map((item) => {
176
- if (item.number == event.detail.value) {
177
- return {
178
- number: item.number,
179
- selected: event.detail.selected,
180
- selectable: item.selectable
181
- };
182
- }
183
- return {
184
- number: item.number,
185
- selected: item.selected,
186
- selectable: item.selectable
187
- };
188
- });
189
- if (event.detail.selected) {
190
- this.selectedCounter += 1;
191
- if (this.selectedCounter == this.maximumAllowed) {
143
+ lotteryBulletSelectionHandler(event) {
192
144
  this.numbers = this.numbers.map((item) => {
193
- return {
194
- number: item.number,
195
- selected: item.selected,
196
- selectable: item.selected ? true : false
197
- };
145
+ if (item.number == event.detail.value) {
146
+ return {
147
+ number: item.number,
148
+ selected: event.detail.selected,
149
+ selectable: item.selectable
150
+ };
151
+ }
152
+ return {
153
+ number: item.number,
154
+ selected: item.selected,
155
+ selectable: item.selectable
156
+ };
198
157
  });
199
- this.gridFilledEvent.emit({
200
- id: this.ticketId,
201
- index: this.gridIndex,
202
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
203
- });
204
- }
158
+ if (event.detail.selected) {
159
+ this.selectedCounter += 1;
160
+ if (this.selectedCounter == this.maximumAllowed) {
161
+ this.numbers = this.numbers.map((item) => {
162
+ return {
163
+ number: item.number,
164
+ selected: item.selected,
165
+ selectable: item.selected ? true : false
166
+ };
167
+ });
168
+ this.gridFilledEvent.emit({
169
+ id: this.ticketId,
170
+ index: this.gridIndex,
171
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
172
+ });
173
+ }
174
+ }
175
+ else {
176
+ if (this.selectedCounter == this.maximumAllowed) {
177
+ this.numbers = this.numbers.map((item) => {
178
+ return {
179
+ number: item.number,
180
+ selected: item.selected,
181
+ selectable: true
182
+ };
183
+ });
184
+ this.gridDirtyEvent.emit({
185
+ id: this.ticketId,
186
+ index: this.gridIndex,
187
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
188
+ });
189
+ }
190
+ this.selectedCounter -= 1;
191
+ }
205
192
  }
206
- else {
207
- if (this.selectedCounter == this.maximumAllowed) {
208
- this.numbers = this.numbers.map((item) => {
209
- return {
210
- number: item.number,
211
- selected: item.selected,
212
- selectable: true
213
- };
214
- });
215
- this.gridDirtyEvent.emit({
216
- id: this.ticketId,
217
- index: this.gridIndex,
218
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
219
- });
220
- }
221
- this.selectedCounter -= 1;
193
+ async resetSelectionHandler(event) {
194
+ if (event.detail && event.detail == this.ticketId) {
195
+ this.selectedCounter = 0;
196
+ this.numbers = this.numbers.map((item) => {
197
+ return {
198
+ number: item.number,
199
+ selected: false,
200
+ selectable: this.selectable
201
+ };
202
+ });
203
+ this.gridDirtyEvent.emit({
204
+ id: this.ticketId,
205
+ index: this.gridIndex,
206
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
207
+ });
208
+ }
222
209
  }
223
- }
224
- async resetSelectionHandler(event) {
225
- if (event.detail && event.detail == this.ticketId) {
226
- this.selectedCounter = 0;
227
- this.numbers = this.numbers.map((item) => {
228
- return {
229
- number: item.number,
230
- selected: false,
231
- selectable: this.selectable
232
- };
233
- });
234
- this.gridDirtyEvent.emit({
235
- id: this.ticketId,
236
- index: this.gridIndex,
237
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
238
- });
210
+ async autoSelectionHandler(event) {
211
+ if (event.detail && event.detail == this.ticketId) {
212
+ this.resetSelectionHandler(event);
213
+ let array = [...Array(this.totalNumbers).keys()]
214
+ .map(number => number + 1);
215
+ array = this.shuffleArray(array);
216
+ array = array.slice(0, this.minimumAllowed);
217
+ this.numbers = this.numbers.map((item) => {
218
+ return {
219
+ number: item.number,
220
+ selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
221
+ selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
222
+ };
223
+ });
224
+ this.gridFilledEvent.emit({
225
+ id: this.ticketId,
226
+ index: this.gridIndex,
227
+ selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
228
+ });
229
+ this.selectedCounter = this.maximumAllowed;
230
+ }
239
231
  }
240
- }
241
- async autoSelectionHandler(event) {
242
- if (event.detail && event.detail == this.ticketId) {
243
- this.resetSelectionHandler(event);
244
- let array = [...Array(this.totalNumbers).keys()]
245
- .map(number => number + 1)
246
- .sort(() => 0.5 - Math.random());
247
- array = array.slice(0, this.minimumAllowed);
248
- this.numbers = this.numbers.map((item) => {
249
- return {
250
- number: item.number,
251
- selected: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
252
- selectable: array.indexOf(parseInt(item.number, 10)) >= 0 ? true : false,
253
- };
254
- });
255
- this.gridFilledEvent.emit({
256
- id: this.ticketId,
257
- index: this.gridIndex,
258
- selectedNumbers: this.numbers.filter((item) => item.selected).map((item) => item.number)
259
- });
260
- this.selectedCounter = this.maximumAllowed;
232
+ render() {
233
+ return (index.h("div", { key: '54b9187146b5d2625fd5ce7f53f38abf091cd943', class: "GridContainer", ref: el => this.stylingContainer = el }, index.h("div", { key: 'e7e8570557ebaa78edf881cdbc1ed720028cdf6e', class: this.gridType === 'ticket' ? 'Grid TicketGrid' : 'Grid' }, this.numbers.map((item) => index.h("div", null, index.h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))))));
261
234
  }
262
- }
263
- render() {
264
- return (index.h("div", { class: "GridContainer", ref: el => this.stylingContainer = el }, index.h("div", { class: this.gridType === 'ticket' ? 'Grid TicketGrid' : 'Grid' }, this.numbers.map((item) => index.h("div", null, index.h("lottery-bullet", { value: item.number, selectable: item.selectable, "is-selected": item.selected, "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrlContent }))))));
265
- }
266
235
  };
267
- LotteryGrid.style = lotteryGridCss;
236
+ LotteryGrid.style = LotteryGridStyle0;
268
237
 
269
238
  exports.lottery_bullet = LotteryBullet;
270
239
  exports.lottery_grid = LotteryGrid;
@@ -1,19 +1,25 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-fdfc1a6c.js');
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-402a1909.js');
6
+ const appGlobals = require('./app-globals-3a1e7e63.js');
4
7
 
5
8
  /*
6
- Stencil Client Patch Browser v2.15.2 | MIT Licensed | https://stenciljs.com
9
+ Stencil Client Patch Browser v4.20.0 | MIT Licensed | https://stenciljs.com
7
10
  */
8
- const patchBrowser = () => {
9
- const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('lottery-grid.cjs.js', document.baseURI).href));
10
- const opts = {};
11
- if (importMeta !== '') {
12
- opts.resourcesUrl = new URL('.', importMeta).href;
13
- }
14
- return index.promiseResolve(opts);
11
+ var patchBrowser = () => {
12
+ const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('lottery-grid.cjs.js', document.baseURI).href));
13
+ const opts = {};
14
+ if (importMeta !== "") {
15
+ opts.resourcesUrl = new URL(".", importMeta).href;
16
+ }
17
+ return index.promiseResolve(opts);
15
18
  };
16
19
 
17
- patchBrowser().then(options => {
18
- return index.bootstrapLazy([["lottery-bullet_2.cjs",[[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"],"gridType":[1,"grid-type"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"numbers":[32],"limitStylingAppends":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[1],"selectable":[4],"isSelected":[4,"is-selected"],"clientStyling":[1,"client-styling"],"clientStylingUrlContent":[1,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
20
+ patchBrowser().then(async (options) => {
21
+ await appGlobals.globalScripts();
22
+ return index.bootstrapLazy([["lottery-bullet_2.cjs",[[1,"lottery-grid",{"ticketId":[514,"ticket-id"],"totalNumbers":[514,"total-numbers"],"gameId":[513,"game-id"],"maximumAllowed":[514,"maximum-allowed"],"minimumAllowed":[514,"minimum-allowed"],"selectable":[516],"selectedNumbers":[513,"selected-numbers"],"displaySelected":[516,"display-selected"],"language":[513],"gridIndex":[514,"grid-index"],"gridType":[513,"grid-type"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"numbers":[32],"limitStylingAppends":[32]},[[0,"lotteryBulletSelection","lotteryBulletSelectionHandler"],[4,"resetSelection","resetSelectionHandler"],[4,"autoSelection","autoSelectionHandler"]]],[1,"lottery-bullet",{"value":[513],"selectable":[516],"isSelected":[516,"is-selected"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
19
23
  });
24
+
25
+ exports.setNonce = index.setNonce;
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "entries": [
3
- "./components/lottery-grid/lottery-grid.js"
3
+ "components/lottery-grid/lottery-grid.js"
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "2.15.2",
8
- "typescriptVersion": "4.5.4"
7
+ "version": "4.20.0",
8
+ "typescriptVersion": "5.5.3"
9
9
  },
10
10
  "collections": [
11
11
  {
@@ -0,0 +1 @@
1
+ export { LotteryGrid } from './lottery-grid';