@everymatrix/casino-game-thumb-view 1.32.4 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/assets/baccarat.svg +43 -0
  2. package/dist/assets/fav.svg +9 -0
  3. package/dist/assets/favorite.svg +12 -0
  4. package/dist/assets/seat.svg +6 -0
  5. package/dist/assets/unfav.svg +20 -0
  6. package/dist/casino-game-thumb-view/casino-game-thumb-view.esm.js +1 -0
  7. package/dist/casino-game-thumb-view/index.esm.js +0 -0
  8. package/dist/casino-game-thumb-view/p-1bbf4b70.entry.js +1 -0
  9. package/dist/casino-game-thumb-view/p-1e63a1ab.js +1 -0
  10. package/dist/casino-game-thumb-view/p-2d5f59fe.js +1 -0
  11. package/dist/casino-game-thumb-view/p-42bf2034.entry.js +1 -0
  12. package/dist/casino-game-thumb-view/p-46dbb1cb.js +1 -0
  13. package/dist/casino-game-thumb-view/p-6a6b2a78.js +8 -0
  14. package/dist/casino-game-thumb-view/p-7ae107ed.entry.js +1 -0
  15. package/dist/casino-game-thumb-view/p-9cbfffbc.entry.js +1 -0
  16. package/dist/casino-game-thumb-view/p-d961aec4.entry.js +1 -0
  17. package/dist/casino-game-thumb-view/p-db43bb56.entry.js +7 -0
  18. package/dist/cjs/casino-extrainfo-baccarat.cjs.entry.js +366 -0
  19. package/dist/cjs/casino-extrainfo-blackjack.cjs.entry.js +58 -0
  20. package/dist/cjs/casino-extrainfo-roulette.cjs.entry.js +45 -0
  21. package/dist/cjs/casino-game-thumb-view.cjs.js +19 -0
  22. package/dist/cjs/casino-game-thumb-view_2.cjs.entry.js +1612 -0
  23. package/dist/cjs/casino-game-thumbnail-betlimit_2.cjs.entry.js +278 -0
  24. package/dist/cjs/casino-normal-game-thumbnail.cjs.entry.js +23 -0
  25. package/dist/cjs/game-thumbnail-31d518f0.js +78 -0
  26. package/dist/cjs/index-65a1d768.js +1796 -0
  27. package/dist/cjs/index.cjs.js +2 -0
  28. package/dist/cjs/loader.cjs.js +21 -0
  29. package/dist/cjs/locale.utils-aa160787.js +132 -0
  30. package/dist/cjs/utils-a0afc0a9.js +5745 -0
  31. package/dist/collection/collection-manifest.json +19 -0
  32. package/dist/collection/components/casino-extrainfo-baccarat/casino-extrainfo-baccarat.css +116 -0
  33. package/dist/collection/components/casino-extrainfo-baccarat/casino-extrainfo-baccarat.js +240 -0
  34. package/dist/collection/components/casino-extrainfo-blackjack/casino-extrainfo-blackjack.css +64 -0
  35. package/dist/collection/components/casino-extrainfo-blackjack/casino-extrainfo-blackjack.js +119 -0
  36. package/dist/collection/components/casino-extrainfo-roulette/casino-extrainfo-roulette.css +40 -0
  37. package/dist/collection/components/casino-extrainfo-roulette/casino-extrainfo-roulette.js +123 -0
  38. package/dist/collection/components/casino-game-thumb-view/casino-game-thumb-view.css +361 -0
  39. package/dist/collection/components/casino-game-thumb-view/casino-game-thumb-view.js +1064 -0
  40. package/dist/collection/components/casino-game-thumbnail-betlimit/casino-game-thumbnail-betlimit.css +3 -0
  41. package/dist/collection/components/casino-game-thumbnail-betlimit/casino-game-thumbnail-betlimit.js +86 -0
  42. package/dist/collection/components/casino-game-thumbnail-extrainfo/casino-game-thumbnail-extrainfo.css +154 -0
  43. package/dist/collection/components/casino-game-thumbnail-extrainfo/casino-game-thumbnail-extrainfo.js +158 -0
  44. package/dist/collection/components/casino-game-thumbnail-overlay/casino-game-thumbnail-overlay.css +58 -0
  45. package/dist/collection/components/casino-game-thumbnail-overlay/casino-game-thumbnail-overlay.js +209 -0
  46. package/dist/collection/components/casino-normal-game-thumbnail/casino-normal-game-thumbnail.css +3 -0
  47. package/dist/collection/components/casino-normal-game-thumbnail/casino-normal-game-thumbnail.js +62 -0
  48. package/dist/collection/constants/game-thumbnail.js +85 -0
  49. package/dist/collection/index.js +1 -0
  50. package/dist/collection/models/casino-game-thumb-view.js +12 -0
  51. package/dist/collection/models/currency-symbols.js +173 -0
  52. package/dist/collection/static/baccarat.svg +43 -0
  53. package/dist/collection/static/fav.svg +9 -0
  54. package/dist/collection/static/favorite.svg +12 -0
  55. package/dist/collection/static/seat.svg +6 -0
  56. package/dist/collection/static/unfav.svg +20 -0
  57. package/dist/collection/utils/baccarat-board-svg.js +234 -0
  58. package/dist/collection/utils/locale.utils.js +128 -0
  59. package/dist/collection/utils/utils.js +65 -0
  60. package/dist/components/casino-extrainfo-baccarat.d.ts +11 -0
  61. package/dist/components/casino-extrainfo-baccarat.js +400 -0
  62. package/dist/components/casino-extrainfo-blackjack.d.ts +11 -0
  63. package/dist/components/casino-extrainfo-blackjack.js +92 -0
  64. package/dist/components/casino-extrainfo-roulette.d.ts +11 -0
  65. package/dist/components/casino-extrainfo-roulette.js +78 -0
  66. package/dist/components/casino-game-thumb-view.d.ts +11 -0
  67. package/dist/components/casino-game-thumb-view.js +1625 -0
  68. package/dist/components/casino-game-thumbnail-betlimit.d.ts +11 -0
  69. package/dist/components/casino-game-thumbnail-betlimit.js +6 -0
  70. package/dist/components/casino-game-thumbnail-betlimit2.js +227 -0
  71. package/dist/components/casino-game-thumbnail-extrainfo.d.ts +11 -0
  72. package/dist/components/casino-game-thumbnail-extrainfo.js +6 -0
  73. package/dist/components/casino-game-thumbnail-extrainfo2.js +96 -0
  74. package/dist/components/casino-game-thumbnail-overlay.d.ts +11 -0
  75. package/dist/components/casino-game-thumbnail-overlay.js +6 -0
  76. package/dist/components/casino-game-thumbnail-overlay2.js +69 -0
  77. package/dist/components/casino-normal-game-thumbnail.d.ts +11 -0
  78. package/dist/components/casino-normal-game-thumbnail.js +52 -0
  79. package/dist/components/game-thumbnail.js +72 -0
  80. package/dist/components/index.d.ts +26 -0
  81. package/dist/components/index.js +1 -0
  82. package/dist/components/locale.utils.js +130 -0
  83. package/dist/components/utils.js +5739 -0
  84. package/dist/esm/casino-extrainfo-baccarat.entry.js +362 -0
  85. package/dist/esm/casino-extrainfo-blackjack.entry.js +54 -0
  86. package/dist/esm/casino-extrainfo-roulette.entry.js +41 -0
  87. package/dist/esm/casino-game-thumb-view.js +17 -0
  88. package/dist/esm/casino-game-thumb-view_2.entry.js +1607 -0
  89. package/dist/esm/casino-game-thumbnail-betlimit_2.entry.js +273 -0
  90. package/dist/esm/casino-normal-game-thumbnail.entry.js +19 -0
  91. package/dist/esm/game-thumbnail-0a56ee03.js +72 -0
  92. package/dist/esm/index-1e44dd9f.js +1769 -0
  93. package/dist/esm/index.js +1 -0
  94. package/dist/esm/loader.js +17 -0
  95. package/dist/esm/locale.utils-e0cf897e.js +130 -0
  96. package/dist/esm/polyfills/core-js.js +11 -0
  97. package/dist/esm/polyfills/css-shim.js +1 -0
  98. package/dist/esm/polyfills/dom.js +79 -0
  99. package/dist/esm/polyfills/es5-html-element.js +1 -0
  100. package/dist/esm/polyfills/index.js +34 -0
  101. package/dist/esm/polyfills/system.js +6 -0
  102. package/dist/esm/utils-e9314132.js +5739 -0
  103. package/dist/index.cjs.js +1 -0
  104. package/dist/index.js +1 -0
  105. package/dist/stencil.config.js +40 -0
  106. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/casino-game-thumb-view/.stencil/packages/casino-game-thumb-view/stencil.config.d.ts +2 -0
  107. package/dist/types/components/casino-extrainfo-baccarat/casino-extrainfo-baccarat.d.ts +40 -0
  108. package/dist/types/components/casino-extrainfo-blackjack/casino-extrainfo-blackjack.d.ts +36 -0
  109. package/dist/types/components/casino-extrainfo-roulette/casino-extrainfo-roulette.d.ts +21 -0
  110. package/dist/types/components/casino-game-thumb-view/casino-game-thumb-view.d.ts +221 -0
  111. package/dist/types/components/casino-game-thumbnail-betlimit/casino-game-thumbnail-betlimit.d.ts +17 -0
  112. package/dist/types/components/casino-game-thumbnail-extrainfo/casino-game-thumbnail-extrainfo.d.ts +16 -0
  113. package/dist/types/components/casino-game-thumbnail-overlay/casino-game-thumbnail-overlay.d.ts +31 -0
  114. package/dist/types/components/casino-normal-game-thumbnail/casino-normal-game-thumbnail.d.ts +7 -0
  115. package/dist/types/components.d.ts +480 -0
  116. package/dist/types/constants/game-thumbnail.d.ts +83 -0
  117. package/dist/types/index.d.ts +1 -0
  118. package/dist/types/models/casino-game-thumb-view.d.ts +132 -0
  119. package/dist/types/models/currency-symbols.d.ts +172 -0
  120. package/dist/types/stencil-public-runtime.d.ts +1565 -0
  121. package/dist/types/utils/baccarat-board-svg.d.ts +31 -0
  122. package/dist/types/utils/locale.utils.d.ts +1 -0
  123. package/dist/types/utils/utils.d.ts +19 -0
  124. package/loader/cdn.js +3 -0
  125. package/loader/index.cjs.js +3 -0
  126. package/loader/index.d.ts +12 -0
  127. package/loader/index.es2017.js +3 -0
  128. package/loader/index.js +4 -0
  129. package/loader/package.json +10 -0
  130. package/package.json +2 -3
  131. package/LICENSE +0 -21
@@ -0,0 +1,62 @@
1
+ import { Component, Host, h, Method, Prop } from '@stencil/core';
2
+ export class CasinoNormalGameThumbnail {
3
+ async onGameLoaded(gameInfo) {
4
+ var _a;
5
+ (_a = this.infoWrapperRef) === null || _a === void 0 ? void 0 : _a.onGameLoaded(gameInfo);
6
+ }
7
+ render() {
8
+ return (h(Host, null,
9
+ h("casino-game-thumbnail-extrainfo", { ref: (el) => (this.infoWrapperRef = el), language: this.language })));
10
+ }
11
+ static get is() { return "casino-normal-game-thumbnail"; }
12
+ static get originalStyleUrls() { return {
13
+ "$": ["casino-normal-game-thumbnail.scss"]
14
+ }; }
15
+ static get styleUrls() { return {
16
+ "$": ["casino-normal-game-thumbnail.css"]
17
+ }; }
18
+ static get properties() { return {
19
+ "language": {
20
+ "type": "string",
21
+ "mutable": false,
22
+ "complexType": {
23
+ "original": "string",
24
+ "resolved": "string",
25
+ "references": {}
26
+ },
27
+ "required": false,
28
+ "optional": false,
29
+ "docs": {
30
+ "tags": [],
31
+ "text": ""
32
+ },
33
+ "attribute": "language",
34
+ "reflect": false
35
+ }
36
+ }; }
37
+ static get methods() { return {
38
+ "onGameLoaded": {
39
+ "complexType": {
40
+ "signature": "(gameInfo: CasinoGameThumbnailInfo) => Promise<void>",
41
+ "parameters": [{
42
+ "tags": [],
43
+ "text": ""
44
+ }],
45
+ "references": {
46
+ "Promise": {
47
+ "location": "global"
48
+ },
49
+ "CasinoGameThumbnailInfo": {
50
+ "location": "import",
51
+ "path": "../../models/casino-game-thumb-view"
52
+ }
53
+ },
54
+ "return": "Promise<void>"
55
+ },
56
+ "docs": {
57
+ "text": "",
58
+ "tags": []
59
+ }
60
+ }
61
+ }; }
62
+ }
@@ -0,0 +1,85 @@
1
+ export const GameThumbnail = {
2
+ GAME_CLASS_BACKGROUND_IMG: 'GameContainer',
3
+ GAME_CLASS_OVERLAY: '',
4
+ GAME_CLASS_GameInnerContainer: 'GameInnerContainer'
5
+ };
6
+ export const DEFAULT_BLACKJACK_TOTAL_SEATS = 7;
7
+ export const MONEY_WHEEL_COLOR_MAP = {
8
+ '01': 'Yellow',
9
+ '02': 'Blue',
10
+ 10: 'Green',
11
+ 40: 'Red',
12
+ '05': 'Purple',
13
+ 20: 'Orange',
14
+ X7: 'Gold',
15
+ X2: 'Gold',
16
+ };
17
+ export const ROULETTE_COLOR_MAP = {
18
+ 1: 'Red',
19
+ 3: 'Red',
20
+ 5: 'Red',
21
+ 7: 'Red',
22
+ 9: 'Red',
23
+ 12: 'Red',
24
+ 14: 'Red',
25
+ 16: 'Red',
26
+ 18: 'Red',
27
+ 19: 'Red',
28
+ 21: 'Red',
29
+ 23: 'Red',
30
+ 25: 'Red',
31
+ 27: 'Red',
32
+ 30: 'Red',
33
+ 32: 'Red',
34
+ 34: 'Red',
35
+ 36: 'Red',
36
+ 2: 'Black',
37
+ 4: 'Black',
38
+ 6: 'Black',
39
+ 8: 'Black',
40
+ 10: 'Black',
41
+ 11: 'Black',
42
+ 13: 'Black',
43
+ 15: 'Black',
44
+ 17: 'Black',
45
+ 20: 'Black',
46
+ 22: 'Black',
47
+ 24: 'Black',
48
+ 26: 'Black',
49
+ 28: 'Black',
50
+ 29: 'Black',
51
+ 31: 'Black',
52
+ 33: 'Black',
53
+ 35: 'Black',
54
+ 0: 'Green',
55
+ '00': 'Green',
56
+ };
57
+ export var GAME_CATEGORY;
58
+ (function (GAME_CATEGORY) {
59
+ GAME_CATEGORY["BLACKJACK"] = "blackjack";
60
+ GAME_CATEGORY["ROULETTE"] = "roulette";
61
+ GAME_CATEGORY["DOUBLEBALL_ROULETTE"] = "doubleballroulette";
62
+ GAME_CATEGORY["BACCARAT"] = "baccarat";
63
+ })(GAME_CATEGORY || (GAME_CATEGORY = {}));
64
+ export var GAME_TYPE;
65
+ (function (GAME_TYPE) {
66
+ GAME_TYPE["NORMAL_CASINO"] = "casino-games";
67
+ GAME_TYPE["LIVE_CASINO"] = "live-casino-tables";
68
+ GAME_TYPE["OTHER"] = "";
69
+ })(GAME_TYPE || (GAME_TYPE = {}));
70
+ export const WIDGETTYPE_GAMECATEGORY = {
71
+ 'roulette': 'roulette',
72
+ 'doubleballroulette': 'doubleballroulette',
73
+ 'blackjack': 'blackjack',
74
+ 'baccarat': 'baccarat'
75
+ };
76
+ export const WIDGETTYPE_CLASS = {
77
+ 'roulette': 'RoulleteProps',
78
+ 'doubleballroulette': 'RoulleteProps',
79
+ 'blackjack': 'BlackjackDisplay',
80
+ 'baccarat': 'BaccaratProps'
81
+ };
82
+ export const WINNER_COLOR = {
83
+ 'banker': 'red',
84
+ 'player': 'blue'
85
+ };
@@ -0,0 +1 @@
1
+ export * from './components';
@@ -0,0 +1,12 @@
1
+ export var CasinoGameCategory;
2
+ (function (CasinoGameCategory) {
3
+ CasinoGameCategory["ROULETTE"] = "ROULETTE";
4
+ CasinoGameCategory["POKER"] = "POKER";
5
+ CasinoGameCategory["BLACKJACK"] = "BLACKJACK";
6
+ })(CasinoGameCategory || (CasinoGameCategory = {}));
7
+ export var BaccaratWinner;
8
+ (function (BaccaratWinner) {
9
+ BaccaratWinner["PLAYER"] = "Player";
10
+ BaccaratWinner["WINNER"] = "Banker";
11
+ BaccaratWinner["TIE"] = "Tie";
12
+ })(BaccaratWinner || (BaccaratWinner = {}));
@@ -0,0 +1,173 @@
1
+ /* eslint-disable quote-props */
2
+ export const currenciesSymbols = {
3
+ 'AED': 'د.إ',
4
+ 'AFN': '؋',
5
+ 'ALL': 'L',
6
+ 'AMD': '֏',
7
+ 'ANG': 'ƒ',
8
+ 'AOA': 'Kz',
9
+ 'ARS': '$',
10
+ 'AUD': '$',
11
+ 'AWG': 'ƒ',
12
+ 'AZN': 'ман',
13
+ 'BAM': 'KM',
14
+ 'BBD': '$',
15
+ 'BDT': '৳',
16
+ 'BGN': 'лв',
17
+ 'BHD': '.د.ب',
18
+ 'BIF': 'FBu',
19
+ 'BMD': '$',
20
+ 'BND': '$',
21
+ 'BOB': '$b',
22
+ 'BRL': 'R$',
23
+ 'BSD': '$',
24
+ 'BTC': '฿',
25
+ 'BTN': 'Nu.',
26
+ 'BWP': 'P',
27
+ 'BYR': 'p.',
28
+ 'BZD': 'BZ$',
29
+ 'CAD': '$',
30
+ 'CDF': 'FC',
31
+ 'CHF': 'CHF',
32
+ 'CLP': '$',
33
+ 'CNY': '¥',
34
+ 'COP': '$',
35
+ 'CRC': '₡',
36
+ 'CUC': '$',
37
+ 'CUP': '₱',
38
+ 'CVE': '$',
39
+ 'CZK': 'Kč',
40
+ 'DJF': 'Fdj',
41
+ 'DKK': 'kr',
42
+ 'DOP': 'RD$',
43
+ 'DZD': 'دج',
44
+ 'EEK': 'kr',
45
+ 'EGP': '£',
46
+ 'ERN': 'Nfk',
47
+ 'ETB': 'Br',
48
+ 'ETH': 'Ξ',
49
+ 'EUR': '€',
50
+ 'FJD': '$',
51
+ 'FKP': '£',
52
+ 'GBP': '£',
53
+ 'GEL': '₾',
54
+ 'GGP': '£',
55
+ 'GHC': '₵',
56
+ 'GHS': 'GH₵',
57
+ 'GIP': '£',
58
+ 'GMD': 'D',
59
+ 'GNF': 'FG',
60
+ 'GTQ': 'Q',
61
+ 'GYD': '$',
62
+ 'HKD': '$',
63
+ 'HNL': 'L',
64
+ 'HRK': 'kn',
65
+ 'HTG': 'G',
66
+ 'HUF': 'Ft',
67
+ 'IDR': 'Rp',
68
+ 'ILS': '₪',
69
+ 'IMP': '£',
70
+ 'INR': '₹',
71
+ 'IQD': 'ع.د',
72
+ 'IRR': '﷼',
73
+ 'ISK': 'kr',
74
+ 'JEP': '£',
75
+ 'JMD': 'J$',
76
+ 'JOD': 'JD',
77
+ 'JPY': '¥',
78
+ 'KES': 'KSh',
79
+ 'KGS': 'лв',
80
+ 'KHR': '៛',
81
+ 'KMF': 'CF',
82
+ 'KPW': '₩',
83
+ 'KRW': '₩',
84
+ 'KWD': 'KD',
85
+ 'KYD': '$',
86
+ 'KZT': 'лв',
87
+ 'LAK': '₭',
88
+ 'LBP': '£',
89
+ 'LKR': '₨',
90
+ 'LRD': '$',
91
+ 'LSL': 'M',
92
+ 'LTC': 'Ł',
93
+ 'LTL': 'Lt',
94
+ 'LVL': 'Ls',
95
+ 'LYD': 'LD',
96
+ 'MAD': 'MAD',
97
+ 'MDL': 'lei',
98
+ 'MGA': 'Ar',
99
+ 'MKD': 'ден',
100
+ 'MMK': 'K',
101
+ 'MNT': '₮',
102
+ 'MOP': 'MOP$',
103
+ 'MRO': 'UM',
104
+ 'MUR': '₨',
105
+ 'MVR': 'Rf',
106
+ 'MWK': 'MK',
107
+ 'MXN': '$',
108
+ 'MYR': 'RM',
109
+ 'MZN': 'MT',
110
+ 'NAD': '$',
111
+ 'NGN': '₦',
112
+ 'NIO': 'C$',
113
+ 'NOK': 'kr',
114
+ 'NPR': '₨',
115
+ 'NZD': '$',
116
+ 'OMR': '﷼',
117
+ 'PAB': 'B/.',
118
+ 'PEN': 'S/.',
119
+ 'PGK': 'K',
120
+ 'PHP': '₱',
121
+ 'PKR': '₨',
122
+ 'PLN': 'zł',
123
+ 'PYG': 'Gs',
124
+ 'QAR': '﷼',
125
+ 'RMB': '¥',
126
+ 'RON': 'lei',
127
+ 'RSD': 'Дин.',
128
+ 'RUB': '₽',
129
+ 'RWF': 'R₣',
130
+ 'SAR': '﷼',
131
+ 'SBD': '$',
132
+ 'SCR': '₨',
133
+ 'SDG': 'ج.س.',
134
+ 'SEK': 'kr',
135
+ 'SGD': '$',
136
+ 'SHP': '£',
137
+ 'SLL': 'Le',
138
+ 'SOS': 'S',
139
+ 'SRD': '$',
140
+ 'SSP': '£',
141
+ 'STD': 'Db',
142
+ 'SVC': '$',
143
+ 'SYP': '£',
144
+ 'SZL': 'E',
145
+ 'THB': '฿',
146
+ 'TJS': 'SM',
147
+ 'TMT': 'T',
148
+ 'TND': 'د.ت',
149
+ 'TOP': 'T$',
150
+ 'TRL': '₤',
151
+ 'TRY': '₺',
152
+ 'TTD': 'TT$',
153
+ 'TVD': '$',
154
+ 'TWD': 'NT$',
155
+ 'TZS': 'TSh',
156
+ 'UAH': '₴',
157
+ 'UGX': 'USh',
158
+ 'USD': '$',
159
+ 'UYU': '$U',
160
+ 'UZS': 'лв',
161
+ 'VEF': 'Bs',
162
+ 'VND': '₫',
163
+ 'VUV': 'VT',
164
+ 'WST': 'WS$',
165
+ 'XAF': 'FCFA',
166
+ 'XBT': 'Ƀ',
167
+ 'XCD': '$',
168
+ 'XOF': 'CFA',
169
+ 'XPF': '₣',
170
+ 'YER': '﷼',
171
+ 'ZAR': 'R',
172
+ 'ZWD': 'Z$',
173
+ };
@@ -0,0 +1,43 @@
1
+ <svg
2
+ version="1.1" width="100%" height="100%"
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ >
5
+ <g stroke="red" stroke-width="1" stroke-opacity="1">
6
+ <line x1="0" y1="0" x2="100%" y2="0"/>
7
+ <line x1="0" y1="20" x2="400" y2="20"/>
8
+ <line x1="0" y1="40" x2="400" y2="40"/>
9
+ <line x1="0" y1="60" x2="400" y2="60"/>
10
+ <line x1="0" y1="80" x2="400" y2="80"/>
11
+ <line x1="0" y1="100" x2="400" y2="100"/>
12
+ <line x1="0" y1="120" x2="400" y2="120"/>
13
+ </g>
14
+ <g stroke="red" stroke-width="1" stroke-opacity="0.8">
15
+ <line x1="0" y1="0" x2="0" y2="120"/>
16
+ <line x1="20" y1="0" x2="20" y2="120"/>
17
+ <line x1="40" y1="0" x2="40" y2="120"/>
18
+ <line x1="60" y1="0" x2="60" y2="120"/>
19
+ <line x1="80" y1="0" x2="80" y2="120"/>
20
+ <line x1="100" y1="0" x2="100" y2="120"/>
21
+ <line x1="120" y1="0" x2="120" y2="120"/>
22
+ <line x1="140" y1="0" x2="140" y2="120"/>
23
+ <line x1="160" y1="0" x2="160" y2="120"/>
24
+ <line x1="180" y1="0" x2="180" y2="120"/>
25
+ <line x1="200" y1="0" x2="200" y2="120"/>
26
+ <line x1="220" y1="0" x2="220" y2="120"/>
27
+ <line x1="240" y1="0" x2="240" y2="120"/>
28
+ <line x1="260" y1="0" x2="260" y2="120"/>
29
+ <line x1="280" y1="0" x2="280" y2="120"/>
30
+ <line x1="300" y1="0" x2="300" y2="120"/>
31
+ <line x1="320" y1="0" x2="320" y2="120"/>
32
+ <line x1="340" y1="0" x2="340" y2="120"/>
33
+ <line x1="360" y1="0" x2="360" y2="120"/>
34
+ <line x1="380" y1="0" x2="380" y2="120"/>
35
+ <line x1="400" y1="0" x2="400" y2="120"/>
36
+ <line x1="420" y1="0" x2="420" y2="120"/>
37
+ <line x1="440" y1="0" x2="440" y2="120"/>
38
+ <line x1="460" y1="0" x2="460" y2="120"/>
39
+ <line x1="480" y1="0" x2="480" y2="120"/>
40
+ <line x1="500" y1="0" x2="500" y2="120"/>
41
+ </g>
42
+
43
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg
2
+ version="1.1"
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ viewBox="0 0 19.481 19.481"
5
+ enable-background="new 0 0 19.481 19.481"
6
+ >
7
+ <path
8
+ d="m10.201,.758l2.478,5.865 6.344,.545c0.44,0.038 0.619,0.587 0.285,0.876l-4.812,4.169 1.442,6.202c0.1,0.431-0.367,0.77-0.745,0.541l-5.452-3.288-5.452,3.288c-0.379,0.228-0.845-0.111-0.745-0.541l1.442-6.202-4.813-4.17c-0.334-0.289-0.156-0.838 0.285-0.876l6.344-.545 2.478-5.864c0.172-0.408 0.749-0.408 0.921,0z"/>
9
+ </svg>
@@ -0,0 +1,12 @@
1
+ <svg version="1.1" class="UnfavoredIcon" part="UnfavoredIcon" xmlns="http://www.w3.org/2000/svg" x="20px" y="20px"
2
+ viewBox="0 0 512.001 512.001">
3
+ <path d="M511.266,197.256c-1.764-5.431-6.458-9.388-12.108-10.209l-158.722-23.065L269.452,20.155
4
+ c-2.527-5.12-7.741-8.361-13.451-8.361c-5.709,0-10.924,3.242-13.451,8.361l-70.988,143.828L12.843,187.047
5
+ c-5.65,0.821-10.344,4.779-12.108,10.209c-1.765,5.43-0.293,11.391,3.795,15.376l114.848,111.955L92.27,482.67
6
+ c-0.965,5.627,1.349,11.315,5.968,14.67c4.618,3.355,10.74,3.798,15.797,1.142L256,423.846l141.961,74.637
7
+ c2.195,1.154,4.591,1.723,6.979,1.723c3.11,0,6.206-0.966,8.818-2.865c4.619-3.356,6.933-9.043,5.968-14.671L392.61,324.587
8
+ l114.86-111.954C511.559,208.647,513.031,202.686,511.266,197.256z M366.023,308.608c-3.536,3.446-5.15,8.412-4.314,13.278
9
+ l23.311,135.898l-122.038-64.162c-4.37-2.297-9.591-2.297-13.961,0l-122.045,64.163l23.304-135.9
10
+ c0.834-4.866-0.779-9.83-4.313-13.276l-98.731-96.244l136.445-19.829c4.886-0.71,9.108-3.778,11.294-8.205L256,60.685
11
+ l61.023,123.645c2.186,4.427,6.408,7.496,11.294,8.206l136.447,19.828L366.023,308.608z"/>
12
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="13" height="14" viewBox="0 0 13 14">
2
+ <path
3
+ d="M11.58 6c-1.17 0-2.13.95-2.13 2.12v.4a8.82 8.82 0 00-2.92-.4c-1.54 0-2.45.22-2.92.4v-.4A2.136 2.136 0 001.48 6a1.33 1.33 0 00-.5 2.55c.14.07.24.21.24.37l.26 1.06c0 .96.73 1.75 1.65 1.85a.65.65 0 00.28 1.23.65.65 0 00.3-1.22h5.64a.65.65 0 00.3 1.22.65.65 0 00.28-1.23c.93-.1 1.65-.9 1.65-1.85l.27-1.06c0-.16.1-.3.24-.37A1.33 1.33 0 0011.58 6z"/>
4
+ <path
5
+ d="M4.34 7.5c.55-.1 1.27-.17 2.2-.17.91 0 1.63.07 2.18.17.21-.96.9-1.74 1.8-2.1V4a3.99 3.99 0 00-7.97 0v1.4c.9.36 1.58 1.14 1.79 2.1z"/>
6
+ </svg>
@@ -0,0 +1,20 @@
1
+ <svg
2
+ version="1.1"
3
+ class="UnfavoredIcon"
4
+ xmlns="http://www.w3.org/2000/svg"
5
+ x="20px"
6
+ y="20px"
7
+ viewBox="0 0 512.001 512.001"
8
+ >
9
+ <path
10
+ d="M511.266,197.256c-1.764-5.431-6.458-9.388-12.108-10.209l-158.722-23.065L269.452,20.155
11
+ c-2.527-5.12-7.741-8.361-13.451-8.361c-5.709,0-10.924,3.242-13.451,8.361l-70.988,143.828L12.843,187.047
12
+ c-5.65,0.821-10.344,4.779-12.108,10.209c-1.765,5.43-0.293,11.391,3.795,15.376l114.848,111.955L92.27,482.67
13
+ c-0.965,5.627,1.349,11.315,5.968,14.67c4.618,3.355,10.74,3.798,15.797,1.142L256,423.846l141.961,74.637
14
+ c2.195,1.154,4.591,1.723,6.979,1.723c3.11,0,6.206-0.966,8.818-2.865c4.619-3.356,6.933-9.043,5.968-14.671L392.61,324.587
15
+ l114.86-111.954C511.559,208.647,513.031,202.686,511.266,197.256z M366.023,308.608c-3.536,3.446-5.15,8.412-4.314,13.278
16
+ l23.311,135.898l-122.038-64.162c-4.37-2.297-9.591-2.297-13.961,0l-122.045,64.163l23.304-135.9
17
+ c0.834-4.866-0.779-9.83-4.313-13.276l-98.731-96.244l136.445-19.829c4.886-0.71,9.108-3.778,11.294-8.205L256,60.685
18
+ l61.023,123.645c2.186,4.427,6.408,7.496,11.294,8.206l136.447,19.828L366.023,308.608z"
19
+ />
20
+ </svg>
@@ -0,0 +1,234 @@
1
+ import { BaccaratWinner } from "../models/casino-game-thumb-view";
2
+ const BACCARAT_ROW = 6;
3
+ const BACCARTAT_COLUMN = 40;
4
+ const TIE_ANGLE = 135;
5
+ const PLAYER_ANGLE = 45;
6
+ export class BaccaratSvg {
7
+ constructor() {
8
+ this.svgNS = 'http://www.w3.org/2000/svg';
9
+ this.svgVersion = '1.1';
10
+ this.markGroupExtraClass = {
11
+ name: '',
12
+ strokeWidth: 1.8,
13
+ cellPadding: 6
14
+ };
15
+ }
16
+ resetSvg() {
17
+ this.svgGroupObj.innerHTML = '';
18
+ }
19
+ createTag(tag, attrs) {
20
+ let oTag = document.createElementNS(this.svgNS, tag);
21
+ Object.keys(attrs).forEach((attr) => {
22
+ oTag.setAttribute(attr, attrs[attr]);
23
+ });
24
+ return oTag;
25
+ }
26
+ ;
27
+ //Y1 = Y2, X1=0;
28
+ createHLine(lineIdx) {
29
+ return this.createTag('line', {
30
+ 'x1': 0,
31
+ 'x2': this.svgWidth,
32
+ 'y1': lineIdx * this.cellHeight,
33
+ 'y2': lineIdx * this.cellHeight
34
+ });
35
+ }
36
+ createVLine(lineIdx) {
37
+ return this.createTag('line', {
38
+ 'x1': lineIdx * this.cellWidth,
39
+ 'x2': lineIdx * this.cellWidth,
40
+ 'y1': 0,
41
+ 'y2': this.svgHeight
42
+ });
43
+ }
44
+ createBaccaratBoard(parentEle) {
45
+ this.parentEle = parentEle;
46
+ this.svgWidth = parentEle.clientWidth;
47
+ this.cellWidth = this.svgWidth / BACCARTAT_COLUMN;
48
+ this.cellHeight = this.cellWidth;
49
+ this.svgHeight = this.cellHeight * BACCARAT_ROW;
50
+ let dynamicStyles = {};
51
+ if (this.svgWidth < 300) {
52
+ dynamicStyles = {
53
+ name: 'Min',
54
+ strokeWidth: 0.8,
55
+ cellPadding: 2
56
+ };
57
+ }
58
+ else if (this.svgWidth >= 300 && this.svgWidth < 500) {
59
+ dynamicStyles = {
60
+ name: 'Mid',
61
+ strokeWidth: 1.5,
62
+ cellPadding: 3.8
63
+ };
64
+ }
65
+ this.markGroupExtraClass = Object.assign(Object.assign({}, this.markGroupExtraClass), dynamicStyles);
66
+ this.markGroupExtraClass.fontSize = this.cellWidth - this.markGroupExtraClass.cellPadding * 0.8;
67
+ this.markGroupExtraClass.pairDotR = this.markGroupExtraClass.strokeWidth / 2;
68
+ this.markGroupExtraClass.pairBackDotR = this.markGroupExtraClass.pairDotR + 0.4;
69
+ let svgObj = this.createTag('svg', { 'xmlns': this.svgNS, 'version': this.svgVersion, 'width': '100%' });
70
+ let svgGroup = this.createTag('g', {
71
+ 'style': 'cursor: pointer',
72
+ 'stroke': '#a1acb696',
73
+ 'stroke-width': '0.6px',
74
+ 'fill': 'transparent'
75
+ });
76
+ let markGroup = this.createTag('g', {
77
+ 'style': 'cursor: pointer', 'class': `BoardRoundsGroup ${this.markGroupExtraClass.name}`,
78
+ 'stroke-width': this.markGroupExtraClass.strokeWidth, 'fill': 'transparent'
79
+ });
80
+ for (let i = 0; i < BACCARAT_ROW + 1; i++) {
81
+ svgGroup.appendChild(this.createHLine(i));
82
+ }
83
+ for (let i = 0; i < BACCARTAT_COLUMN + 1; i++) {
84
+ svgGroup.appendChild(this.createVLine(i));
85
+ }
86
+ parentEle.setAttribute('style', `height: ${this.svgHeight}px`);
87
+ svgObj.appendChild(svgGroup);
88
+ svgObj.appendChild(markGroup);
89
+ parentEle.replaceChildren(svgObj);
90
+ this.svgGroupObj = markGroup;
91
+ }
92
+ getRadius() {
93
+ return (this.cellHeight - this.markGroupExtraClass.cellPadding) / 2;
94
+ }
95
+ addAnimate(objToAddAnimate) {
96
+ let animate = this.createTag('animate', {
97
+ 'attributeName': 'opacity', attributeType: 'XML', 'from': '0', to: 0.8, repeatCount: '5',
98
+ begin: '0s', dur: '1.5s', 'calcMode': 'spline', keySplines: "0.1 0.8 0.9 0.1", fill: 'freeze'
99
+ });
100
+ objToAddAnimate.appendChild(animate);
101
+ }
102
+ markNewRound(x, y, options, markNew = false) {
103
+ let centre = this.getCenterPoint(x, y);
104
+ let svgG = this.createTag('g', {
105
+ 'class': `Round ${markNew ? 'NewRound' : ''} ${options.winner === BaccaratWinner.TIE ? 'Tie' : ''}`,
106
+ 'part': `Round ${markNew ? 'NewRound' : ''}`, 'opacity': markNew ? 0.1 : 1
107
+ });
108
+ //RoundWinner: TIE
109
+ if (options.winner === BaccaratWinner.TIE) {
110
+ svgG.appendChild(this.createTieSvg(x, y));
111
+ this.svgGroupObj.appendChild(svgG);
112
+ if (options.ties && options.ties > 1) {
113
+ let text = this.createTag('text', {
114
+ 'x': centre.cx - 1.5,
115
+ 'y': centre.cy + this.markGroupExtraClass.fontSize / 2 - 1.1,
116
+ 'fill': '#12153d',
117
+ 'class': 'TieNumber',
118
+ 'font-size': `${this.markGroupExtraClass.fontSize}px`,
119
+ 'font-weight': this.markGroupExtraClass.fontSize > 7 ? 'bold' : ''
120
+ });
121
+ text.innerHTML = options.ties;
122
+ svgG.appendChild(text);
123
+ }
124
+ this.svgGroupObj.appendChild(svgG);
125
+ return;
126
+ }
127
+ svgG.appendChild(this.createTag('circle', {
128
+ r: this.getRadius(),
129
+ 'class': 'Round',
130
+ 'stroke': options.color,
131
+ 'cx': x * this.cellHeight + (this.cellHeight) / 2,
132
+ 'cy': y * this.cellHeight + (this.cellHeight) / 2
133
+ }));
134
+ if (options.ties) {
135
+ svgG.appendChild(this.createTieSvg(x, y));
136
+ if (options.ties > 1) {
137
+ let text = this.createTag('text', {
138
+ 'x': centre.cx - 1.5,
139
+ 'y': centre.cy + this.markGroupExtraClass.fontSize / 2 - 1.1,
140
+ 'fill': '#12153d',
141
+ 'class': 'TieNumber',
142
+ 'font-size': `${this.markGroupExtraClass.fontSize}px`,
143
+ 'font-weight': this.markGroupExtraClass.fontSize > 7 ? 'bold' : ''
144
+ });
145
+ text.innerHTML = options.ties;
146
+ svgG.appendChild(text);
147
+ }
148
+ this.svgGroupObj.appendChild(svgG);
149
+ }
150
+ if (options.bankerPair) {
151
+ let dots = this.createPairDot(x, y, options.pairColor.banker, PLAYER_ANGLE + 180);
152
+ dots.forEach(dot => svgG.appendChild(dot));
153
+ }
154
+ if (options.playerPair) {
155
+ let dots = this.createPairDot(x, y, options.pairColor.player, PLAYER_ANGLE);
156
+ dots.forEach(dot => svgG.appendChild(dot));
157
+ }
158
+ if (options.includeAnimate) {
159
+ this.addAnimate(svgG);
160
+ }
161
+ this.svgGroupObj.appendChild(svgG);
162
+ }
163
+ markRound(x, y, color, includeAnimate = false) {
164
+ let circleSvg = this.createTag('circle', {
165
+ r: this.getRadius(),
166
+ 'class': 'Round',
167
+ 'stroke': color,
168
+ 'cx': x * this.cellHeight + (this.cellHeight) / 2,
169
+ 'cy': y * this.cellHeight + (this.cellHeight) / 2
170
+ });
171
+ if (includeAnimate) {
172
+ this.addAnimate(circleSvg);
173
+ }
174
+ this.svgGroupObj.appendChild(circleSvg);
175
+ }
176
+ getCenterPoint(x, y) {
177
+ return {
178
+ 'cx': x * this.cellHeight + (this.cellHeight) / 2,
179
+ 'cy': y * this.cellHeight + (this.cellHeight) / 2
180
+ };
181
+ }
182
+ createTieSvg(x, y) {
183
+ let centerXY = this.getCenterPoint(x, y), angle = TIE_ANGLE, r = (this.cellHeight) / 2;
184
+ const x1 = centerXY.cx + r * Math.cos(angle * Math.PI / 180);
185
+ const y1 = centerXY.cy + r * Math.sin(angle * Math.PI / 180);
186
+ const x2 = centerXY.cx + r * Math.cos((angle + 180) * Math.PI / 180);
187
+ const y2 = centerXY.cy + r * Math.sin((angle + 180) * Math.PI / 180);
188
+ return this.createTag('line', {
189
+ x1, y1, x2, y2, 'class': 'Tie',
190
+ 'stroke': 'green', 'opacity': '0.8', 'stroke-width': '1.8px'
191
+ });
192
+ }
193
+ createPairDot(x, y, pairColor, angle) {
194
+ let centerXY = this.getCenterPoint(x, y), r = this.getRadius() + this.markGroupExtraClass.pairDotR;
195
+ const cx = centerXY.cx + r * Math.cos(angle * Math.PI / 180);
196
+ const cy = centerXY.cy + r * Math.sin(angle * Math.PI / 180);
197
+ return [
198
+ this.createTag('circle', {
199
+ cx, cy, r: this.markGroupExtraClass.pairBackDotR, 'class': 'DotBack',
200
+ 'stroke': '#fff'
201
+ }),
202
+ this.createTag('circle', {
203
+ cx, cy, r: this.markGroupExtraClass.pairDotR, 'class': 'Dot',
204
+ 'stroke': pairColor, 'stroke-width': '0.8px', 'fill': pairColor
205
+ })
206
+ ];
207
+ }
208
+ markTie(x, y, includeAnimate = false) {
209
+ let line = this.createTieSvg(x, y);
210
+ if (includeAnimate) {
211
+ this.addAnimate(line);
212
+ }
213
+ this.svgGroupObj.appendChild(line);
214
+ }
215
+ markPair(x, y, pairColor, angle) {
216
+ let centerXY = this.getCenterPoint(x, y), r = this.getRadius() + this.markGroupExtraClass.pairDotR;
217
+ const cx = centerXY.cx + r * Math.cos(angle * Math.PI / 180);
218
+ const cy = centerXY.cy + r * Math.sin(angle * Math.PI / 180);
219
+ this.svgGroupObj.appendChild(this.createTag('circle', {
220
+ cx, cy, r: this.markGroupExtraClass.pairBackDotR, 'class': 'DotBack',
221
+ 'stroke': '#fff'
222
+ }));
223
+ this.svgGroupObj.appendChild(this.createTag('circle', {
224
+ cx, cy, r: this.markGroupExtraClass.pairDotR, 'class': 'Dot',
225
+ 'stroke': pairColor, 'stroke-width': '0.8px', 'fill': pairColor
226
+ }));
227
+ }
228
+ markBankerPair(x, y, pairColor) {
229
+ this.markPair(x, y, pairColor, 225);
230
+ }
231
+ markPlayerPair(x, y, pairColor) {
232
+ this.markPair(x, y, pairColor, 45);
233
+ }
234
+ }