@contractspec/example.learning-journey-ui-coaching 3.7.5 → 3.7.7
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.log +3 -3
- package/AGENTS.md +50 -25
- package/CHANGELOG.md +14 -0
- package/README.md +63 -20
- package/dist/CoachingMiniApp.js +178 -178
- package/dist/browser/CoachingMiniApp.js +178 -178
- package/dist/browser/components/EngagementMeter.js +2 -2
- package/dist/browser/components/TipCard.js +3 -3
- package/dist/browser/components/TipFeed.js +6 -6
- package/dist/browser/components/index.js +11 -11
- package/dist/browser/index.js +179 -178
- package/dist/browser/views/Overview.js +16 -16
- package/dist/browser/views/Progress.js +10 -10
- package/dist/browser/views/Steps.js +6 -6
- package/dist/browser/views/Timeline.js +9 -9
- package/dist/browser/views/index.js +174 -174
- package/dist/components/EngagementMeter.js +2 -2
- package/dist/components/TipCard.js +3 -3
- package/dist/components/TipFeed.js +6 -6
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +11 -11
- package/dist/index.d.ts +3 -3
- package/dist/index.js +179 -178
- package/dist/node/CoachingMiniApp.js +178 -178
- package/dist/node/components/EngagementMeter.js +2 -2
- package/dist/node/components/TipCard.js +3 -3
- package/dist/node/components/TipFeed.js +6 -6
- package/dist/node/components/index.js +11 -11
- package/dist/node/index.js +179 -178
- package/dist/node/views/Overview.js +16 -16
- package/dist/node/views/Progress.js +10 -10
- package/dist/node/views/Steps.js +6 -6
- package/dist/node/views/Timeline.js +9 -9
- package/dist/node/views/index.js +174 -174
- package/dist/views/Overview.js +16 -16
- package/dist/views/Progress.js +10 -10
- package/dist/views/Steps.js +6 -6
- package/dist/views/Timeline.js +9 -9
- package/dist/views/index.d.ts +1 -1
- package/dist/views/index.js +174 -174
- package/package.json +12 -12
- package/src/CoachingMiniApp.tsx +70 -70
- package/src/components/EngagementMeter.tsx +82 -82
- package/src/components/TipCard.tsx +81 -81
- package/src/components/TipFeed.tsx +80 -80
- package/src/components/index.ts +1 -1
- package/src/docs/learning-journey-ui-coaching.docblock.ts +10 -10
- package/src/example.ts +25 -25
- package/src/index.ts +4 -6
- package/src/learning-journey-ui-coaching.feature.ts +12 -12
- package/src/views/Overview.tsx +136 -136
- package/src/views/Progress.tsx +146 -146
- package/src/views/Steps.tsx +57 -57
- package/src/views/Timeline.tsx +101 -101
- package/src/views/index.ts +1 -1
- package/tsconfig.json +7 -8
- package/tsdown.config.js +7 -13
|
@@ -57,7 +57,7 @@ function EngagementMeter({
|
|
|
57
57
|
className: "absolute inset-0 flex flex-col items-center justify-center",
|
|
58
58
|
children: [
|
|
59
59
|
/* @__PURE__ */ jsxDEV("span", {
|
|
60
|
-
className: "text-2xl
|
|
60
|
+
className: "font-bold text-2xl",
|
|
61
61
|
children: total
|
|
62
62
|
}, undefined, false, undefined, this),
|
|
63
63
|
/* @__PURE__ */ jsxDEV("span", {
|
|
@@ -106,7 +106,7 @@ function EngagementMeter({
|
|
|
106
106
|
className: "flex items-center gap-1.5",
|
|
107
107
|
children: [
|
|
108
108
|
/* @__PURE__ */ jsxDEV("div", {
|
|
109
|
-
className: "
|
|
109
|
+
className: "h-3 w-3 rounded-full bg-muted"
|
|
110
110
|
}, undefined, false, undefined, this),
|
|
111
111
|
/* @__PURE__ */ jsxDEV("span", {
|
|
112
112
|
children: [
|
|
@@ -44,7 +44,7 @@ function TipCard({
|
|
|
44
44
|
children: step.title
|
|
45
45
|
}, undefined, false, undefined, this),
|
|
46
46
|
step.xpReward && /* @__PURE__ */ jsxDEV("span", {
|
|
47
|
-
className: cn("shrink-0 rounded-full px-2 py-0.5 text-xs
|
|
47
|
+
className: cn("shrink-0 rounded-full px-2 py-0.5 font-semibold text-xs", isCompleted ? "bg-green-500/10 text-green-500" : "bg-amber-500/10 text-amber-500"),
|
|
48
48
|
children: [
|
|
49
49
|
"+",
|
|
50
50
|
step.xpReward,
|
|
@@ -54,7 +54,7 @@ function TipCard({
|
|
|
54
54
|
]
|
|
55
55
|
}, undefined, true, undefined, this),
|
|
56
56
|
/* @__PURE__ */ jsxDEV("p", {
|
|
57
|
-
className: "text-muted-foreground
|
|
57
|
+
className: "mt-1 text-muted-foreground text-sm",
|
|
58
58
|
children: step.description
|
|
59
59
|
}, undefined, false, undefined, this),
|
|
60
60
|
!isCompleted && /* @__PURE__ */ jsxDEV("div", {
|
|
@@ -74,7 +74,7 @@ function TipCard({
|
|
|
74
74
|
]
|
|
75
75
|
}, undefined, true, undefined, this),
|
|
76
76
|
isCompleted && /* @__PURE__ */ jsxDEV("p", {
|
|
77
|
-
className: "mt-2 text-
|
|
77
|
+
className: "mt-2 text-green-500 text-sm",
|
|
78
78
|
children: "✓ Tip acknowledged"
|
|
79
79
|
}, undefined, false, undefined, this)
|
|
80
80
|
]
|
|
@@ -14,7 +14,7 @@ var TIP_ICONS = {
|
|
|
14
14
|
function TipFeed({ items }) {
|
|
15
15
|
if (items.length === 0) {
|
|
16
16
|
return /* @__PURE__ */ jsxDEV("div", {
|
|
17
|
-
className: "
|
|
17
|
+
className: "py-8 text-center text-muted-foreground",
|
|
18
18
|
children: "No tips yet. Start engaging with coaching tips!"
|
|
19
19
|
}, undefined, false, undefined, this);
|
|
20
20
|
}
|
|
@@ -22,7 +22,7 @@ function TipFeed({ items }) {
|
|
|
22
22
|
className: "relative",
|
|
23
23
|
children: [
|
|
24
24
|
/* @__PURE__ */ jsxDEV("div", {
|
|
25
|
-
className: "
|
|
25
|
+
className: "absolute top-0 left-4 h-full w-0.5 bg-border"
|
|
26
26
|
}, undefined, false, undefined, this),
|
|
27
27
|
/* @__PURE__ */ jsxDEV("div", {
|
|
28
28
|
className: "space-y-4",
|
|
@@ -37,7 +37,7 @@ function TipFeed({ items }) {
|
|
|
37
37
|
children: item.isCompleted ? "✓" : icon
|
|
38
38
|
}, undefined, false, undefined, this),
|
|
39
39
|
/* @__PURE__ */ jsxDEV("div", {
|
|
40
|
-
className: "
|
|
40
|
+
className: "flex-1 rounded-lg border bg-card p-3",
|
|
41
41
|
children: [
|
|
42
42
|
/* @__PURE__ */ jsxDEV("div", {
|
|
43
43
|
className: "flex items-start justify-between gap-2",
|
|
@@ -49,13 +49,13 @@ function TipFeed({ items }) {
|
|
|
49
49
|
children: item.step.title
|
|
50
50
|
}, undefined, false, undefined, this),
|
|
51
51
|
/* @__PURE__ */ jsxDEV("p", {
|
|
52
|
-
className: "
|
|
52
|
+
className: "mt-0.5 text-muted-foreground text-sm",
|
|
53
53
|
children: item.step.description
|
|
54
54
|
}, undefined, false, undefined, this)
|
|
55
55
|
]
|
|
56
56
|
}, undefined, true, undefined, this),
|
|
57
57
|
item.step.xpReward && /* @__PURE__ */ jsxDEV("span", {
|
|
58
|
-
className: cn("shrink-0 text-xs
|
|
58
|
+
className: cn("shrink-0 font-medium text-xs", item.isCompleted ? "text-green-500" : "text-muted-foreground"),
|
|
59
59
|
children: [
|
|
60
60
|
"+",
|
|
61
61
|
item.step.xpReward,
|
|
@@ -65,7 +65,7 @@ function TipFeed({ items }) {
|
|
|
65
65
|
]
|
|
66
66
|
}, undefined, true, undefined, this),
|
|
67
67
|
/* @__PURE__ */ jsxDEV("div", {
|
|
68
|
-
className: "
|
|
68
|
+
className: "mt-2 flex items-center gap-2 text-muted-foreground text-xs",
|
|
69
69
|
children: item.isCompleted ? /* @__PURE__ */ jsxDEV("span", {
|
|
70
70
|
className: "text-green-500",
|
|
71
71
|
children: [
|
|
@@ -44,7 +44,7 @@ function TipCard({
|
|
|
44
44
|
children: step.title
|
|
45
45
|
}, undefined, false, undefined, this),
|
|
46
46
|
step.xpReward && /* @__PURE__ */ jsxDEV("span", {
|
|
47
|
-
className: cn("shrink-0 rounded-full px-2 py-0.5 text-xs
|
|
47
|
+
className: cn("shrink-0 rounded-full px-2 py-0.5 font-semibold text-xs", isCompleted ? "bg-green-500/10 text-green-500" : "bg-amber-500/10 text-amber-500"),
|
|
48
48
|
children: [
|
|
49
49
|
"+",
|
|
50
50
|
step.xpReward,
|
|
@@ -54,7 +54,7 @@ function TipCard({
|
|
|
54
54
|
]
|
|
55
55
|
}, undefined, true, undefined, this),
|
|
56
56
|
/* @__PURE__ */ jsxDEV("p", {
|
|
57
|
-
className: "text-muted-foreground
|
|
57
|
+
className: "mt-1 text-muted-foreground text-sm",
|
|
58
58
|
children: step.description
|
|
59
59
|
}, undefined, false, undefined, this),
|
|
60
60
|
!isCompleted && /* @__PURE__ */ jsxDEV("div", {
|
|
@@ -74,7 +74,7 @@ function TipCard({
|
|
|
74
74
|
]
|
|
75
75
|
}, undefined, true, undefined, this),
|
|
76
76
|
isCompleted && /* @__PURE__ */ jsxDEV("p", {
|
|
77
|
-
className: "mt-2 text-
|
|
77
|
+
className: "mt-2 text-green-500 text-sm",
|
|
78
78
|
children: "✓ Tip acknowledged"
|
|
79
79
|
}, undefined, false, undefined, this)
|
|
80
80
|
]
|
|
@@ -144,7 +144,7 @@ function EngagementMeter({
|
|
|
144
144
|
className: "absolute inset-0 flex flex-col items-center justify-center",
|
|
145
145
|
children: [
|
|
146
146
|
/* @__PURE__ */ jsxDEV2("span", {
|
|
147
|
-
className: "text-2xl
|
|
147
|
+
className: "font-bold text-2xl",
|
|
148
148
|
children: total
|
|
149
149
|
}, undefined, false, undefined, this),
|
|
150
150
|
/* @__PURE__ */ jsxDEV2("span", {
|
|
@@ -193,7 +193,7 @@ function EngagementMeter({
|
|
|
193
193
|
className: "flex items-center gap-1.5",
|
|
194
194
|
children: [
|
|
195
195
|
/* @__PURE__ */ jsxDEV2("div", {
|
|
196
|
-
className: "
|
|
196
|
+
className: "h-3 w-3 rounded-full bg-muted"
|
|
197
197
|
}, undefined, false, undefined, this),
|
|
198
198
|
/* @__PURE__ */ jsxDEV2("span", {
|
|
199
199
|
children: [
|
|
@@ -242,7 +242,7 @@ var TIP_ICONS2 = {
|
|
|
242
242
|
function TipFeed({ items }) {
|
|
243
243
|
if (items.length === 0) {
|
|
244
244
|
return /* @__PURE__ */ jsxDEV3("div", {
|
|
245
|
-
className: "
|
|
245
|
+
className: "py-8 text-center text-muted-foreground",
|
|
246
246
|
children: "No tips yet. Start engaging with coaching tips!"
|
|
247
247
|
}, undefined, false, undefined, this);
|
|
248
248
|
}
|
|
@@ -250,7 +250,7 @@ function TipFeed({ items }) {
|
|
|
250
250
|
className: "relative",
|
|
251
251
|
children: [
|
|
252
252
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
253
|
-
className: "
|
|
253
|
+
className: "absolute top-0 left-4 h-full w-0.5 bg-border"
|
|
254
254
|
}, undefined, false, undefined, this),
|
|
255
255
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
256
256
|
className: "space-y-4",
|
|
@@ -265,7 +265,7 @@ function TipFeed({ items }) {
|
|
|
265
265
|
children: item.isCompleted ? "✓" : icon
|
|
266
266
|
}, undefined, false, undefined, this),
|
|
267
267
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
268
|
-
className: "
|
|
268
|
+
className: "flex-1 rounded-lg border bg-card p-3",
|
|
269
269
|
children: [
|
|
270
270
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
271
271
|
className: "flex items-start justify-between gap-2",
|
|
@@ -277,13 +277,13 @@ function TipFeed({ items }) {
|
|
|
277
277
|
children: item.step.title
|
|
278
278
|
}, undefined, false, undefined, this),
|
|
279
279
|
/* @__PURE__ */ jsxDEV3("p", {
|
|
280
|
-
className: "
|
|
280
|
+
className: "mt-0.5 text-muted-foreground text-sm",
|
|
281
281
|
children: item.step.description
|
|
282
282
|
}, undefined, false, undefined, this)
|
|
283
283
|
]
|
|
284
284
|
}, undefined, true, undefined, this),
|
|
285
285
|
item.step.xpReward && /* @__PURE__ */ jsxDEV3("span", {
|
|
286
|
-
className: cn2("shrink-0 text-xs
|
|
286
|
+
className: cn2("shrink-0 font-medium text-xs", item.isCompleted ? "text-green-500" : "text-muted-foreground"),
|
|
287
287
|
children: [
|
|
288
288
|
"+",
|
|
289
289
|
item.step.xpReward,
|
|
@@ -293,7 +293,7 @@ function TipFeed({ items }) {
|
|
|
293
293
|
]
|
|
294
294
|
}, undefined, true, undefined, this),
|
|
295
295
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
296
|
-
className: "
|
|
296
|
+
className: "mt-2 flex items-center gap-2 text-muted-foreground text-xs",
|
|
297
297
|
children: item.isCompleted ? /* @__PURE__ */ jsxDEV3("span", {
|
|
298
298
|
className: "text-green-500",
|
|
299
299
|
children: [
|