@everymatrix/lottery-program-wof 1.3.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.
Files changed (65) hide show
  1. package/README.md +30 -0
  2. package/dist/lottery-program-wof.js +7278 -0
  3. package/dist/lottery-program-wof.js.map +1 -0
  4. package/index.html +42 -0
  5. package/index.js +1 -0
  6. package/package.json +41 -0
  7. package/public/favicon.png +0 -0
  8. package/public/reset.css +48 -0
  9. package/rollup.config.js +61 -0
  10. package/src/LotteryProgramWof.svelte +129 -0
  11. package/src/api/api.ts +2011 -0
  12. package/src/api/configuration.ts +65 -0
  13. package/src/api/custom.d.ts +2 -0
  14. package/src/api/index.ts +15 -0
  15. package/src/business.dom.ts +130 -0
  16. package/src/business.fake.ts +17 -0
  17. package/src/business.ts +276 -0
  18. package/src/calc.image.ts +13 -0
  19. package/src/calc.point.ts +315 -0
  20. package/src/calc.temp.ts +29 -0
  21. package/src/calc.ts +34 -0
  22. package/src/class.spinable.ts +65 -0
  23. package/src/class.spinable.util.ts +10 -0
  24. package/src/class.spinner.ts +145 -0
  25. package/src/class.spinner.util.ts +92 -0
  26. package/src/css.state.ts +13 -0
  27. package/src/fakeDraw.ts +9 -0
  28. package/src/fakeResult.ts +49 -0
  29. package/src/images/area.svg +11 -0
  30. package/src/images/areaSec.svg +11 -0
  31. package/src/images/areaV1.svg +18 -0
  32. package/src/images/areaV2.svg +17 -0
  33. package/src/images/background.svg +27 -0
  34. package/src/images/background3.svg +13 -0
  35. package/src/images/backgroundShadow.svg +22 -0
  36. package/src/images/centerArrow.svg +50 -0
  37. package/src/images/centerArrow1.svg +18 -0
  38. package/src/images/centerArrow2.svg +5 -0
  39. package/src/images/centerArrow3.svg +46 -0
  40. package/src/images/centerArrowBg.svg +12 -0
  41. package/src/images/centerBackground2.svg +24 -0
  42. package/src/images/centerCircle.svg +24 -0
  43. package/src/images/centerPack.svg +16 -0
  44. package/src/images/centerText3.svg +3 -0
  45. package/src/images/gift.svg +964 -0
  46. package/src/images/light.svg +19 -0
  47. package/src/images/partition1.svg +10 -0
  48. package/src/images/pointerArrow.svg +24 -0
  49. package/src/images/pointerArrow3.svg +25 -0
  50. package/src/images/spin.svg +13 -0
  51. package/src/index.ts +4 -0
  52. package/src/message.ts +28 -0
  53. package/src/private.item.svelte +279 -0
  54. package/src/private.item.svg.svelte +791 -0
  55. package/src/private.message.svelte +167 -0
  56. package/src/private.outcomes.svelte +163 -0
  57. package/src/private.tabs.svelte +92 -0
  58. package/src/themes.partitions.ts +174 -0
  59. package/src/themes.ts +206 -0
  60. package/src/types.business.ts +4 -0
  61. package/src/types.ts +74 -0
  62. package/src/util.ts +83 -0
  63. package/stories/LotteryProgramWof.stories.js +13 -0
  64. package/svelte.config.js +7 -0
  65. package/tsconfig.json +6 -0
package/index.html ADDED
@@ -0,0 +1,42 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset='utf-8'>
5
+ <meta name='viewport' content='width=device-width,initial-scale=1'>
6
+
7
+ <title>
8
+ lottery-program-wof
9
+ </title>
10
+ <link rel="stylesheet" href="public/reset.css">
11
+ <script src='dist/lottery-program-wof.js'></script>
12
+ </head>
13
+
14
+ <body>
15
+ <style>
16
+ html,body { margin: 0; padding: 0; height: 100%; font-family: "Helvetica Neue", "Helvetica", sans-serif; }
17
+ .header { display: flex; justify-content: center; align-items: center; padding: 10px 20px; margin-bottom: 20px; background: #42a3e2; box-shadow: 3px 4px 5px 0px rgba(0,0,0, .2); }
18
+ .header__logo svg { height: 50px; width: 50px; margin-right: 5px; }
19
+ .header__name { color: #fff; }
20
+ .header__name span { margin-right: 10px; font-weight: bold; }
21
+ .webcomponent { padding: 10px 20px; }
22
+ </style>
23
+ <header class="header">
24
+ <div class="header__logo">
25
+ <svg xmlns="http://www.w3.org/2000/svg" width="161" height="132" viewBox="0 0 161 132"><defs><linearGradient x1="0%" y1="50%" y2="50%" id="a"><stop stop-color="#2A3B8F" offset="0%"/><stop stop-color="#29ABE2" offset="100%"/></linearGradient><linearGradient x1="100%" y1="50%" x2="0%" y2="50%" id="c"><stop stop-color="#B4D44E" offset="0%"/><stop stop-color="#E7F716" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="#166DA5" d="M160.6 65.9l-17.4 29.3-24.4-29.7 24.4-28.9z"/><path fill="#8FDB69" d="M141.3 100.2l-26.5-31.7-15.9 26.6 24.7 36.1z"/><path fill="#166DA5" d="M141 31.4l-26.2 31.8-15.9-26.6L123.6.9z"/><path fill="url(#a)" opacity=".95" d="M61.1 31.4H141L123.4.7H78.7z M114.8 63.3H159l-15.9-26.8H98.8"/><path fill="url(#c)" opacity=".95" d="M141.3 100.3H61l17.6 30.5h45z M114.8 68.4H159l-15.9 26.8H98.8"/><path fill="#010101" d="M78.6 130.8L41 65.8 79.1.8H37.9L.4 65.8l37.5 65z"/></g></svg>
26
+ </div>
27
+ <h1 class="header__name">
28
+ <span>WEBCOMPONENT:</span> lottery-program-wof
29
+ </h1>
30
+ </header>
31
+
32
+ <div class="webcomponent">
33
+ <lottery-program-wof
34
+ endpoint="http://jetbull.wofapi.stage.everymatrix.local/v1"
35
+ session="1b0e37c6-7234-47fb-8602-8422094faa8e"
36
+ spinduration="3"
37
+ spinrotation="3"
38
+ />
39
+ </div>
40
+
41
+ </body>
42
+ </html>
package/index.js ADDED
@@ -0,0 +1 @@
1
+ import './dist/lottery-program-wof.js';
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@everymatrix/lottery-program-wof",
3
+ "version": "1.3.2",
4
+ "main": "index.js",
5
+ "svelte": "src/index.ts",
6
+ "scripts": {
7
+ "start": "sirv public",
8
+ "build": "cross-env NODE_ENV=\"production\" && rollup -c",
9
+ "build:watch": "cross-env NODE_ENV=\"production\" && rollup -c -w",
10
+ "dev": "cross-env NODE_ENV=\"development\" rollup -c -w",
11
+ "validate": "svelte-check",
12
+ "test": "echo"
13
+ },
14
+ "devDependencies": {
15
+ "@rollup/plugin-babel": "^5.3.0",
16
+ "@rollup/plugin-commonjs": "^16.0.0",
17
+ "@rollup/plugin-node-resolve": "^10.0.0",
18
+ "@rollup/plugin-typescript": "^6.0.0",
19
+ "@tsconfig/svelte": "^1.0.0",
20
+ "node-sass": "^5.0.0",
21
+ "rollup": "^2.3.4",
22
+ "rollup-plugin-dev-server": "^0.4.3",
23
+ "rollup-plugin-livereload": "^2.0.0",
24
+ "rollup-plugin-svelte": "^7.0.0",
25
+ "rollup-plugin-terser": "^7.0.0",
26
+ "rollup-plugin-uglify": "^6.0.4",
27
+ "svelte-check": "^1.0.0",
28
+ "svelte-preprocess": "^4.0.0",
29
+ "tslib": "^2.0.0",
30
+ "typescript": "^3.9.3"
31
+ },
32
+ "dependencies": {
33
+ "cross-env": "^7.0.3",
34
+ "sirv-cli": "^1.0.0",
35
+ "svelte": "^3.0.0"
36
+ },
37
+ "publishConfig": {
38
+ "access": "public"
39
+ },
40
+ "gitHead": "6f5109fe10945e3602504893215ac687784c4156"
41
+ }
Binary file
@@ -0,0 +1,48 @@
1
+ /* http://meyerweb.com/eric/tools/css/reset/
2
+ v2.0 | 20110126
3
+ License: none (public domain)
4
+ */
5
+
6
+ html, body, div, span, applet, object, iframe,
7
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8
+ a, abbr, acronym, address, big, cite, code,
9
+ del, dfn, em, img, ins, kbd, q, s, samp,
10
+ small, strike, strong, sub, sup, tt, var,
11
+ b, u, i, center,
12
+ dl, dt, dd, ol, ul, li,
13
+ fieldset, form, label, legend,
14
+ table, caption, tbody, tfoot, thead, tr, th, td,
15
+ article, aside, canvas, details, embed,
16
+ figure, figcaption, footer, header, hgroup,
17
+ menu, nav, output, ruby, section, summary,
18
+ time, mark, audio, video {
19
+ margin: 0;
20
+ padding: 0;
21
+ border: 0;
22
+ font-size: 100%;
23
+ font: inherit;
24
+ vertical-align: baseline;
25
+ }
26
+ /* HTML5 display-role reset for older browsers */
27
+ article, aside, details, figcaption, figure,
28
+ footer, header, hgroup, menu, nav, section {
29
+ display: block;
30
+ }
31
+ body {
32
+ line-height: 1;
33
+ }
34
+ ol, ul {
35
+ list-style: none;
36
+ }
37
+ blockquote, q {
38
+ quotes: none;
39
+ }
40
+ blockquote:before, blockquote:after,
41
+ q:before, q:after {
42
+ content: '';
43
+ content: none;
44
+ }
45
+ table {
46
+ border-collapse: collapse;
47
+ border-spacing: 0;
48
+ }
@@ -0,0 +1,61 @@
1
+ import svelte from 'rollup-plugin-svelte';
2
+ import commonjs from '@rollup/plugin-commonjs';
3
+ import resolve from '@rollup/plugin-node-resolve';
4
+ import serve from 'rollup-plugin-dev-server';
5
+ import livereload from 'rollup-plugin-livereload';
6
+ import { terser } from 'rollup-plugin-terser';
7
+ import sveltePreprocess from 'svelte-preprocess';
8
+ import typescript from '@rollup/plugin-typescript';
9
+ import image from '@rollup/plugin-image';
10
+ const production = process.env.NODE_ENV === 'production';
11
+ const dev = process.env.NODE_ENV === 'development';
12
+
13
+ export default {
14
+ input: 'src/index.ts',
15
+ output: {
16
+ sourcemap: true,
17
+ format: 'umd',
18
+ name: 'app',
19
+ file: 'dist/lottery-program-wof.js'
20
+ },
21
+ plugins: [
22
+ svelte({
23
+ preprocess: sveltePreprocess(),
24
+ compilerOptions: {
25
+ // enable run-time checks when not in production
26
+ customElement: true,
27
+ dev: !production
28
+ }
29
+ }),
30
+ image(),
31
+ commonjs(),
32
+ resolve({
33
+ browser: true,
34
+ dedupe: ['svelte']
35
+ }),
36
+ dev && serve({
37
+ open: true,
38
+ verbose: true,
39
+ allowCrossOrigin: true,
40
+ historyApiFallback: false,
41
+ host: 'localhost',
42
+ port: 5050,
43
+ }),
44
+ dev && livereload({ watch: ['', 'dist'] }),
45
+ typescript({
46
+ sourceMap: !production,
47
+ inlineSources: !production,
48
+ }),
49
+ // If we're building for production (npm run build
50
+ // instead of npm run dev), minify
51
+ production &&
52
+ terser({
53
+ output: {
54
+ comments: "all"
55
+ },
56
+ })
57
+ ],
58
+ watch: {
59
+ clearScreen: false
60
+ }
61
+ };
@@ -0,0 +1,129 @@
1
+ <svelte:options tag={null} />
2
+
3
+ <script lang="ts">
4
+ import './private.message.svelte'
5
+ import './private.tabs.svelte'
6
+ import './private.outcomes.svelte'
7
+ import './private.item.svelte'
8
+
9
+ import { onMount } from 'svelte';
10
+
11
+ // types
12
+ import { Lang } from './types';
13
+ import type { LotteryProgram } from './api';
14
+ import { api } from './business';
15
+
16
+ import { _postMessage } from './message';
17
+ import type { LotteryProgramForPlayer } from './types.business';
18
+ import { classWithPart } from './util';
19
+
20
+ // properties
21
+ export let lang: Lang = Lang.en
22
+ export let endpoint: string = ''
23
+ export let session: string = ''
24
+
25
+ export let theme: string = '0'
26
+
27
+ export let spinduration: string = '3'
28
+ export let spinrotation: string = '3'
29
+
30
+ let isMounted = false
31
+ $: isMounted && init()
32
+ onMount(() => {
33
+ isMounted = true
34
+ return () => isMounted = false
35
+ })
36
+
37
+ let lotteryProgramsForPlayer: LotteryProgramForPlayer[] = []
38
+ let lotteryProgram: LotteryProgram;
39
+ let loading: boolean = true;
40
+
41
+ const init = async () => {
42
+
43
+ if(!isMounted || !lang || !session || !endpoint) return;
44
+
45
+ loading = true
46
+ await fetcher()
47
+ loading = false
48
+ }
49
+
50
+ const fetcher = async () => {
51
+ lotteryProgramsForPlayer = await api.lotteries(endpoint, session)
52
+ _postMessage({type: 'wof-private-message-lotteryProgramsForPlayer', lotteryProgramsForPlayer })
53
+ }
54
+
55
+ $: session && init()
56
+ $: endpoint && init()
57
+
58
+ </script>
59
+
60
+ <div {...classWithPart("LotteryProgramWof")}>
61
+
62
+ <lottery-program-wof-private-tabs>
63
+ <div slot="tab-Program">
64
+ {#if loading}
65
+ <div>Loading...</div>
66
+ {:else}
67
+ {#if lotteryProgramsForPlayer.length}
68
+ {#each lotteryProgramsForPlayer as _l}
69
+ <lottery-program-wof-private-item {...{
70
+ lang,
71
+ endpoint,
72
+ session,
73
+ theme,
74
+ lotteryprogramforplayer: JSON.stringify(_l)
75
+ }} />
76
+ {/each}
77
+ {:else}
78
+ <div {...classWithPart("LotteryProgramWofNoContent")}>
79
+ <p>You are not allowed to any lottery program.</p>
80
+ </div>
81
+ {/if}
82
+ {/if}
83
+ </div>
84
+ <div slot="tab-Outcomes">
85
+ <lottery-program-wof-private-outcomes
86
+ {...{
87
+ endpoint, session,
88
+ partitions: lotteryProgram?.wheelOfFortune.partitions ? JSON.stringify(lotteryProgram?.wheelOfFortune.partitions) : '[]',
89
+ }}
90
+ />
91
+ </div>
92
+ </lottery-program-wof-private-tabs>
93
+ </div>
94
+
95
+
96
+ <style lang="scss">
97
+
98
+ :host {
99
+ font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
100
+ }
101
+
102
+ *,
103
+ *::before,
104
+ *::after {
105
+ margin: 0;
106
+ padding: 0;
107
+ list-style: none;
108
+ text-decoration: none;
109
+ outline: none;
110
+ box-sizing: border-box;
111
+ }
112
+
113
+ .LotteryProgramWof {
114
+ background: var(--emfe-w-color-contrast, #07072A);
115
+ display: flex;
116
+ align-items: center;
117
+ flex-direction: column;
118
+ padding: 20px 0;
119
+ }
120
+
121
+ .LotteryProgramWofNoContent {
122
+ color: rgb(255, 255, 255);
123
+ min-height: 300px;
124
+ display: flex;
125
+ justify-content: center;
126
+ align-items: center;
127
+ font-size: 16px;
128
+ }
129
+ </style>