@contractspec/example.learning-journey-ui-gamified 1.44.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.
- package/.turbo/turbo-build$colon$bundle.log +57 -0
- package/.turbo/turbo-build.log +58 -0
- package/CHANGELOG.md +262 -0
- package/LICENSE +21 -0
- package/README.md +32 -0
- package/dist/GamifiedMiniApp.d.ts +17 -0
- package/dist/GamifiedMiniApp.d.ts.map +1 -0
- package/dist/GamifiedMiniApp.js +63 -0
- package/dist/GamifiedMiniApp.js.map +1 -0
- package/dist/components/DayCalendar.d.ts +16 -0
- package/dist/components/DayCalendar.d.ts.map +1 -0
- package/dist/components/DayCalendar.js +33 -0
- package/dist/components/DayCalendar.js.map +1 -0
- package/dist/components/FlashCard.d.ts +19 -0
- package/dist/components/FlashCard.d.ts.map +1 -0
- package/dist/components/FlashCard.js +80 -0
- package/dist/components/FlashCard.js.map +1 -0
- package/dist/components/MasteryRing.d.ts +18 -0
- package/dist/components/MasteryRing.d.ts.map +1 -0
- package/dist/components/MasteryRing.js +82 -0
- package/dist/components/MasteryRing.js.map +1 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +5 -0
- package/dist/docs/index.d.ts +1 -0
- package/dist/docs/index.js +1 -0
- package/dist/docs/learning-journey-ui-gamified.docblock.d.ts +1 -0
- package/dist/docs/learning-journey-ui-gamified.docblock.js +20 -0
- package/dist/docs/learning-journey-ui-gamified.docblock.js.map +1 -0
- package/dist/example.d.ts +33 -0
- package/dist/example.d.ts.map +1 -0
- package/dist/example.js +35 -0
- package/dist/example.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +14 -0
- package/dist/views/Overview.d.ts +15 -0
- package/dist/views/Overview.d.ts.map +1 -0
- package/dist/views/Overview.js +161 -0
- package/dist/views/Overview.js.map +1 -0
- package/dist/views/Progress.d.ts +11 -0
- package/dist/views/Progress.d.ts.map +1 -0
- package/dist/views/Progress.js +143 -0
- package/dist/views/Progress.js.map +1 -0
- package/dist/views/Steps.d.ts +12 -0
- package/dist/views/Steps.d.ts.map +1 -0
- package/dist/views/Steps.js +56 -0
- package/dist/views/Steps.js.map +1 -0
- package/dist/views/Timeline.d.ts +11 -0
- package/dist/views/Timeline.d.ts.map +1 -0
- package/dist/views/Timeline.js +133 -0
- package/dist/views/Timeline.js.map +1 -0
- package/dist/views/index.d.ts +5 -0
- package/dist/views/index.js +6 -0
- package/example.ts +1 -0
- package/package.json +79 -0
- package/src/GamifiedMiniApp.tsx +93 -0
- package/src/components/DayCalendar.tsx +53 -0
- package/src/components/FlashCard.tsx +100 -0
- package/src/components/MasteryRing.tsx +81 -0
- package/src/components/index.ts +3 -0
- package/src/docs/index.ts +1 -0
- package/src/docs/learning-journey-ui-gamified.docblock.ts +18 -0
- package/src/example.ts +24 -0
- package/src/index.ts +10 -0
- package/src/views/Overview.tsx +164 -0
- package/src/views/Progress.tsx +183 -0
- package/src/views/Steps.tsx +50 -0
- package/src/views/Timeline.tsx +197 -0
- package/src/views/index.ts +4 -0
- package/tsconfig.json +10 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/tsdown.config.js +17 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
$ tsdown
|
|
2
|
+
[34mℹ[39m tsdown [2mv0.18.3[22m powered by rolldown [2mv1.0.0-beta.57[22m
|
|
3
|
+
[34mℹ[39m config file: [4m/home/runner/work/contractspec/contractspec/packages/examples/learning-journey-ui-gamified/tsdown.config.js[24m
|
|
4
|
+
[34mℹ[39m entry: [34msrc/GamifiedMiniApp.tsx, src/example.ts, src/index.ts, src/components/DayCalendar.tsx, src/components/FlashCard.tsx, src/components/MasteryRing.tsx, src/components/index.ts, src/docs/index.ts, src/docs/learning-journey-ui-gamified.docblock.ts, src/views/Overview.tsx, src/views/Progress.tsx, src/views/Steps.tsx, src/views/Timeline.tsx, src/views/index.ts[39m
|
|
5
|
+
[34mℹ[39m target: [34mesnext[39m
|
|
6
|
+
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
7
|
+
[34mℹ[39m Build start
|
|
8
|
+
[34mℹ[39m Cleaning 50 files
|
|
9
|
+
[34mℹ[39m [2mdist/[22m[1mviews/Overview.js[22m [2m6.10 kB[22m [2m│ gzip: 1.61 kB[22m
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mviews/Timeline.js[22m [2m5.75 kB[22m [2m│ gzip: 1.45 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22m[1mviews/Progress.js[22m [2m5.62 kB[22m [2m│ gzip: 1.57 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[1mcomponents/FlashCard.js[22m [2m2.94 kB[22m [2m│ gzip: 1.03 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[1mGamifiedMiniApp.js[22m [2m2.32 kB[22m [2m│ gzip: 0.79 kB[22m
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[1mcomponents/MasteryRing.js[22m [2m2.15 kB[22m [2m│ gzip: 0.88 kB[22m
|
|
15
|
+
[34mℹ[39m [2mdist/[22m[1mviews/Steps.js[22m [2m1.63 kB[22m [2m│ gzip: 0.68 kB[22m
|
|
16
|
+
[34mℹ[39m [2mdist/[22m[1mcomponents/DayCalendar.js[22m [2m1.51 kB[22m [2m│ gzip: 0.68 kB[22m
|
|
17
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/learning-journey-ui-gamified.docblock.js[22m [2m0.83 kB[22m [2m│ gzip: 0.47 kB[22m
|
|
18
|
+
[34mℹ[39m [2mdist/[22m[1mexample.js[22m [2m0.78 kB[22m [2m│ gzip: 0.43 kB[22m
|
|
19
|
+
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m0.67 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
20
|
+
[34mℹ[39m [2mdist/[22m[1mviews/index.js[22m [2m0.21 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
21
|
+
[34mℹ[39m [2mdist/[22m[1mcomponents/index.js[22m [2m0.19 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
22
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/index.js[22m [2m0.05 kB[22m [2m│ gzip: 0.07 kB[22m
|
|
23
|
+
[34mℹ[39m [2mdist/[22mviews/Timeline.js.map [2m9.32 kB[22m [2m│ gzip: 2.53 kB[22m
|
|
24
|
+
[34mℹ[39m [2mdist/[22mviews/Progress.js.map [2m8.41 kB[22m [2m│ gzip: 2.54 kB[22m
|
|
25
|
+
[34mℹ[39m [2mdist/[22mviews/Overview.js.map [2m7.85 kB[22m [2m│ gzip: 2.37 kB[22m
|
|
26
|
+
[34mℹ[39m [2mdist/[22mcomponents/FlashCard.js.map [2m4.21 kB[22m [2m│ gzip: 1.56 kB[22m
|
|
27
|
+
[34mℹ[39m [2mdist/[22mGamifiedMiniApp.js.map [2m3.62 kB[22m [2m│ gzip: 1.30 kB[22m
|
|
28
|
+
[34mℹ[39m [2mdist/[22mcomponents/MasteryRing.js.map [2m3.43 kB[22m [2m│ gzip: 1.34 kB[22m
|
|
29
|
+
[34mℹ[39m [2mdist/[22mviews/Steps.js.map [2m2.36 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
30
|
+
[34mℹ[39m [2mdist/[22mcomponents/DayCalendar.js.map [2m2.28 kB[22m [2m│ gzip: 0.99 kB[22m
|
|
31
|
+
[34mℹ[39m [2mdist/[22mdocs/learning-journey-ui-gamified.docblock.js.map [2m1.17 kB[22m [2m│ gzip: 0.63 kB[22m
|
|
32
|
+
[34mℹ[39m [2mdist/[22mexample.js.map [2m1.13 kB[22m [2m│ gzip: 0.60 kB[22m
|
|
33
|
+
[34mℹ[39m [2mdist/[22mcomponents/MasteryRing.d.ts.map [2m0.37 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
34
|
+
[34mℹ[39m [2mdist/[22mcomponents/FlashCard.d.ts.map [2m0.32 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
35
|
+
[34mℹ[39m [2mdist/[22mGamifiedMiniApp.d.ts.map [2m0.31 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
36
|
+
[34mℹ[39m [2mdist/[22mcomponents/DayCalendar.d.ts.map [2m0.29 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
37
|
+
[34mℹ[39m [2mdist/[22mviews/Overview.d.ts.map [2m0.26 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
38
|
+
[34mℹ[39m [2mdist/[22mviews/Progress.d.ts.map [2m0.17 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
39
|
+
[34mℹ[39m [2mdist/[22mviews/Timeline.d.ts.map [2m0.17 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
40
|
+
[34mℹ[39m [2mdist/[22mviews/Steps.d.ts.map [2m0.17 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
41
|
+
[34mℹ[39m [2mdist/[22mexample.d.ts.map [2m0.14 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
42
|
+
[34mℹ[39m [2mdist/[22m[32m[1mexample.d.ts[22m[39m [2m1.01 kB[22m [2m│ gzip: 0.43 kB[22m
|
|
43
|
+
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m0.62 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
44
|
+
[34mℹ[39m [2mdist/[22m[32m[1mGamifiedMiniApp.d.ts[22m[39m [2m0.59 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
45
|
+
[34mℹ[39m [2mdist/[22m[32m[1mcomponents/FlashCard.d.ts[22m[39m [2m0.53 kB[22m [2m│ gzip: 0.31 kB[22m
|
|
46
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/Overview.d.ts[22m[39m [2m0.45 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
47
|
+
[34mℹ[39m [2mdist/[22m[32m[1mcomponents/MasteryRing.d.ts[22m[39m [2m0.45 kB[22m [2m│ gzip: 0.28 kB[22m
|
|
48
|
+
[34mℹ[39m [2mdist/[22m[32m[1mcomponents/DayCalendar.d.ts[22m[39m [2m0.41 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
49
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/Steps.d.ts[22m[39m [2m0.36 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
50
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/Progress.d.ts[22m[39m [2m0.35 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
51
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/Timeline.d.ts[22m[39m [2m0.35 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
52
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/index.d.ts[22m[39m [2m0.21 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
53
|
+
[34mℹ[39m [2mdist/[22m[32m[1mcomponents/index.d.ts[22m[39m [2m0.19 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
54
|
+
[34mℹ[39m [2mdist/[22m[32m[1mdocs/index.d.ts[22m[39m [2m0.01 kB[22m [2m│ gzip: 0.03 kB[22m
|
|
55
|
+
[34mℹ[39m [2mdist/[22m[32m[1mdocs/learning-journey-ui-gamified.docblock.d.ts[22m[39m [2m0.01 kB[22m [2m│ gzip: 0.03 kB[22m
|
|
56
|
+
[34mℹ[39m 47 files, total: 82.27 kB
|
|
57
|
+
[32m✔[39m Build complete in [32m8400ms[39m
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
$ bun build:types && bun build:bundle
|
|
2
|
+
$ tsc --noEmit
|
|
3
|
+
$ tsdown
|
|
4
|
+
[34mℹ[39m tsdown [2mv0.18.3[22m powered by rolldown [2mv1.0.0-beta.57[22m
|
|
5
|
+
[34mℹ[39m config file: [4m/home/runner/work/contractspec/contractspec/packages/examples/learning-journey-ui-gamified/tsdown.config.js[24m
|
|
6
|
+
[34mℹ[39m entry: [34msrc/GamifiedMiniApp.tsx, src/example.ts, src/index.ts, src/components/DayCalendar.tsx, src/components/FlashCard.tsx, src/components/MasteryRing.tsx, src/components/index.ts, src/docs/index.ts, src/docs/learning-journey-ui-gamified.docblock.ts, src/views/Overview.tsx, src/views/Progress.tsx, src/views/Steps.tsx, src/views/Timeline.tsx, src/views/index.ts[39m
|
|
7
|
+
[34mℹ[39m target: [34mesnext[39m
|
|
8
|
+
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
9
|
+
[34mℹ[39m Build start
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mviews/Overview.js[22m [2m6.10 kB[22m [2m│ gzip: 1.61 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22m[1mviews/Timeline.js[22m [2m5.75 kB[22m [2m│ gzip: 1.45 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[1mviews/Progress.js[22m [2m5.62 kB[22m [2m│ gzip: 1.57 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[1mcomponents/FlashCard.js[22m [2m2.94 kB[22m [2m│ gzip: 1.03 kB[22m
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[1mGamifiedMiniApp.js[22m [2m2.32 kB[22m [2m│ gzip: 0.79 kB[22m
|
|
15
|
+
[34mℹ[39m [2mdist/[22m[1mcomponents/MasteryRing.js[22m [2m2.15 kB[22m [2m│ gzip: 0.88 kB[22m
|
|
16
|
+
[34mℹ[39m [2mdist/[22m[1mviews/Steps.js[22m [2m1.63 kB[22m [2m│ gzip: 0.68 kB[22m
|
|
17
|
+
[34mℹ[39m [2mdist/[22m[1mcomponents/DayCalendar.js[22m [2m1.51 kB[22m [2m│ gzip: 0.68 kB[22m
|
|
18
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/learning-journey-ui-gamified.docblock.js[22m [2m0.83 kB[22m [2m│ gzip: 0.47 kB[22m
|
|
19
|
+
[34mℹ[39m [2mdist/[22m[1mexample.js[22m [2m0.78 kB[22m [2m│ gzip: 0.43 kB[22m
|
|
20
|
+
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m0.67 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
21
|
+
[34mℹ[39m [2mdist/[22m[1mviews/index.js[22m [2m0.21 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
22
|
+
[34mℹ[39m [2mdist/[22m[1mcomponents/index.js[22m [2m0.19 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
23
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/index.js[22m [2m0.05 kB[22m [2m│ gzip: 0.07 kB[22m
|
|
24
|
+
[34mℹ[39m [2mdist/[22mviews/Timeline.js.map [2m9.32 kB[22m [2m│ gzip: 2.53 kB[22m
|
|
25
|
+
[34mℹ[39m [2mdist/[22mviews/Progress.js.map [2m8.41 kB[22m [2m│ gzip: 2.54 kB[22m
|
|
26
|
+
[34mℹ[39m [2mdist/[22mviews/Overview.js.map [2m7.85 kB[22m [2m│ gzip: 2.37 kB[22m
|
|
27
|
+
[34mℹ[39m [2mdist/[22mcomponents/FlashCard.js.map [2m4.21 kB[22m [2m│ gzip: 1.56 kB[22m
|
|
28
|
+
[34mℹ[39m [2mdist/[22mGamifiedMiniApp.js.map [2m3.62 kB[22m [2m│ gzip: 1.30 kB[22m
|
|
29
|
+
[34mℹ[39m [2mdist/[22mcomponents/MasteryRing.js.map [2m3.43 kB[22m [2m│ gzip: 1.34 kB[22m
|
|
30
|
+
[34mℹ[39m [2mdist/[22mviews/Steps.js.map [2m2.36 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
31
|
+
[34mℹ[39m [2mdist/[22mcomponents/DayCalendar.js.map [2m2.28 kB[22m [2m│ gzip: 0.99 kB[22m
|
|
32
|
+
[34mℹ[39m [2mdist/[22mdocs/learning-journey-ui-gamified.docblock.js.map [2m1.17 kB[22m [2m│ gzip: 0.63 kB[22m
|
|
33
|
+
[34mℹ[39m [2mdist/[22mexample.js.map [2m1.13 kB[22m [2m│ gzip: 0.60 kB[22m
|
|
34
|
+
[34mℹ[39m [2mdist/[22mcomponents/MasteryRing.d.ts.map [2m0.37 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
35
|
+
[34mℹ[39m [2mdist/[22mcomponents/FlashCard.d.ts.map [2m0.32 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
36
|
+
[34mℹ[39m [2mdist/[22mGamifiedMiniApp.d.ts.map [2m0.31 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
37
|
+
[34mℹ[39m [2mdist/[22mcomponents/DayCalendar.d.ts.map [2m0.29 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
38
|
+
[34mℹ[39m [2mdist/[22mviews/Overview.d.ts.map [2m0.26 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
39
|
+
[34mℹ[39m [2mdist/[22mviews/Progress.d.ts.map [2m0.17 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
40
|
+
[34mℹ[39m [2mdist/[22mviews/Timeline.d.ts.map [2m0.17 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
41
|
+
[34mℹ[39m [2mdist/[22mviews/Steps.d.ts.map [2m0.17 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
42
|
+
[34mℹ[39m [2mdist/[22mexample.d.ts.map [2m0.14 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
43
|
+
[34mℹ[39m [2mdist/[22m[32m[1mexample.d.ts[22m[39m [2m1.01 kB[22m [2m│ gzip: 0.43 kB[22m
|
|
44
|
+
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m0.62 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
45
|
+
[34mℹ[39m [2mdist/[22m[32m[1mGamifiedMiniApp.d.ts[22m[39m [2m0.59 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
46
|
+
[34mℹ[39m [2mdist/[22m[32m[1mcomponents/FlashCard.d.ts[22m[39m [2m0.53 kB[22m [2m│ gzip: 0.31 kB[22m
|
|
47
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/Overview.d.ts[22m[39m [2m0.45 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
48
|
+
[34mℹ[39m [2mdist/[22m[32m[1mcomponents/MasteryRing.d.ts[22m[39m [2m0.45 kB[22m [2m│ gzip: 0.28 kB[22m
|
|
49
|
+
[34mℹ[39m [2mdist/[22m[32m[1mcomponents/DayCalendar.d.ts[22m[39m [2m0.41 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
50
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/Steps.d.ts[22m[39m [2m0.36 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
51
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/Progress.d.ts[22m[39m [2m0.35 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
52
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/Timeline.d.ts[22m[39m [2m0.35 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
53
|
+
[34mℹ[39m [2mdist/[22m[32m[1mviews/index.d.ts[22m[39m [2m0.21 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
54
|
+
[34mℹ[39m [2mdist/[22m[32m[1mcomponents/index.d.ts[22m[39m [2m0.19 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
55
|
+
[34mℹ[39m [2mdist/[22m[32m[1mdocs/index.d.ts[22m[39m [2m0.01 kB[22m [2m│ gzip: 0.03 kB[22m
|
|
56
|
+
[34mℹ[39m [2mdist/[22m[32m[1mdocs/learning-journey-ui-gamified.docblock.d.ts[22m[39m [2m0.01 kB[22m [2m│ gzip: 0.03 kB[22m
|
|
57
|
+
[34mℹ[39m 47 files, total: 82.27 kB
|
|
58
|
+
[32m✔[39m Build complete in [32m7667ms[39m
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# @contractspec/example.learning-journey-ui-gamified
|
|
2
|
+
|
|
3
|
+
## 1.44.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 5f3a868: chore: isolate branding to contractspec.io
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [5f3a868]
|
|
12
|
+
- @contractspec/example.learning-journey-quest-challenges@1.44.0
|
|
13
|
+
- @contractspec/example.learning-journey-duo-drills@1.44.0
|
|
14
|
+
- @contractspec/example.learning-journey-ui-shared@1.44.0
|
|
15
|
+
- @contractspec/module.learning-journey@1.44.0
|
|
16
|
+
- @contractspec/lib.design-system@1.44.0
|
|
17
|
+
- @contractspec/lib.ui-kit-web@1.44.0
|
|
18
|
+
- @contractspec/lib.contracts@1.44.0
|
|
19
|
+
- @contractspec/lib.schema@1.44.0
|
|
20
|
+
|
|
21
|
+
## 1.43.4
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- 9216062: fix: cross-platform compatibility
|
|
26
|
+
- Updated dependencies [9216062]
|
|
27
|
+
- @contractspec/example.learning-journey-quest-challenges@1.43.4
|
|
28
|
+
- @contractspec/example.learning-journey-duo-drills@1.43.4
|
|
29
|
+
- @contractspec/example.learning-journey-ui-shared@1.43.4
|
|
30
|
+
- @contractspec/module.learning-journey@1.43.4
|
|
31
|
+
- @contractspec/lib.design-system@1.43.4
|
|
32
|
+
- @contractspec/lib.ui-kit-web@1.43.3
|
|
33
|
+
- @contractspec/lib.contracts@1.43.4
|
|
34
|
+
- @contractspec/lib.schema@1.43.3
|
|
35
|
+
|
|
36
|
+
## 1.43.3
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- 24d9759: improve documentation
|
|
41
|
+
- Updated dependencies [24d9759]
|
|
42
|
+
- @contractspec/example.learning-journey-quest-challenges@1.43.3
|
|
43
|
+
- @contractspec/example.learning-journey-duo-drills@1.43.3
|
|
44
|
+
- @contractspec/example.learning-journey-ui-shared@1.43.3
|
|
45
|
+
- @contractspec/module.learning-journey@1.43.3
|
|
46
|
+
- @contractspec/lib.design-system@1.43.3
|
|
47
|
+
- @contractspec/lib.ui-kit-web@1.43.2
|
|
48
|
+
- @contractspec/lib.contracts@1.43.3
|
|
49
|
+
- @contractspec/lib.schema@1.43.2
|
|
50
|
+
|
|
51
|
+
## 1.43.2
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- e147271: fix: improve stability
|
|
56
|
+
- Updated dependencies [e147271]
|
|
57
|
+
- @contractspec/example.learning-journey-quest-challenges@1.43.2
|
|
58
|
+
- @contractspec/example.learning-journey-duo-drills@1.43.2
|
|
59
|
+
- @contractspec/example.learning-journey-ui-shared@1.43.2
|
|
60
|
+
- @contractspec/module.learning-journey@1.43.2
|
|
61
|
+
- @contractspec/lib.design-system@1.43.2
|
|
62
|
+
- @contractspec/lib.contracts@1.43.2
|
|
63
|
+
- @contractspec/lib.schema@1.43.1
|
|
64
|
+
- @contractspec/lib.ui-kit-web@1.43.1
|
|
65
|
+
|
|
66
|
+
## 1.43.1
|
|
67
|
+
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- Updated dependencies [f28fdad]
|
|
71
|
+
- @contractspec/lib.contracts@1.43.1
|
|
72
|
+
- @contractspec/example.learning-journey-duo-drills@1.43.1
|
|
73
|
+
- @contractspec/example.learning-journey-quest-challenges@1.43.1
|
|
74
|
+
- @contractspec/example.learning-journey-ui-shared@1.43.1
|
|
75
|
+
- @contractspec/lib.design-system@1.43.1
|
|
76
|
+
- @contractspec/module.learning-journey@1.43.1
|
|
77
|
+
|
|
78
|
+
## 1.43.0
|
|
79
|
+
|
|
80
|
+
### Minor Changes
|
|
81
|
+
|
|
82
|
+
- 042d072: feat: schema declaration using json schema, including zod
|
|
83
|
+
|
|
84
|
+
### Patch Changes
|
|
85
|
+
|
|
86
|
+
- Updated dependencies [042d072]
|
|
87
|
+
- @contractspec/example.learning-journey-quest-challenges@1.43.0
|
|
88
|
+
- @contractspec/example.learning-journey-duo-drills@1.43.0
|
|
89
|
+
- @contractspec/example.learning-journey-ui-shared@1.43.0
|
|
90
|
+
- @contractspec/module.learning-journey@1.43.0
|
|
91
|
+
- @contractspec/lib.design-system@1.43.0
|
|
92
|
+
- @contractspec/lib.ui-kit-web@1.43.0
|
|
93
|
+
- @contractspec/lib.contracts@1.43.0
|
|
94
|
+
- @contractspec/lib.schema@1.43.0
|
|
95
|
+
|
|
96
|
+
## 1.42.10
|
|
97
|
+
|
|
98
|
+
### Patch Changes
|
|
99
|
+
|
|
100
|
+
- 1e6a0f1: fix: mcp server
|
|
101
|
+
- Updated dependencies [1e6a0f1]
|
|
102
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.10
|
|
103
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.10
|
|
104
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.10
|
|
105
|
+
- @contractspec/module.learning-journey@1.42.10
|
|
106
|
+
- @contractspec/lib.design-system@1.42.10
|
|
107
|
+
- @contractspec/lib.ui-kit-web@1.42.10
|
|
108
|
+
- @contractspec/lib.contracts@1.42.10
|
|
109
|
+
- @contractspec/lib.schema@1.42.10
|
|
110
|
+
|
|
111
|
+
## 1.42.9
|
|
112
|
+
|
|
113
|
+
### Patch Changes
|
|
114
|
+
|
|
115
|
+
- 9281db7: fix ModelRegistry
|
|
116
|
+
- Updated dependencies [9281db7]
|
|
117
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.9
|
|
118
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.9
|
|
119
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.9
|
|
120
|
+
- @contractspec/module.learning-journey@1.42.9
|
|
121
|
+
- @contractspec/lib.design-system@1.42.9
|
|
122
|
+
- @contractspec/lib.ui-kit-web@1.42.9
|
|
123
|
+
- @contractspec/lib.contracts@1.42.9
|
|
124
|
+
- @contractspec/lib.schema@1.42.9
|
|
125
|
+
|
|
126
|
+
## 1.42.8
|
|
127
|
+
|
|
128
|
+
### Patch Changes
|
|
129
|
+
|
|
130
|
+
- e07b5ac: fix
|
|
131
|
+
- Updated dependencies [e07b5ac]
|
|
132
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.8
|
|
133
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.8
|
|
134
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.8
|
|
135
|
+
- @contractspec/module.learning-journey@1.42.8
|
|
136
|
+
- @contractspec/lib.design-system@1.42.8
|
|
137
|
+
- @contractspec/lib.ui-kit-web@1.42.8
|
|
138
|
+
- @contractspec/lib.contracts@1.42.8
|
|
139
|
+
- @contractspec/lib.schema@1.42.8
|
|
140
|
+
|
|
141
|
+
## 1.42.7
|
|
142
|
+
|
|
143
|
+
### Patch Changes
|
|
144
|
+
|
|
145
|
+
- e9b575d: fix release
|
|
146
|
+
- Updated dependencies [e9b575d]
|
|
147
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.7
|
|
148
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.7
|
|
149
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.7
|
|
150
|
+
- @contractspec/module.learning-journey@1.42.7
|
|
151
|
+
- @contractspec/lib.design-system@1.42.7
|
|
152
|
+
- @contractspec/lib.ui-kit-web@1.42.7
|
|
153
|
+
- @contractspec/lib.contracts@1.42.7
|
|
154
|
+
- @contractspec/lib.schema@1.42.7
|
|
155
|
+
|
|
156
|
+
## 1.42.6
|
|
157
|
+
|
|
158
|
+
### Patch Changes
|
|
159
|
+
|
|
160
|
+
- 1500242: fix tooling
|
|
161
|
+
- Updated dependencies [1500242]
|
|
162
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.6
|
|
163
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.6
|
|
164
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.6
|
|
165
|
+
- @contractspec/module.learning-journey@1.42.6
|
|
166
|
+
- @contractspec/lib.design-system@1.42.6
|
|
167
|
+
- @contractspec/lib.ui-kit-web@1.42.6
|
|
168
|
+
- @contractspec/lib.contracts@1.42.6
|
|
169
|
+
- @contractspec/lib.schema@1.42.6
|
|
170
|
+
|
|
171
|
+
## 1.42.5
|
|
172
|
+
|
|
173
|
+
### Patch Changes
|
|
174
|
+
|
|
175
|
+
- 1299719: fix vscode
|
|
176
|
+
- Updated dependencies [1299719]
|
|
177
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.5
|
|
178
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.5
|
|
179
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.5
|
|
180
|
+
- @contractspec/module.learning-journey@1.42.5
|
|
181
|
+
- @contractspec/lib.design-system@1.42.5
|
|
182
|
+
- @contractspec/lib.ui-kit-web@1.42.5
|
|
183
|
+
- @contractspec/lib.contracts@1.42.5
|
|
184
|
+
- @contractspec/lib.schema@1.42.5
|
|
185
|
+
|
|
186
|
+
## 1.42.4
|
|
187
|
+
|
|
188
|
+
### Patch Changes
|
|
189
|
+
|
|
190
|
+
- ac28b99: fix: generate from openapi
|
|
191
|
+
- Updated dependencies [ac28b99]
|
|
192
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.4
|
|
193
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.4
|
|
194
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.4
|
|
195
|
+
- @contractspec/module.learning-journey@1.42.4
|
|
196
|
+
- @contractspec/lib.design-system@1.42.4
|
|
197
|
+
- @contractspec/lib.ui-kit-web@1.42.4
|
|
198
|
+
- @contractspec/lib.contracts@1.42.4
|
|
199
|
+
- @contractspec/lib.schema@1.42.4
|
|
200
|
+
|
|
201
|
+
## 1.42.3
|
|
202
|
+
|
|
203
|
+
### Patch Changes
|
|
204
|
+
|
|
205
|
+
- 3f5d015: fix(tooling): cicd
|
|
206
|
+
- Updated dependencies [3f5d015]
|
|
207
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.3
|
|
208
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.3
|
|
209
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.3
|
|
210
|
+
- @contractspec/lib.contracts@1.42.3
|
|
211
|
+
- @contractspec/lib.design-system@1.42.3
|
|
212
|
+
- @contractspec/lib.schema@1.42.3
|
|
213
|
+
- @contractspec/lib.ui-kit-web@1.42.3
|
|
214
|
+
- @contractspec/module.learning-journey@1.42.3
|
|
215
|
+
|
|
216
|
+
## 1.42.2
|
|
217
|
+
|
|
218
|
+
### Patch Changes
|
|
219
|
+
|
|
220
|
+
- 1f9ac4c: fix
|
|
221
|
+
- Updated dependencies [1f9ac4c]
|
|
222
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.2
|
|
223
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.2
|
|
224
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.2
|
|
225
|
+
- @contractspec/lib.contracts@1.42.2
|
|
226
|
+
- @contractspec/lib.design-system@1.42.2
|
|
227
|
+
- @contractspec/lib.schema@1.42.2
|
|
228
|
+
- @contractspec/lib.ui-kit-web@1.42.2
|
|
229
|
+
- @contractspec/module.learning-journey@1.42.2
|
|
230
|
+
|
|
231
|
+
## 1.42.1
|
|
232
|
+
|
|
233
|
+
### Patch Changes
|
|
234
|
+
|
|
235
|
+
- f043995: Fix release
|
|
236
|
+
- Updated dependencies [f043995]
|
|
237
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.1
|
|
238
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.1
|
|
239
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.1
|
|
240
|
+
- @contractspec/module.learning-journey@1.42.1
|
|
241
|
+
- @contractspec/lib.design-system@1.42.1
|
|
242
|
+
- @contractspec/lib.ui-kit-web@1.42.1
|
|
243
|
+
- @contractspec/lib.contracts@1.42.1
|
|
244
|
+
- @contractspec/lib.schema@1.42.1
|
|
245
|
+
|
|
246
|
+
## 1.42.0
|
|
247
|
+
|
|
248
|
+
### Minor Changes
|
|
249
|
+
|
|
250
|
+
- 8eefd9c: initial release
|
|
251
|
+
|
|
252
|
+
### Patch Changes
|
|
253
|
+
|
|
254
|
+
- Updated dependencies [8eefd9c]
|
|
255
|
+
- @contractspec/example.learning-journey-duo-drills@1.42.0
|
|
256
|
+
- @contractspec/example.learning-journey-quest-challenges@1.42.0
|
|
257
|
+
- @contractspec/example.learning-journey-ui-shared@1.42.0
|
|
258
|
+
- @contractspec/lib.contracts@1.42.0
|
|
259
|
+
- @contractspec/lib.design-system@1.42.0
|
|
260
|
+
- @contractspec/lib.schema@1.42.0
|
|
261
|
+
- @contractspec/lib.ui-kit-web@1.42.0
|
|
262
|
+
- @contractspec/module.learning-journey@1.42.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Chaman Ventures, SASU
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# @contractspec/example.learning-journey-ui-gamified
|
|
2
|
+
|
|
3
|
+
Website: https://contractspec.io/
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
Duolingo-style gamified learning UI for drills and quests.
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- **Overview**: Hero card with XP, streak, and next challenge preview
|
|
11
|
+
- **Steps**: Interactive flashcard-style step cards
|
|
12
|
+
- **Progress**: Mastery rings, XP bar, and badge display
|
|
13
|
+
- **Timeline**: Day calendar for quests, step timeline for drills
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import { GamifiedMiniApp } from '@contractspec/example.learning-journey-ui-gamified';
|
|
19
|
+
import { drillsLanguageBasicsTrack } from '@contractspec/example.learning-journey-duo-drills/track';
|
|
20
|
+
|
|
21
|
+
function MyApp() {
|
|
22
|
+
return (
|
|
23
|
+
<GamifiedMiniApp track={drillsLanguageBasicsTrack} initialView="overview" />
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Components
|
|
29
|
+
|
|
30
|
+
- **FlashCard** - Tappable card that reveals action on flip
|
|
31
|
+
- **MasteryRing** - Circular progress indicator
|
|
32
|
+
- **DayCalendar** - 7-day grid for quest progress
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LearningMiniAppProps } from "@contractspec/example.learning-journey-ui-shared";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/GamifiedMiniApp.d.ts
|
|
5
|
+
type GamifiedMiniAppProps = Omit<LearningMiniAppProps, 'progress'> & {
|
|
6
|
+
progress?: LearningMiniAppProps['progress'];
|
|
7
|
+
};
|
|
8
|
+
declare function GamifiedMiniApp({
|
|
9
|
+
track,
|
|
10
|
+
progress: externalProgress,
|
|
11
|
+
onStepComplete: externalOnStepComplete,
|
|
12
|
+
onViewChange,
|
|
13
|
+
initialView
|
|
14
|
+
}: GamifiedMiniAppProps): react_jsx_runtime0.JSX.Element;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { GamifiedMiniApp };
|
|
17
|
+
//# sourceMappingURL=GamifiedMiniApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GamifiedMiniApp.d.ts","names":[],"sources":["../src/GamifiedMiniApp.tsx"],"sourcesContent":[],"mappings":";;;;KAeK,oBAAA,GAAuB,KAAK;aACpB;;AADR,iBAIW,eAAA,CAJS;EAAA,KAAA;EAAA,QAAA,EAMb,gBANa;EAAA,cAAA,EAOP,sBAPO;EAAA,YAAA;EAAA;AAAA,CAAA,EAUtB,oBAVsB,CAAA,EAUF,kBAAA,CAAA,GAAA,CAAA,OAVE"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { Overview } from "./views/Overview.js";
|
|
4
|
+
import { Steps } from "./views/Steps.js";
|
|
5
|
+
import { Progress } from "./views/Progress.js";
|
|
6
|
+
import { Timeline } from "./views/Timeline.js";
|
|
7
|
+
import { useCallback, useState } from "react";
|
|
8
|
+
import { Card, CardContent } from "@contractspec/lib.ui-kit-web/ui/card";
|
|
9
|
+
import { ViewTabs, useLearningProgress } from "@contractspec/example.learning-journey-ui-shared";
|
|
10
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
|
|
12
|
+
//#region src/GamifiedMiniApp.tsx
|
|
13
|
+
function GamifiedMiniApp({ track, progress: externalProgress, onStepComplete: externalOnStepComplete, onViewChange, initialView = "overview" }) {
|
|
14
|
+
const [currentView, setCurrentView] = useState(initialView);
|
|
15
|
+
const { progress: internalProgress, completeStep: internalCompleteStep } = useLearningProgress(track);
|
|
16
|
+
const progress = externalProgress ?? internalProgress;
|
|
17
|
+
const handleViewChange = useCallback((view) => {
|
|
18
|
+
setCurrentView(view);
|
|
19
|
+
onViewChange?.(view);
|
|
20
|
+
}, [onViewChange]);
|
|
21
|
+
const handleStepComplete = useCallback((stepId) => {
|
|
22
|
+
if (externalOnStepComplete) externalOnStepComplete(stepId);
|
|
23
|
+
else internalCompleteStep(stepId);
|
|
24
|
+
}, [externalOnStepComplete, internalCompleteStep]);
|
|
25
|
+
const handleStartFromOverview = useCallback(() => {
|
|
26
|
+
setCurrentView("steps");
|
|
27
|
+
onViewChange?.("steps");
|
|
28
|
+
}, [onViewChange]);
|
|
29
|
+
const renderView = () => {
|
|
30
|
+
const viewProps = {
|
|
31
|
+
track,
|
|
32
|
+
progress,
|
|
33
|
+
onStepComplete: handleStepComplete
|
|
34
|
+
};
|
|
35
|
+
switch (currentView) {
|
|
36
|
+
case "overview": return /* @__PURE__ */ jsx(Overview, {
|
|
37
|
+
...viewProps,
|
|
38
|
+
onStart: handleStartFromOverview
|
|
39
|
+
});
|
|
40
|
+
case "steps": return /* @__PURE__ */ jsx(Steps, { ...viewProps });
|
|
41
|
+
case "progress": return /* @__PURE__ */ jsx(Progress, { ...viewProps });
|
|
42
|
+
case "timeline": return /* @__PURE__ */ jsx(Timeline, { ...viewProps });
|
|
43
|
+
default: return /* @__PURE__ */ jsx(Overview, {
|
|
44
|
+
...viewProps,
|
|
45
|
+
onStart: handleStartFromOverview
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
50
|
+
className: "space-y-6",
|
|
51
|
+
children: [/* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardContent, {
|
|
52
|
+
className: "p-4",
|
|
53
|
+
children: /* @__PURE__ */ jsx(ViewTabs, {
|
|
54
|
+
currentView,
|
|
55
|
+
onViewChange: handleViewChange
|
|
56
|
+
})
|
|
57
|
+
}) }), renderView()]
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
export { GamifiedMiniApp };
|
|
63
|
+
//# sourceMappingURL=GamifiedMiniApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GamifiedMiniApp.js","names":[],"sources":["../src/GamifiedMiniApp.tsx"],"sourcesContent":["'use client';\n\nimport { useState, useCallback } from 'react';\nimport { Card, CardContent } from '@contractspec/lib.ui-kit-web/ui/card';\nimport {\n ViewTabs,\n useLearningProgress,\n type LearningView,\n type LearningMiniAppProps,\n} from '@contractspec/example.learning-journey-ui-shared';\nimport { Overview } from './views/Overview';\nimport { Steps } from './views/Steps';\nimport { Progress } from './views/Progress';\nimport { Timeline } from './views/Timeline';\n\ntype GamifiedMiniAppProps = Omit<LearningMiniAppProps, 'progress'> & {\n progress?: LearningMiniAppProps['progress'];\n};\n\nexport function GamifiedMiniApp({\n track,\n progress: externalProgress,\n onStepComplete: externalOnStepComplete,\n onViewChange,\n initialView = 'overview',\n}: GamifiedMiniAppProps) {\n const [currentView, setCurrentView] = useState<LearningView>(initialView);\n\n // Use internal progress if not provided externally\n const { progress: internalProgress, completeStep: internalCompleteStep } =\n useLearningProgress(track);\n\n const progress = externalProgress ?? internalProgress;\n\n const handleViewChange = useCallback(\n (view: LearningView) => {\n setCurrentView(view);\n onViewChange?.(view);\n },\n [onViewChange]\n );\n\n const handleStepComplete = useCallback(\n (stepId: string) => {\n if (externalOnStepComplete) {\n externalOnStepComplete(stepId);\n } else {\n internalCompleteStep(stepId);\n }\n },\n [externalOnStepComplete, internalCompleteStep]\n );\n\n const handleStartFromOverview = useCallback(() => {\n setCurrentView('steps');\n onViewChange?.('steps');\n }, [onViewChange]);\n\n const renderView = () => {\n const viewProps = {\n track,\n progress,\n onStepComplete: handleStepComplete,\n };\n\n switch (currentView) {\n case 'overview':\n return <Overview {...viewProps} onStart={handleStartFromOverview} />;\n case 'steps':\n return <Steps {...viewProps} />;\n case 'progress':\n return <Progress {...viewProps} />;\n case 'timeline':\n return <Timeline {...viewProps} />;\n default:\n return <Overview {...viewProps} onStart={handleStartFromOverview} />;\n }\n };\n\n return (\n <div className=\"space-y-6\">\n {/* Navigation */}\n <Card>\n <CardContent className=\"p-4\">\n <ViewTabs currentView={currentView} onViewChange={handleViewChange} />\n </CardContent>\n </Card>\n\n {/* Current View */}\n {renderView()}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAmBA,SAAgB,gBAAgB,EAC9B,OACA,UAAU,kBACV,gBAAgB,wBAChB,cACA,cAAc,cACS;CACvB,MAAM,CAAC,aAAa,kBAAkB,SAAuB,YAAY;CAGzE,MAAM,EAAE,UAAU,kBAAkB,cAAc,yBAChD,oBAAoB,MAAM;CAE5B,MAAM,WAAW,oBAAoB;CAErC,MAAM,mBAAmB,aACtB,SAAuB;AACtB,iBAAe,KAAK;AACpB,iBAAe,KAAK;IAEtB,CAAC,aAAa,CACf;CAED,MAAM,qBAAqB,aACxB,WAAmB;AAClB,MAAI,uBACF,wBAAuB,OAAO;MAE9B,sBAAqB,OAAO;IAGhC,CAAC,wBAAwB,qBAAqB,CAC/C;CAED,MAAM,0BAA0B,kBAAkB;AAChD,iBAAe,QAAQ;AACvB,iBAAe,QAAQ;IACtB,CAAC,aAAa,CAAC;CAElB,MAAM,mBAAmB;EACvB,MAAM,YAAY;GAChB;GACA;GACA,gBAAgB;GACjB;AAED,UAAQ,aAAR;GACE,KAAK,WACH,QAAO,oBAAC;IAAS,GAAI;IAAW,SAAS;KAA2B;GACtE,KAAK,QACH,QAAO,oBAAC,SAAM,GAAI,YAAa;GACjC,KAAK,WACH,QAAO,oBAAC,YAAS,GAAI,YAAa;GACpC,KAAK,WACH,QAAO,oBAAC,YAAS,GAAI,YAAa;GACpC,QACE,QAAO,oBAAC;IAAS,GAAI;IAAW,SAAS;KAA2B;;;AAI1E,QACE,qBAAC;EAAI,WAAU;aAEb,oBAAC,kBACC,oBAAC;GAAY,WAAU;aACrB,oBAAC;IAAsB;IAAa,cAAc;KAAoB;IAC1D,GACT,EAGN,YAAY;GACT"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react_jsx_runtime1 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components/DayCalendar.d.ts
|
|
4
|
+
interface DayCalendarProps {
|
|
5
|
+
totalDays: number;
|
|
6
|
+
currentDay: number;
|
|
7
|
+
completedDays: number[];
|
|
8
|
+
}
|
|
9
|
+
declare function DayCalendar({
|
|
10
|
+
totalDays,
|
|
11
|
+
currentDay,
|
|
12
|
+
completedDays
|
|
13
|
+
}: DayCalendarProps): react_jsx_runtime1.JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { DayCalendar };
|
|
16
|
+
//# sourceMappingURL=DayCalendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DayCalendar.d.ts","names":[],"sources":["../../src/components/DayCalendar.tsx"],"sourcesContent":[],"mappings":";;;UAIU,gBAAA;;;EAAA,aAAA,EAAA,MAAgB,EAAA;AAM1B;AACE,iBADc,WAAA,CACd;EAAA,SAAA;EAAA,UAAA;EAAA;AAAA,CAAA,EAGC,gBAHD,CAAA,EAGiB,kBAAA,CAAA,GAAA,CAAA,OAHjB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { cn } from "@contractspec/lib.ui-kit-web/ui/utils";
|
|
5
|
+
|
|
6
|
+
//#region src/components/DayCalendar.tsx
|
|
7
|
+
function DayCalendar({ totalDays, currentDay, completedDays }) {
|
|
8
|
+
return /* @__PURE__ */ jsx("div", {
|
|
9
|
+
className: "grid grid-cols-7 gap-2",
|
|
10
|
+
children: Array.from({ length: totalDays }, (_, i) => i + 1).map((day) => {
|
|
11
|
+
const isCompleted = completedDays.includes(day);
|
|
12
|
+
const isCurrent = day === currentDay;
|
|
13
|
+
const isLocked = day > currentDay;
|
|
14
|
+
return /* @__PURE__ */ jsx("div", {
|
|
15
|
+
className: cn("flex h-12 w-12 flex-col items-center justify-center rounded-lg border text-sm font-medium transition-all", isCompleted && "border-green-500 bg-green-500/10 text-green-500", isCurrent && !isCompleted && "border-violet-500 bg-violet-500/10 text-violet-500 ring-2 ring-violet-500/50", isLocked && "border-muted bg-muted/50 text-muted-foreground", !isCompleted && !isCurrent && !isLocked && "border-border bg-card"),
|
|
16
|
+
children: isCompleted ? /* @__PURE__ */ jsx("span", {
|
|
17
|
+
className: "text-lg",
|
|
18
|
+
children: "✓"
|
|
19
|
+
}) : isLocked ? /* @__PURE__ */ jsx("span", {
|
|
20
|
+
className: "text-lg",
|
|
21
|
+
children: "🔒"
|
|
22
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
|
|
23
|
+
className: "text-muted-foreground text-xs",
|
|
24
|
+
children: "Day"
|
|
25
|
+
}), /* @__PURE__ */ jsx("span", { children: day })] })
|
|
26
|
+
}, day);
|
|
27
|
+
})
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { DayCalendar };
|
|
33
|
+
//# sourceMappingURL=DayCalendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DayCalendar.js","names":[],"sources":["../../src/components/DayCalendar.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@contractspec/lib.ui-kit-web/ui/utils';\n\ninterface DayCalendarProps {\n totalDays: number;\n currentDay: number;\n completedDays: number[];\n}\n\nexport function DayCalendar({\n totalDays,\n currentDay,\n completedDays,\n}: DayCalendarProps) {\n const days = Array.from({ length: totalDays }, (_, i) => i + 1);\n\n return (\n <div className=\"grid grid-cols-7 gap-2\">\n {days.map((day) => {\n const isCompleted = completedDays.includes(day);\n const isCurrent = day === currentDay;\n const isLocked = day > currentDay;\n\n return (\n <div\n key={day}\n className={cn(\n 'flex h-12 w-12 flex-col items-center justify-center rounded-lg border text-sm font-medium transition-all',\n isCompleted && 'border-green-500 bg-green-500/10 text-green-500',\n isCurrent &&\n !isCompleted &&\n 'border-violet-500 bg-violet-500/10 text-violet-500 ring-2 ring-violet-500/50',\n isLocked && 'border-muted bg-muted/50 text-muted-foreground',\n !isCompleted && !isCurrent && !isLocked && 'border-border bg-card'\n )}\n >\n {isCompleted ? (\n <span className=\"text-lg\">✓</span>\n ) : isLocked ? (\n <span className=\"text-lg\">🔒</span>\n ) : (\n <>\n <span className=\"text-muted-foreground text-xs\">Day</span>\n <span>{day}</span>\n </>\n )}\n </div>\n );\n })}\n </div>\n );\n}\n"],"mappings":";;;;;;AAUA,SAAgB,YAAY,EAC1B,WACA,YACA,iBACmB;AAGnB,QACE,oBAAC;EAAI,WAAU;YAHJ,MAAM,KAAK,EAAE,QAAQ,WAAW,GAAG,GAAG,MAAM,IAAI,EAAE,CAIrD,KAAK,QAAQ;GACjB,MAAM,cAAc,cAAc,SAAS,IAAI;GAC/C,MAAM,YAAY,QAAQ;GAC1B,MAAM,WAAW,MAAM;AAEvB,UACE,oBAAC;IAEC,WAAW,GACT,4GACA,eAAe,mDACf,aACE,CAAC,eACD,gFACF,YAAY,kDACZ,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,wBAC5C;cAEA,cACC,oBAAC;KAAK,WAAU;eAAU;MAAQ,GAChC,WACF,oBAAC;KAAK,WAAU;eAAU;MAAS,GAEnC,4CACE,oBAAC;KAAK,WAAU;eAAgC;MAAU,EAC1D,oBAAC,oBAAM,MAAW,IACjB;MAnBA,IAqBD;IAER;GACE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as react_jsx_runtime2 from "react/jsx-runtime";
|
|
2
|
+
import { LearningJourneyStepSpec } from "@contractspec/module.learning-journey/track-spec";
|
|
3
|
+
|
|
4
|
+
//#region src/components/FlashCard.d.ts
|
|
5
|
+
interface FlashCardProps {
|
|
6
|
+
step: LearningJourneyStepSpec;
|
|
7
|
+
isCompleted: boolean;
|
|
8
|
+
isCurrent: boolean;
|
|
9
|
+
onComplete?: () => void;
|
|
10
|
+
}
|
|
11
|
+
declare function FlashCard({
|
|
12
|
+
step,
|
|
13
|
+
isCompleted,
|
|
14
|
+
isCurrent,
|
|
15
|
+
onComplete
|
|
16
|
+
}: FlashCardProps): react_jsx_runtime2.JSX.Element;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { FlashCard };
|
|
19
|
+
//# sourceMappingURL=FlashCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlashCard.d.ts","names":[],"sources":["../../src/components/FlashCard.tsx"],"sourcesContent":[],"mappings":";;;;UAQU,cAAA;QACF;;EADE,SAAA,EAAA,OAAc;EAOR,UAAA,CAAA,EAAS,GAAA,GAAA,IAAA;;AAEvB,iBAFc,SAAA,CAEd;EAAA,IAAA;EAAA,WAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAGC,cAHD,CAAA,EAGe,kBAAA,CAAA,GAAA,CAAA,OAHf"}
|