@contractspec/example.learning-journey-ui-coaching 3.7.6 → 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/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 +10 -10
- 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
|
@@ -58,7 +58,7 @@ function EngagementMeter({
|
|
|
58
58
|
className: "absolute inset-0 flex flex-col items-center justify-center",
|
|
59
59
|
children: [
|
|
60
60
|
/* @__PURE__ */ jsxDEV("span", {
|
|
61
|
-
className: "text-2xl
|
|
61
|
+
className: "font-bold text-2xl",
|
|
62
62
|
children: total
|
|
63
63
|
}, undefined, false, undefined, this),
|
|
64
64
|
/* @__PURE__ */ jsxDEV("span", {
|
|
@@ -107,7 +107,7 @@ function EngagementMeter({
|
|
|
107
107
|
className: "flex items-center gap-1.5",
|
|
108
108
|
children: [
|
|
109
109
|
/* @__PURE__ */ jsxDEV("div", {
|
|
110
|
-
className: "
|
|
110
|
+
className: "h-3 w-3 rounded-full bg-muted"
|
|
111
111
|
}, undefined, false, undefined, this),
|
|
112
112
|
/* @__PURE__ */ jsxDEV("span", {
|
|
113
113
|
children: [
|
|
@@ -45,7 +45,7 @@ function TipCard({
|
|
|
45
45
|
children: step.title
|
|
46
46
|
}, undefined, false, undefined, this),
|
|
47
47
|
step.xpReward && /* @__PURE__ */ jsxDEV("span", {
|
|
48
|
-
className: cn("shrink-0 rounded-full px-2 py-0.5 text-xs
|
|
48
|
+
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"),
|
|
49
49
|
children: [
|
|
50
50
|
"+",
|
|
51
51
|
step.xpReward,
|
|
@@ -55,7 +55,7 @@ function TipCard({
|
|
|
55
55
|
]
|
|
56
56
|
}, undefined, true, undefined, this),
|
|
57
57
|
/* @__PURE__ */ jsxDEV("p", {
|
|
58
|
-
className: "text-muted-foreground
|
|
58
|
+
className: "mt-1 text-muted-foreground text-sm",
|
|
59
59
|
children: step.description
|
|
60
60
|
}, undefined, false, undefined, this),
|
|
61
61
|
!isCompleted && /* @__PURE__ */ jsxDEV("div", {
|
|
@@ -75,7 +75,7 @@ function TipCard({
|
|
|
75
75
|
]
|
|
76
76
|
}, undefined, true, undefined, this),
|
|
77
77
|
isCompleted && /* @__PURE__ */ jsxDEV("p", {
|
|
78
|
-
className: "mt-2 text-
|
|
78
|
+
className: "mt-2 text-green-500 text-sm",
|
|
79
79
|
children: "\u2713 Tip acknowledged"
|
|
80
80
|
}, undefined, false, undefined, this)
|
|
81
81
|
]
|
|
@@ -15,7 +15,7 @@ var TIP_ICONS = {
|
|
|
15
15
|
function TipFeed({ items }) {
|
|
16
16
|
if (items.length === 0) {
|
|
17
17
|
return /* @__PURE__ */ jsxDEV("div", {
|
|
18
|
-
className: "
|
|
18
|
+
className: "py-8 text-center text-muted-foreground",
|
|
19
19
|
children: "No tips yet. Start engaging with coaching tips!"
|
|
20
20
|
}, undefined, false, undefined, this);
|
|
21
21
|
}
|
|
@@ -23,7 +23,7 @@ function TipFeed({ items }) {
|
|
|
23
23
|
className: "relative",
|
|
24
24
|
children: [
|
|
25
25
|
/* @__PURE__ */ jsxDEV("div", {
|
|
26
|
-
className: "
|
|
26
|
+
className: "absolute top-0 left-4 h-full w-0.5 bg-border"
|
|
27
27
|
}, undefined, false, undefined, this),
|
|
28
28
|
/* @__PURE__ */ jsxDEV("div", {
|
|
29
29
|
className: "space-y-4",
|
|
@@ -38,7 +38,7 @@ function TipFeed({ items }) {
|
|
|
38
38
|
children: item.isCompleted ? "\u2713" : icon
|
|
39
39
|
}, undefined, false, undefined, this),
|
|
40
40
|
/* @__PURE__ */ jsxDEV("div", {
|
|
41
|
-
className: "
|
|
41
|
+
className: "flex-1 rounded-lg border bg-card p-3",
|
|
42
42
|
children: [
|
|
43
43
|
/* @__PURE__ */ jsxDEV("div", {
|
|
44
44
|
className: "flex items-start justify-between gap-2",
|
|
@@ -50,13 +50,13 @@ function TipFeed({ items }) {
|
|
|
50
50
|
children: item.step.title
|
|
51
51
|
}, undefined, false, undefined, this),
|
|
52
52
|
/* @__PURE__ */ jsxDEV("p", {
|
|
53
|
-
className: "
|
|
53
|
+
className: "mt-0.5 text-muted-foreground text-sm",
|
|
54
54
|
children: item.step.description
|
|
55
55
|
}, undefined, false, undefined, this)
|
|
56
56
|
]
|
|
57
57
|
}, undefined, true, undefined, this),
|
|
58
58
|
item.step.xpReward && /* @__PURE__ */ jsxDEV("span", {
|
|
59
|
-
className: cn("shrink-0 text-xs
|
|
59
|
+
className: cn("shrink-0 font-medium text-xs", item.isCompleted ? "text-green-500" : "text-muted-foreground"),
|
|
60
60
|
children: [
|
|
61
61
|
"+",
|
|
62
62
|
item.step.xpReward,
|
|
@@ -66,7 +66,7 @@ function TipFeed({ items }) {
|
|
|
66
66
|
]
|
|
67
67
|
}, undefined, true, undefined, this),
|
|
68
68
|
/* @__PURE__ */ jsxDEV("div", {
|
|
69
|
-
className: "
|
|
69
|
+
className: "mt-2 flex items-center gap-2 text-muted-foreground text-xs",
|
|
70
70
|
children: item.isCompleted ? /* @__PURE__ */ jsxDEV("span", {
|
|
71
71
|
className: "text-green-500",
|
|
72
72
|
children: [
|
package/dist/components/index.js
CHANGED
|
@@ -45,7 +45,7 @@ function TipCard({
|
|
|
45
45
|
children: step.title
|
|
46
46
|
}, undefined, false, undefined, this),
|
|
47
47
|
step.xpReward && /* @__PURE__ */ jsxDEV("span", {
|
|
48
|
-
className: cn("shrink-0 rounded-full px-2 py-0.5 text-xs
|
|
48
|
+
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"),
|
|
49
49
|
children: [
|
|
50
50
|
"+",
|
|
51
51
|
step.xpReward,
|
|
@@ -55,7 +55,7 @@ function TipCard({
|
|
|
55
55
|
]
|
|
56
56
|
}, undefined, true, undefined, this),
|
|
57
57
|
/* @__PURE__ */ jsxDEV("p", {
|
|
58
|
-
className: "text-muted-foreground
|
|
58
|
+
className: "mt-1 text-muted-foreground text-sm",
|
|
59
59
|
children: step.description
|
|
60
60
|
}, undefined, false, undefined, this),
|
|
61
61
|
!isCompleted && /* @__PURE__ */ jsxDEV("div", {
|
|
@@ -75,7 +75,7 @@ function TipCard({
|
|
|
75
75
|
]
|
|
76
76
|
}, undefined, true, undefined, this),
|
|
77
77
|
isCompleted && /* @__PURE__ */ jsxDEV("p", {
|
|
78
|
-
className: "mt-2 text-
|
|
78
|
+
className: "mt-2 text-green-500 text-sm",
|
|
79
79
|
children: "\u2713 Tip acknowledged"
|
|
80
80
|
}, undefined, false, undefined, this)
|
|
81
81
|
]
|
|
@@ -145,7 +145,7 @@ function EngagementMeter({
|
|
|
145
145
|
className: "absolute inset-0 flex flex-col items-center justify-center",
|
|
146
146
|
children: [
|
|
147
147
|
/* @__PURE__ */ jsxDEV2("span", {
|
|
148
|
-
className: "text-2xl
|
|
148
|
+
className: "font-bold text-2xl",
|
|
149
149
|
children: total
|
|
150
150
|
}, undefined, false, undefined, this),
|
|
151
151
|
/* @__PURE__ */ jsxDEV2("span", {
|
|
@@ -194,7 +194,7 @@ function EngagementMeter({
|
|
|
194
194
|
className: "flex items-center gap-1.5",
|
|
195
195
|
children: [
|
|
196
196
|
/* @__PURE__ */ jsxDEV2("div", {
|
|
197
|
-
className: "
|
|
197
|
+
className: "h-3 w-3 rounded-full bg-muted"
|
|
198
198
|
}, undefined, false, undefined, this),
|
|
199
199
|
/* @__PURE__ */ jsxDEV2("span", {
|
|
200
200
|
children: [
|
|
@@ -243,7 +243,7 @@ var TIP_ICONS2 = {
|
|
|
243
243
|
function TipFeed({ items }) {
|
|
244
244
|
if (items.length === 0) {
|
|
245
245
|
return /* @__PURE__ */ jsxDEV3("div", {
|
|
246
|
-
className: "
|
|
246
|
+
className: "py-8 text-center text-muted-foreground",
|
|
247
247
|
children: "No tips yet. Start engaging with coaching tips!"
|
|
248
248
|
}, undefined, false, undefined, this);
|
|
249
249
|
}
|
|
@@ -251,7 +251,7 @@ function TipFeed({ items }) {
|
|
|
251
251
|
className: "relative",
|
|
252
252
|
children: [
|
|
253
253
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
254
|
-
className: "
|
|
254
|
+
className: "absolute top-0 left-4 h-full w-0.5 bg-border"
|
|
255
255
|
}, undefined, false, undefined, this),
|
|
256
256
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
257
257
|
className: "space-y-4",
|
|
@@ -266,7 +266,7 @@ function TipFeed({ items }) {
|
|
|
266
266
|
children: item.isCompleted ? "\u2713" : icon
|
|
267
267
|
}, undefined, false, undefined, this),
|
|
268
268
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
269
|
-
className: "
|
|
269
|
+
className: "flex-1 rounded-lg border bg-card p-3",
|
|
270
270
|
children: [
|
|
271
271
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
272
272
|
className: "flex items-start justify-between gap-2",
|
|
@@ -278,13 +278,13 @@ function TipFeed({ items }) {
|
|
|
278
278
|
children: item.step.title
|
|
279
279
|
}, undefined, false, undefined, this),
|
|
280
280
|
/* @__PURE__ */ jsxDEV3("p", {
|
|
281
|
-
className: "
|
|
281
|
+
className: "mt-0.5 text-muted-foreground text-sm",
|
|
282
282
|
children: item.step.description
|
|
283
283
|
}, undefined, false, undefined, this)
|
|
284
284
|
]
|
|
285
285
|
}, undefined, true, undefined, this),
|
|
286
286
|
item.step.xpReward && /* @__PURE__ */ jsxDEV3("span", {
|
|
287
|
-
className: cn2("shrink-0 text-xs
|
|
287
|
+
className: cn2("shrink-0 font-medium text-xs", item.isCompleted ? "text-green-500" : "text-muted-foreground"),
|
|
288
288
|
children: [
|
|
289
289
|
"+",
|
|
290
290
|
item.step.xpReward,
|
|
@@ -294,7 +294,7 @@ function TipFeed({ items }) {
|
|
|
294
294
|
]
|
|
295
295
|
}, undefined, true, undefined, this),
|
|
296
296
|
/* @__PURE__ */ jsxDEV3("div", {
|
|
297
|
-
className: "
|
|
297
|
+
className: "mt-2 flex items-center gap-2 text-muted-foreground text-xs",
|
|
298
298
|
children: item.isCompleted ? /* @__PURE__ */ jsxDEV3("span", {
|
|
299
299
|
className: "text-green-500",
|
|
300
300
|
children: [
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { CoachingMiniApp } from './CoachingMiniApp';
|
|
2
|
-
export {
|
|
3
|
-
export { TipCard, EngagementMeter, TipFeed } from './components';
|
|
4
|
-
export * from './learning-journey-ui-coaching.feature';
|
|
2
|
+
export { EngagementMeter, TipCard, TipFeed } from './components';
|
|
5
3
|
export { default as example } from './example';
|
|
4
|
+
export * from './learning-journey-ui-coaching.feature';
|
|
5
|
+
export { Overview, Progress, Steps, Timeline } from './views';
|
|
6
6
|
import './docs';
|