@contractspec/example.learning-journey-ui-onboarding 1.57.0 → 1.58.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 (87) hide show
  1. package/.turbo/turbo-build.log +58 -62
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +19 -0
  4. package/dist/OnboardingMiniApp.d.ts +4 -14
  5. package/dist/OnboardingMiniApp.d.ts.map +1 -1
  6. package/dist/OnboardingMiniApp.js +991 -59
  7. package/dist/browser/OnboardingMiniApp.js +994 -0
  8. package/dist/browser/components/CodeSnippet.js +65 -0
  9. package/dist/browser/components/JourneyMap.js +59 -0
  10. package/dist/browser/components/StepChecklist.js +97 -0
  11. package/dist/browser/components/index.js +219 -0
  12. package/dist/browser/docs/index.js +22 -0
  13. package/dist/browser/docs/learning-journey-ui-onboarding.docblock.js +22 -0
  14. package/dist/browser/example.js +32 -0
  15. package/dist/browser/index.js +1116 -0
  16. package/dist/browser/views/Overview.js +240 -0
  17. package/dist/browser/views/Progress.js +275 -0
  18. package/dist/browser/views/Steps.js +192 -0
  19. package/dist/browser/views/Timeline.js +213 -0
  20. package/dist/browser/views/index.js +915 -0
  21. package/dist/components/CodeSnippet.d.ts +5 -13
  22. package/dist/components/CodeSnippet.d.ts.map +1 -1
  23. package/dist/components/CodeSnippet.js +63 -47
  24. package/dist/components/JourneyMap.d.ts +6 -14
  25. package/dist/components/JourneyMap.d.ts.map +1 -1
  26. package/dist/components/JourneyMap.js +57 -46
  27. package/dist/components/StepChecklist.d.ts +10 -22
  28. package/dist/components/StepChecklist.d.ts.map +1 -1
  29. package/dist/components/StepChecklist.js +95 -77
  30. package/dist/components/index.d.ts +4 -4
  31. package/dist/components/index.d.ts.map +1 -0
  32. package/dist/components/index.js +219 -4
  33. package/dist/docs/index.d.ts +2 -1
  34. package/dist/docs/index.d.ts.map +1 -0
  35. package/dist/docs/index.js +23 -1
  36. package/dist/docs/learning-journey-ui-onboarding.docblock.d.ts +2 -1
  37. package/dist/docs/learning-journey-ui-onboarding.docblock.d.ts.map +1 -0
  38. package/dist/docs/learning-journey-ui-onboarding.docblock.js +21 -18
  39. package/dist/example.d.ts +2 -6
  40. package/dist/example.d.ts.map +1 -1
  41. package/dist/example.js +31 -39
  42. package/dist/index.d.ts +6 -12
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +1117 -14
  45. package/dist/node/OnboardingMiniApp.js +994 -0
  46. package/dist/node/components/CodeSnippet.js +65 -0
  47. package/dist/node/components/JourneyMap.js +59 -0
  48. package/dist/node/components/StepChecklist.js +97 -0
  49. package/dist/node/components/index.js +219 -0
  50. package/dist/node/docs/index.js +22 -0
  51. package/dist/node/docs/learning-journey-ui-onboarding.docblock.js +22 -0
  52. package/dist/node/example.js +32 -0
  53. package/dist/node/index.js +1116 -0
  54. package/dist/node/views/Overview.js +240 -0
  55. package/dist/node/views/Progress.js +275 -0
  56. package/dist/node/views/Steps.js +192 -0
  57. package/dist/node/views/Timeline.js +213 -0
  58. package/dist/node/views/index.js +915 -0
  59. package/dist/views/Overview.d.ts +4 -12
  60. package/dist/views/Overview.d.ts.map +1 -1
  61. package/dist/views/Overview.js +238 -177
  62. package/dist/views/Progress.d.ts +3 -10
  63. package/dist/views/Progress.d.ts.map +1 -1
  64. package/dist/views/Progress.js +273 -158
  65. package/dist/views/Steps.d.ts +2 -11
  66. package/dist/views/Steps.d.ts.map +1 -1
  67. package/dist/views/Steps.js +188 -87
  68. package/dist/views/Timeline.d.ts +2 -10
  69. package/dist/views/Timeline.d.ts.map +1 -1
  70. package/dist/views/Timeline.js +211 -95
  71. package/dist/views/index.d.ts +5 -5
  72. package/dist/views/index.d.ts.map +1 -0
  73. package/dist/views/index.js +915 -5
  74. package/package.json +155 -39
  75. package/tsdown.config.js +1 -2
  76. package/.turbo/turbo-build$colon$bundle.log +0 -59
  77. package/dist/OnboardingMiniApp.js.map +0 -1
  78. package/dist/components/CodeSnippet.js.map +0 -1
  79. package/dist/components/JourneyMap.js.map +0 -1
  80. package/dist/components/StepChecklist.js.map +0 -1
  81. package/dist/docs/learning-journey-ui-onboarding.docblock.js.map +0 -1
  82. package/dist/example.js.map +0 -1
  83. package/dist/views/Overview.js.map +0 -1
  84. package/dist/views/Progress.js.map +0 -1
  85. package/dist/views/Steps.js.map +0 -1
  86. package/dist/views/Timeline.js.map +0 -1
  87. package/tsconfig.tsbuildinfo +0 -1
@@ -1,15 +1,7 @@
1
- import { LearningViewProps } from "@contractspec/example.learning-journey-ui-shared";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
-
4
- //#region src/views/Overview.d.ts
1
+ import type { LearningViewProps } from '@contractspec/example.learning-journey-ui-shared';
5
2
  interface OnboardingOverviewProps extends LearningViewProps {
6
- onStart?: () => void;
3
+ onStart?: () => void;
7
4
  }
8
- declare function Overview({
9
- track,
10
- progress,
11
- onStart
12
- }: OnboardingOverviewProps): react_jsx_runtime0.JSX.Element;
13
- //#endregion
14
- export { Overview };
5
+ export declare function Overview({ track, progress, onStart, }: OnboardingOverviewProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
15
7
  //# sourceMappingURL=Overview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Overview.d.ts","names":[],"sources":["../../src/views/Overview.tsx"],"mappings":";;;;UAaU,uBAAA,SAAgC,iBAAA;EACxC,OAAA;AAAA;AAAA,iBAGc,QAAA,CAAA;EACd,KAAA;EACA,QAAA;EACA;AAAA,GACC,uBAAA,GAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"Overview.d.ts","sourceRoot":"","sources":["../../src/views/Overview.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAE1F,UAAU,uBAAwB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,uBAAuB,2CAsLzB"}
@@ -1,180 +1,241 @@
1
- 'use client';
2
-
3
- import { Card, CardContent, CardHeader, CardTitle } from "@contractspec/lib.ui-kit-web/ui/card";
4
- import { XpBar } from "@contractspec/example.learning-journey-ui-shared";
1
+ // @bun
2
+ // src/views/Overview.tsx
5
3
  import { Button } from "@contractspec/lib.design-system";
4
+ import {
5
+ Card,
6
+ CardContent,
7
+ CardHeader,
8
+ CardTitle
9
+ } from "@contractspec/lib.ui-kit-web/ui/card";
6
10
  import { Progress } from "@contractspec/lib.ui-kit-web/ui/progress";
7
- import { jsx, jsxs } from "react/jsx-runtime";
8
-
9
- //#region src/views/Overview.tsx
10
- function Overview({ track, progress, onStart }) {
11
- const totalSteps = track.steps.length;
12
- const completedSteps = progress.completedStepIds.length;
13
- const percentComplete = totalSteps > 0 ? completedSteps / totalSteps * 100 : 0;
14
- const isComplete = completedSteps === totalSteps;
15
- const remainingSteps = totalSteps - completedSteps;
16
- const estimatedMinutes = remainingSteps * 5;
17
- const totalXp = track.totalXp ?? track.steps.reduce((sum, s) => sum + (s.xpReward ?? 0), 0) + (track.completionRewards?.xpBonus ?? 0);
18
- return /* @__PURE__ */ jsxs("div", {
19
- className: "space-y-6",
20
- children: [
21
- /* @__PURE__ */ jsx(Card, {
22
- className: "overflow-hidden bg-gradient-to-r from-blue-500/10 via-violet-500/10 to-purple-500/10",
23
- children: /* @__PURE__ */ jsx(CardContent, {
24
- className: "p-8",
25
- children: /* @__PURE__ */ jsxs("div", {
26
- className: "flex flex-col items-center gap-6 text-center md:flex-row md:text-left",
27
- children: [
28
- /* @__PURE__ */ jsx("div", {
29
- className: "flex h-20 w-20 items-center justify-center rounded-2xl bg-gradient-to-br from-blue-500 to-violet-600 text-4xl shadow-lg",
30
- children: isComplete ? "🎉" : "🚀"
31
- }),
32
- /* @__PURE__ */ jsxs("div", {
33
- className: "flex-1",
34
- children: [
35
- /* @__PURE__ */ jsx("h1", {
36
- className: "text-2xl font-bold",
37
- children: track.name
38
- }),
39
- /* @__PURE__ */ jsx("p", {
40
- className: "text-muted-foreground mt-1 max-w-2xl",
41
- children: track.description
42
- }),
43
- !isComplete && /* @__PURE__ */ jsxs("p", {
44
- className: "text-muted-foreground mt-3 text-sm",
45
- children: [
46
- "⏱️ Estimated time:",
47
- " ",
48
- estimatedMinutes > 0 ? `~${estimatedMinutes} minutes` : "Less than a minute"
49
- ]
50
- })
51
- ]
52
- }),
53
- !isComplete && /* @__PURE__ */ jsx(Button, {
54
- size: "lg",
55
- onClick: onStart,
56
- children: completedSteps > 0 ? "Continue" : "Get Started"
57
- })
58
- ]
59
- })
60
- })
61
- }),
62
- /* @__PURE__ */ jsxs("div", {
63
- className: "grid gap-4 md:grid-cols-3",
64
- children: [
65
- /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsx(CardHeader, {
66
- className: "pb-2",
67
- children: /* @__PURE__ */ jsx(CardTitle, {
68
- className: "text-muted-foreground text-sm font-medium",
69
- children: "Progress"
70
- })
71
- }), /* @__PURE__ */ jsxs(CardContent, { children: [
72
- /* @__PURE__ */ jsxs("div", {
73
- className: "text-3xl font-bold",
74
- children: [Math.round(percentComplete), "%"]
75
- }),
76
- /* @__PURE__ */ jsx(Progress, {
77
- value: percentComplete,
78
- className: "mt-2 h-2"
79
- }),
80
- /* @__PURE__ */ jsxs("p", {
81
- className: "text-muted-foreground mt-2 text-sm",
82
- children: [
83
- completedSteps,
84
- " of ",
85
- totalSteps,
86
- " steps completed"
87
- ]
88
- })
89
- ] })] }),
90
- /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsx(CardHeader, {
91
- className: "pb-2",
92
- children: /* @__PURE__ */ jsx(CardTitle, {
93
- className: "text-muted-foreground text-sm font-medium",
94
- children: "XP Earned"
95
- })
96
- }), /* @__PURE__ */ jsxs(CardContent, { children: [/* @__PURE__ */ jsx("div", {
97
- className: "text-3xl font-bold text-blue-500",
98
- children: progress.xpEarned
99
- }), /* @__PURE__ */ jsx(XpBar, {
100
- current: progress.xpEarned,
101
- max: totalXp,
102
- showLabel: false,
103
- size: "sm"
104
- })] })] }),
105
- /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsx(CardHeader, {
106
- className: "pb-2",
107
- children: /* @__PURE__ */ jsx(CardTitle, {
108
- className: "text-muted-foreground text-sm font-medium",
109
- children: "Time Remaining"
110
- })
111
- }), /* @__PURE__ */ jsxs(CardContent, { children: [/* @__PURE__ */ jsx("div", {
112
- className: "text-3xl font-bold",
113
- children: isComplete ? "✓" : `~${estimatedMinutes}m`
114
- }), /* @__PURE__ */ jsx("p", {
115
- className: "text-muted-foreground mt-2 text-sm",
116
- children: isComplete ? "All done!" : `${remainingSteps} steps to go`
117
- })] })] })
118
- ]
119
- }),
120
- /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsxs(CardTitle, {
121
- className: "flex items-center gap-2",
122
- children: [/* @__PURE__ */ jsx("span", { children: "📋" }), /* @__PURE__ */ jsx("span", { children: "Your Journey" })]
123
- }) }), /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx("div", {
124
- className: "space-y-3",
125
- children: track.steps.map((step, index) => {
126
- const isStepCompleted = progress.completedStepIds.includes(step.id);
127
- const isCurrent = !isStepCompleted && track.steps.slice(0, index).every((s) => progress.completedStepIds.includes(s.id));
128
- return /* @__PURE__ */ jsxs("div", {
129
- className: "flex items-center gap-4 rounded-lg border p-3",
130
- children: [
131
- /* @__PURE__ */ jsx("div", {
132
- className: `flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-sm font-semibold ${isStepCompleted ? "bg-green-500 text-white" : isCurrent ? "bg-blue-500 text-white" : "bg-muted text-muted-foreground"}`,
133
- children: isStepCompleted ? "✓" : index + 1
134
- }),
135
- /* @__PURE__ */ jsx("div", {
136
- className: "min-w-0 flex-1",
137
- children: /* @__PURE__ */ jsx("p", {
138
- className: `font-medium ${isStepCompleted ? "text-green-500" : isCurrent ? "text-foreground" : "text-muted-foreground"}`,
139
- children: step.title
140
- })
141
- }),
142
- step.xpReward && /* @__PURE__ */ jsxs("span", {
143
- className: "text-muted-foreground text-sm",
144
- children: [
145
- "+",
146
- step.xpReward,
147
- " XP"
148
- ]
149
- })
150
- ]
151
- }, step.id);
152
- })
153
- }) })] }),
154
- isComplete && /* @__PURE__ */ jsx(Card, {
155
- className: "border-green-500/50 bg-green-500/5",
156
- children: /* @__PURE__ */ jsxs(CardContent, {
157
- className: "flex items-center gap-4 p-6",
158
- children: [/* @__PURE__ */ jsx("div", {
159
- className: "text-4xl",
160
- children: "🎉"
161
- }), /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h3", {
162
- className: "text-lg font-semibold text-green-500",
163
- children: "Onboarding Complete!"
164
- }), /* @__PURE__ */ jsxs("p", {
165
- className: "text-muted-foreground",
166
- children: [
167
- "You've completed all ",
168
- totalSteps,
169
- " steps. Welcome aboard!"
170
- ]
171
- })] })]
172
- })
173
- })
174
- ]
175
- });
11
+ import { XpBar } from "@contractspec/example.learning-journey-ui-shared";
12
+ import { jsxDEV } from "react/jsx-dev-runtime";
13
+ "use client";
14
+ function Overview({
15
+ track,
16
+ progress,
17
+ onStart
18
+ }) {
19
+ const totalSteps = track.steps.length;
20
+ const completedSteps = progress.completedStepIds.length;
21
+ const percentComplete = totalSteps > 0 ? completedSteps / totalSteps * 100 : 0;
22
+ const isComplete = completedSteps === totalSteps;
23
+ const remainingSteps = totalSteps - completedSteps;
24
+ const estimatedMinutes = remainingSteps * 5;
25
+ const totalXp = track.totalXp ?? track.steps.reduce((sum, s) => sum + (s.xpReward ?? 0), 0) + (track.completionRewards?.xpBonus ?? 0);
26
+ return /* @__PURE__ */ jsxDEV("div", {
27
+ className: "space-y-6",
28
+ children: [
29
+ /* @__PURE__ */ jsxDEV(Card, {
30
+ className: "overflow-hidden bg-gradient-to-r from-blue-500/10 via-violet-500/10 to-purple-500/10",
31
+ children: /* @__PURE__ */ jsxDEV(CardContent, {
32
+ className: "p-8",
33
+ children: /* @__PURE__ */ jsxDEV("div", {
34
+ className: "flex flex-col items-center gap-6 text-center md:flex-row md:text-left",
35
+ children: [
36
+ /* @__PURE__ */ jsxDEV("div", {
37
+ className: "flex h-20 w-20 items-center justify-center rounded-2xl bg-gradient-to-br from-blue-500 to-violet-600 text-4xl shadow-lg",
38
+ children: isComplete ? "\uD83C\uDF89" : "\uD83D\uDE80"
39
+ }, undefined, false, undefined, this),
40
+ /* @__PURE__ */ jsxDEV("div", {
41
+ className: "flex-1",
42
+ children: [
43
+ /* @__PURE__ */ jsxDEV("h1", {
44
+ className: "text-2xl font-bold",
45
+ children: track.name
46
+ }, undefined, false, undefined, this),
47
+ /* @__PURE__ */ jsxDEV("p", {
48
+ className: "text-muted-foreground mt-1 max-w-2xl",
49
+ children: track.description
50
+ }, undefined, false, undefined, this),
51
+ !isComplete && /* @__PURE__ */ jsxDEV("p", {
52
+ className: "text-muted-foreground mt-3 text-sm",
53
+ children: [
54
+ "\u23F1\uFE0F Estimated time:",
55
+ " ",
56
+ estimatedMinutes > 0 ? `~${estimatedMinutes} minutes` : "Less than a minute"
57
+ ]
58
+ }, undefined, true, undefined, this)
59
+ ]
60
+ }, undefined, true, undefined, this),
61
+ !isComplete && /* @__PURE__ */ jsxDEV(Button, {
62
+ size: "lg",
63
+ onClick: onStart,
64
+ children: completedSteps > 0 ? "Continue" : "Get Started"
65
+ }, undefined, false, undefined, this)
66
+ ]
67
+ }, undefined, true, undefined, this)
68
+ }, undefined, false, undefined, this)
69
+ }, undefined, false, undefined, this),
70
+ /* @__PURE__ */ jsxDEV("div", {
71
+ className: "grid gap-4 md:grid-cols-3",
72
+ children: [
73
+ /* @__PURE__ */ jsxDEV(Card, {
74
+ children: [
75
+ /* @__PURE__ */ jsxDEV(CardHeader, {
76
+ className: "pb-2",
77
+ children: /* @__PURE__ */ jsxDEV(CardTitle, {
78
+ className: "text-muted-foreground text-sm font-medium",
79
+ children: "Progress"
80
+ }, undefined, false, undefined, this)
81
+ }, undefined, false, undefined, this),
82
+ /* @__PURE__ */ jsxDEV(CardContent, {
83
+ children: [
84
+ /* @__PURE__ */ jsxDEV("div", {
85
+ className: "text-3xl font-bold",
86
+ children: [
87
+ Math.round(percentComplete),
88
+ "%"
89
+ ]
90
+ }, undefined, true, undefined, this),
91
+ /* @__PURE__ */ jsxDEV(Progress, {
92
+ value: percentComplete,
93
+ className: "mt-2 h-2"
94
+ }, undefined, false, undefined, this),
95
+ /* @__PURE__ */ jsxDEV("p", {
96
+ className: "text-muted-foreground mt-2 text-sm",
97
+ children: [
98
+ completedSteps,
99
+ " of ",
100
+ totalSteps,
101
+ " steps completed"
102
+ ]
103
+ }, undefined, true, undefined, this)
104
+ ]
105
+ }, undefined, true, undefined, this)
106
+ ]
107
+ }, undefined, true, undefined, this),
108
+ /* @__PURE__ */ jsxDEV(Card, {
109
+ children: [
110
+ /* @__PURE__ */ jsxDEV(CardHeader, {
111
+ className: "pb-2",
112
+ children: /* @__PURE__ */ jsxDEV(CardTitle, {
113
+ className: "text-muted-foreground text-sm font-medium",
114
+ children: "XP Earned"
115
+ }, undefined, false, undefined, this)
116
+ }, undefined, false, undefined, this),
117
+ /* @__PURE__ */ jsxDEV(CardContent, {
118
+ children: [
119
+ /* @__PURE__ */ jsxDEV("div", {
120
+ className: "text-3xl font-bold text-blue-500",
121
+ children: progress.xpEarned
122
+ }, undefined, false, undefined, this),
123
+ /* @__PURE__ */ jsxDEV(XpBar, {
124
+ current: progress.xpEarned,
125
+ max: totalXp,
126
+ showLabel: false,
127
+ size: "sm"
128
+ }, undefined, false, undefined, this)
129
+ ]
130
+ }, undefined, true, undefined, this)
131
+ ]
132
+ }, undefined, true, undefined, this),
133
+ /* @__PURE__ */ jsxDEV(Card, {
134
+ children: [
135
+ /* @__PURE__ */ jsxDEV(CardHeader, {
136
+ className: "pb-2",
137
+ children: /* @__PURE__ */ jsxDEV(CardTitle, {
138
+ className: "text-muted-foreground text-sm font-medium",
139
+ children: "Time Remaining"
140
+ }, undefined, false, undefined, this)
141
+ }, undefined, false, undefined, this),
142
+ /* @__PURE__ */ jsxDEV(CardContent, {
143
+ children: [
144
+ /* @__PURE__ */ jsxDEV("div", {
145
+ className: "text-3xl font-bold",
146
+ children: isComplete ? "\u2713" : `~${estimatedMinutes}m`
147
+ }, undefined, false, undefined, this),
148
+ /* @__PURE__ */ jsxDEV("p", {
149
+ className: "text-muted-foreground mt-2 text-sm",
150
+ children: isComplete ? "All done!" : `${remainingSteps} steps to go`
151
+ }, undefined, false, undefined, this)
152
+ ]
153
+ }, undefined, true, undefined, this)
154
+ ]
155
+ }, undefined, true, undefined, this)
156
+ ]
157
+ }, undefined, true, undefined, this),
158
+ /* @__PURE__ */ jsxDEV(Card, {
159
+ children: [
160
+ /* @__PURE__ */ jsxDEV(CardHeader, {
161
+ children: /* @__PURE__ */ jsxDEV(CardTitle, {
162
+ className: "flex items-center gap-2",
163
+ children: [
164
+ /* @__PURE__ */ jsxDEV("span", {
165
+ children: "\uD83D\uDCCB"
166
+ }, undefined, false, undefined, this),
167
+ /* @__PURE__ */ jsxDEV("span", {
168
+ children: "Your Journey"
169
+ }, undefined, false, undefined, this)
170
+ ]
171
+ }, undefined, true, undefined, this)
172
+ }, undefined, false, undefined, this),
173
+ /* @__PURE__ */ jsxDEV(CardContent, {
174
+ children: /* @__PURE__ */ jsxDEV("div", {
175
+ className: "space-y-3",
176
+ children: track.steps.map((step, index) => {
177
+ const isStepCompleted = progress.completedStepIds.includes(step.id);
178
+ const isCurrent = !isStepCompleted && track.steps.slice(0, index).every((s) => progress.completedStepIds.includes(s.id));
179
+ return /* @__PURE__ */ jsxDEV("div", {
180
+ className: "flex items-center gap-4 rounded-lg border p-3",
181
+ children: [
182
+ /* @__PURE__ */ jsxDEV("div", {
183
+ className: `flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-sm font-semibold ${isStepCompleted ? "bg-green-500 text-white" : isCurrent ? "bg-blue-500 text-white" : "bg-muted text-muted-foreground"}`,
184
+ children: isStepCompleted ? "\u2713" : index + 1
185
+ }, undefined, false, undefined, this),
186
+ /* @__PURE__ */ jsxDEV("div", {
187
+ className: "min-w-0 flex-1",
188
+ children: /* @__PURE__ */ jsxDEV("p", {
189
+ className: `font-medium ${isStepCompleted ? "text-green-500" : isCurrent ? "text-foreground" : "text-muted-foreground"}`,
190
+ children: step.title
191
+ }, undefined, false, undefined, this)
192
+ }, undefined, false, undefined, this),
193
+ step.xpReward && /* @__PURE__ */ jsxDEV("span", {
194
+ className: "text-muted-foreground text-sm",
195
+ children: [
196
+ "+",
197
+ step.xpReward,
198
+ " XP"
199
+ ]
200
+ }, undefined, true, undefined, this)
201
+ ]
202
+ }, step.id, true, undefined, this);
203
+ })
204
+ }, undefined, false, undefined, this)
205
+ }, undefined, false, undefined, this)
206
+ ]
207
+ }, undefined, true, undefined, this),
208
+ isComplete && /* @__PURE__ */ jsxDEV(Card, {
209
+ className: "border-green-500/50 bg-green-500/5",
210
+ children: /* @__PURE__ */ jsxDEV(CardContent, {
211
+ className: "flex items-center gap-4 p-6",
212
+ children: [
213
+ /* @__PURE__ */ jsxDEV("div", {
214
+ className: "text-4xl",
215
+ children: "\uD83C\uDF89"
216
+ }, undefined, false, undefined, this),
217
+ /* @__PURE__ */ jsxDEV("div", {
218
+ children: [
219
+ /* @__PURE__ */ jsxDEV("h3", {
220
+ className: "text-lg font-semibold text-green-500",
221
+ children: "Onboarding Complete!"
222
+ }, undefined, false, undefined, this),
223
+ /* @__PURE__ */ jsxDEV("p", {
224
+ className: "text-muted-foreground",
225
+ children: [
226
+ "You've completed all ",
227
+ totalSteps,
228
+ " steps. Welcome aboard!"
229
+ ]
230
+ }, undefined, true, undefined, this)
231
+ ]
232
+ }, undefined, true, undefined, this)
233
+ ]
234
+ }, undefined, true, undefined, this)
235
+ }, undefined, false, undefined, this)
236
+ ]
237
+ }, undefined, true, undefined, this);
176
238
  }
177
-
178
- //#endregion
179
- export { Overview };
180
- //# sourceMappingURL=Overview.js.map
239
+ export {
240
+ Overview
241
+ };
@@ -1,11 +1,4 @@
1
- import { LearningViewProps } from "@contractspec/example.learning-journey-ui-shared";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
-
4
- //#region src/views/Progress.d.ts
5
- declare function ProgressView({
6
- track,
7
- progress
8
- }: LearningViewProps): react_jsx_runtime0.JSX.Element;
9
- //#endregion
10
- export { ProgressView as Progress, ProgressView };
1
+ import type { LearningViewProps } from '@contractspec/example.learning-journey-ui-shared';
2
+ export declare function ProgressView({ track, progress }: LearningViewProps): import("react/jsx-runtime").JSX.Element;
3
+ export { ProgressView as Progress };
11
4
  //# sourceMappingURL=Progress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.d.ts","names":[],"sources":["../../src/views/Progress.tsx"],"mappings":";;;;iBAegB,YAAA,CAAA;EAAe,KAAA;EAAO;AAAA,GAAY,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../src/views/Progress.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAE1F,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAuKlE;AAGD,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,CAAC"}