learngraph 0.4.0 → 0.7.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 (259) hide show
  1. package/dist/cjs/api/routes/analytics.js +288 -0
  2. package/dist/cjs/api/routes/analytics.js.map +1 -0
  3. package/dist/cjs/api/routes/assessments.js +269 -0
  4. package/dist/cjs/api/routes/assessments.js.map +1 -0
  5. package/dist/cjs/api/routes/curriculum.js +345 -0
  6. package/dist/cjs/api/routes/curriculum.js.map +1 -0
  7. package/dist/cjs/api/routes/edges.js +162 -0
  8. package/dist/cjs/api/routes/edges.js.map +1 -0
  9. package/dist/cjs/api/routes/explore.js +224 -0
  10. package/dist/cjs/api/routes/explore.js.map +1 -0
  11. package/dist/cjs/api/routes/learners.js +324 -0
  12. package/dist/cjs/api/routes/learners.js.map +1 -0
  13. package/dist/cjs/api/routes/me.js +404 -0
  14. package/dist/cjs/api/routes/me.js.map +1 -0
  15. package/dist/cjs/api/routes/skills.js +319 -0
  16. package/dist/cjs/api/routes/skills.js.map +1 -0
  17. package/dist/cjs/api/server.js +185 -0
  18. package/dist/cjs/api/server.js.map +1 -0
  19. package/dist/cjs/api/types.js +10 -0
  20. package/dist/cjs/api/types.js.map +1 -0
  21. package/dist/cjs/assessment/adaptive.js +390 -0
  22. package/dist/cjs/assessment/adaptive.js.map +1 -0
  23. package/dist/cjs/assessment/bkt.js +362 -0
  24. package/dist/cjs/assessment/bkt.js.map +1 -0
  25. package/dist/cjs/assessment/index.js +54 -0
  26. package/dist/cjs/assessment/index.js.map +1 -0
  27. package/dist/cjs/assessment/irt.js +420 -0
  28. package/dist/cjs/assessment/irt.js.map +1 -0
  29. package/dist/cjs/assessment/mastery-engine.js +411 -0
  30. package/dist/cjs/assessment/mastery-engine.js.map +1 -0
  31. package/dist/cjs/components/LearningPathView.js +320 -0
  32. package/dist/cjs/components/LearningPathView.js.map +1 -0
  33. package/dist/cjs/components/ProgressDashboard.js +308 -0
  34. package/dist/cjs/components/ProgressDashboard.js.map +1 -0
  35. package/dist/cjs/components/SkillCard.js +264 -0
  36. package/dist/cjs/components/SkillCard.js.map +1 -0
  37. package/dist/cjs/components/SkillExplorer.js +401 -0
  38. package/dist/cjs/components/SkillExplorer.js.map +1 -0
  39. package/dist/cjs/components/SkillGraph.js +435 -0
  40. package/dist/cjs/components/SkillGraph.js.map +1 -0
  41. package/dist/cjs/components/hooks.js +510 -0
  42. package/dist/cjs/components/hooks.js.map +1 -0
  43. package/dist/cjs/components/index.js +77 -0
  44. package/dist/cjs/components/index.js.map +1 -0
  45. package/dist/cjs/components/types.js +34 -0
  46. package/dist/cjs/components/types.js.map +1 -0
  47. package/dist/cjs/index.js +36 -2
  48. package/dist/cjs/index.js.map +1 -1
  49. package/dist/cjs/llm/adapters/anthropic.js +91 -3
  50. package/dist/cjs/llm/adapters/anthropic.js.map +1 -1
  51. package/dist/cjs/llm/adapters/gemini.js +101 -8
  52. package/dist/cjs/llm/adapters/gemini.js.map +1 -1
  53. package/dist/cjs/llm/adapters/index.js +42 -1
  54. package/dist/cjs/llm/adapters/index.js.map +1 -1
  55. package/dist/cjs/llm/adapters/ollama.js +120 -3
  56. package/dist/cjs/llm/adapters/ollama.js.map +1 -1
  57. package/dist/cjs/llm/adapters/openai.js +108 -2
  58. package/dist/cjs/llm/adapters/openai.js.map +1 -1
  59. package/dist/cjs/mcp/cli.js +302 -0
  60. package/dist/cjs/mcp/cli.js.map +1 -0
  61. package/dist/cjs/mcp/index.js +79 -0
  62. package/dist/cjs/mcp/index.js.map +1 -0
  63. package/dist/cjs/mcp/prompts.js +425 -0
  64. package/dist/cjs/mcp/prompts.js.map +1 -0
  65. package/dist/cjs/mcp/resources.js +371 -0
  66. package/dist/cjs/mcp/resources.js.map +1 -0
  67. package/dist/cjs/mcp/server.js +410 -0
  68. package/dist/cjs/mcp/server.js.map +1 -0
  69. package/dist/cjs/mcp/tools.js +612 -0
  70. package/dist/cjs/mcp/tools.js.map +1 -0
  71. package/dist/cjs/mcp/types.js +10 -0
  72. package/dist/cjs/mcp/types.js.map +1 -0
  73. package/dist/cjs/query/index.js +23 -4
  74. package/dist/cjs/query/index.js.map +1 -1
  75. package/dist/cjs/query/path.js +313 -0
  76. package/dist/cjs/query/path.js.map +1 -0
  77. package/dist/cjs/query/spaced-repetition.js +298 -0
  78. package/dist/cjs/query/spaced-repetition.js.map +1 -0
  79. package/dist/cjs/query/zpd.js +216 -0
  80. package/dist/cjs/query/zpd.js.map +1 -0
  81. package/dist/cjs/types/assessment.js +46 -0
  82. package/dist/cjs/types/assessment.js.map +1 -0
  83. package/dist/cjs/types/bloom.js +12 -1
  84. package/dist/cjs/types/bloom.js.map +1 -1
  85. package/dist/cjs/types/index.js +7 -1
  86. package/dist/cjs/types/index.js.map +1 -1
  87. package/dist/esm/api/routes/analytics.js +285 -0
  88. package/dist/esm/api/routes/analytics.js.map +1 -0
  89. package/dist/esm/api/routes/assessments.js +266 -0
  90. package/dist/esm/api/routes/assessments.js.map +1 -0
  91. package/dist/esm/api/routes/curriculum.js +342 -0
  92. package/dist/esm/api/routes/curriculum.js.map +1 -0
  93. package/dist/esm/api/routes/edges.js +159 -0
  94. package/dist/esm/api/routes/edges.js.map +1 -0
  95. package/dist/esm/api/routes/explore.js +221 -0
  96. package/dist/esm/api/routes/explore.js.map +1 -0
  97. package/dist/esm/api/routes/learners.js +321 -0
  98. package/dist/esm/api/routes/learners.js.map +1 -0
  99. package/dist/esm/api/routes/me.js +401 -0
  100. package/dist/esm/api/routes/me.js.map +1 -0
  101. package/dist/esm/api/routes/skills.js +316 -0
  102. package/dist/esm/api/routes/skills.js.map +1 -0
  103. package/dist/esm/api/server.js +179 -0
  104. package/dist/esm/api/server.js.map +1 -0
  105. package/dist/esm/api/types.js +9 -0
  106. package/dist/esm/api/types.js.map +1 -0
  107. package/dist/esm/assessment/adaptive.js +384 -0
  108. package/dist/esm/assessment/adaptive.js.map +1 -0
  109. package/dist/esm/assessment/bkt.js +354 -0
  110. package/dist/esm/assessment/bkt.js.map +1 -0
  111. package/dist/esm/assessment/index.js +21 -0
  112. package/dist/esm/assessment/index.js.map +1 -0
  113. package/dist/esm/assessment/irt.js +406 -0
  114. package/dist/esm/assessment/irt.js.map +1 -0
  115. package/dist/esm/assessment/mastery-engine.js +406 -0
  116. package/dist/esm/assessment/mastery-engine.js.map +1 -0
  117. package/dist/esm/components/LearningPathView.js +316 -0
  118. package/dist/esm/components/LearningPathView.js.map +1 -0
  119. package/dist/esm/components/ProgressDashboard.js +304 -0
  120. package/dist/esm/components/ProgressDashboard.js.map +1 -0
  121. package/dist/esm/components/SkillCard.js +260 -0
  122. package/dist/esm/components/SkillCard.js.map +1 -0
  123. package/dist/esm/components/SkillExplorer.js +397 -0
  124. package/dist/esm/components/SkillExplorer.js.map +1 -0
  125. package/dist/esm/components/SkillGraph.js +398 -0
  126. package/dist/esm/components/SkillGraph.js.map +1 -0
  127. package/dist/esm/components/hooks.js +502 -0
  128. package/dist/esm/components/hooks.js.map +1 -0
  129. package/dist/esm/components/index.js +61 -0
  130. package/dist/esm/components/index.js.map +1 -0
  131. package/dist/esm/components/types.js +31 -0
  132. package/dist/esm/components/types.js.map +1 -0
  133. package/dist/esm/index.js +13 -1
  134. package/dist/esm/index.js.map +1 -1
  135. package/dist/esm/llm/adapters/anthropic.js +88 -2
  136. package/dist/esm/llm/adapters/anthropic.js.map +1 -1
  137. package/dist/esm/llm/adapters/gemini.js +98 -7
  138. package/dist/esm/llm/adapters/gemini.js.map +1 -1
  139. package/dist/esm/llm/adapters/index.js +15 -4
  140. package/dist/esm/llm/adapters/index.js.map +1 -1
  141. package/dist/esm/llm/adapters/ollama.js +117 -2
  142. package/dist/esm/llm/adapters/ollama.js.map +1 -1
  143. package/dist/esm/llm/adapters/openai.js +105 -1
  144. package/dist/esm/llm/adapters/openai.js.map +1 -1
  145. package/dist/esm/mcp/cli.js +267 -0
  146. package/dist/esm/mcp/cli.js.map +1 -0
  147. package/dist/esm/mcp/index.js +39 -0
  148. package/dist/esm/mcp/index.js.map +1 -0
  149. package/dist/esm/mcp/prompts.js +419 -0
  150. package/dist/esm/mcp/prompts.js.map +1 -0
  151. package/dist/esm/mcp/resources.js +359 -0
  152. package/dist/esm/mcp/resources.js.map +1 -0
  153. package/dist/esm/mcp/server.js +372 -0
  154. package/dist/esm/mcp/server.js.map +1 -0
  155. package/dist/esm/mcp/tools.js +598 -0
  156. package/dist/esm/mcp/tools.js.map +1 -0
  157. package/dist/esm/mcp/types.js +9 -0
  158. package/dist/esm/mcp/types.js.map +1 -0
  159. package/dist/esm/query/index.js +11 -5
  160. package/dist/esm/query/index.js.map +1 -1
  161. package/dist/esm/query/path.js +308 -0
  162. package/dist/esm/query/path.js.map +1 -0
  163. package/dist/esm/query/spaced-repetition.js +292 -0
  164. package/dist/esm/query/spaced-repetition.js.map +1 -0
  165. package/dist/esm/query/zpd.js +211 -0
  166. package/dist/esm/query/zpd.js.map +1 -0
  167. package/dist/esm/types/assessment.js +40 -0
  168. package/dist/esm/types/assessment.js.map +1 -0
  169. package/dist/esm/types/bloom.js +11 -0
  170. package/dist/esm/types/bloom.js.map +1 -1
  171. package/dist/esm/types/index.js +2 -1
  172. package/dist/esm/types/index.js.map +1 -1
  173. package/dist/types/api/routes/analytics.d.ts +14 -0
  174. package/dist/types/api/routes/analytics.d.ts.map +1 -0
  175. package/dist/types/api/routes/assessments.d.ts +14 -0
  176. package/dist/types/api/routes/assessments.d.ts.map +1 -0
  177. package/dist/types/api/routes/curriculum.d.ts +14 -0
  178. package/dist/types/api/routes/curriculum.d.ts.map +1 -0
  179. package/dist/types/api/routes/edges.d.ts +14 -0
  180. package/dist/types/api/routes/edges.d.ts.map +1 -0
  181. package/dist/types/api/routes/explore.d.ts +14 -0
  182. package/dist/types/api/routes/explore.d.ts.map +1 -0
  183. package/dist/types/api/routes/learners.d.ts +14 -0
  184. package/dist/types/api/routes/learners.d.ts.map +1 -0
  185. package/dist/types/api/routes/me.d.ts +14 -0
  186. package/dist/types/api/routes/me.d.ts.map +1 -0
  187. package/dist/types/api/routes/skills.d.ts +14 -0
  188. package/dist/types/api/routes/skills.d.ts.map +1 -0
  189. package/dist/types/api/server.d.ts +147 -0
  190. package/dist/types/api/server.d.ts.map +1 -0
  191. package/dist/types/api/types.d.ts +443 -0
  192. package/dist/types/api/types.d.ts.map +1 -0
  193. package/dist/types/assessment/adaptive.d.ts +155 -0
  194. package/dist/types/assessment/adaptive.d.ts.map +1 -0
  195. package/dist/types/assessment/bkt.d.ts +185 -0
  196. package/dist/types/assessment/bkt.d.ts.map +1 -0
  197. package/dist/types/assessment/index.d.ts +18 -0
  198. package/dist/types/assessment/index.d.ts.map +1 -0
  199. package/dist/types/assessment/irt.d.ts +159 -0
  200. package/dist/types/assessment/irt.d.ts.map +1 -0
  201. package/dist/types/assessment/mastery-engine.d.ts +178 -0
  202. package/dist/types/assessment/mastery-engine.d.ts.map +1 -0
  203. package/dist/types/components/LearningPathView.d.ts +40 -0
  204. package/dist/types/components/LearningPathView.d.ts.map +1 -0
  205. package/dist/types/components/ProgressDashboard.d.ts +49 -0
  206. package/dist/types/components/ProgressDashboard.d.ts.map +1 -0
  207. package/dist/types/components/SkillCard.d.ts +34 -0
  208. package/dist/types/components/SkillCard.d.ts.map +1 -0
  209. package/dist/types/components/SkillExplorer.d.ts +39 -0
  210. package/dist/types/components/SkillExplorer.d.ts.map +1 -0
  211. package/dist/types/components/SkillGraph.d.ts +38 -0
  212. package/dist/types/components/SkillGraph.d.ts.map +1 -0
  213. package/dist/types/components/hooks.d.ts +187 -0
  214. package/dist/types/components/hooks.d.ts.map +1 -0
  215. package/dist/types/components/index.d.ts +59 -0
  216. package/dist/types/components/index.d.ts.map +1 -0
  217. package/dist/types/components/types.d.ts +410 -0
  218. package/dist/types/components/types.d.ts.map +1 -0
  219. package/dist/types/index.d.ts +2 -1
  220. package/dist/types/index.d.ts.map +1 -1
  221. package/dist/types/llm/adapters/anthropic.d.ts +84 -1
  222. package/dist/types/llm/adapters/anthropic.d.ts.map +1 -1
  223. package/dist/types/llm/adapters/gemini.d.ts +93 -6
  224. package/dist/types/llm/adapters/gemini.d.ts.map +1 -1
  225. package/dist/types/llm/adapters/index.d.ts +13 -4
  226. package/dist/types/llm/adapters/index.d.ts.map +1 -1
  227. package/dist/types/llm/adapters/ollama.d.ts +126 -1
  228. package/dist/types/llm/adapters/ollama.d.ts.map +1 -1
  229. package/dist/types/llm/adapters/openai.d.ts +104 -1
  230. package/dist/types/llm/adapters/openai.d.ts.map +1 -1
  231. package/dist/types/mcp/cli.d.ts +15 -0
  232. package/dist/types/mcp/cli.d.ts.map +1 -0
  233. package/dist/types/mcp/index.d.ts +32 -0
  234. package/dist/types/mcp/index.d.ts.map +1 -0
  235. package/dist/types/mcp/prompts.d.ts +27 -0
  236. package/dist/types/mcp/prompts.d.ts.map +1 -0
  237. package/dist/types/mcp/resources.d.ts +59 -0
  238. package/dist/types/mcp/resources.d.ts.map +1 -0
  239. package/dist/types/mcp/server.d.ts +136 -0
  240. package/dist/types/mcp/server.d.ts.map +1 -0
  241. package/dist/types/mcp/tools.d.ts +344 -0
  242. package/dist/types/mcp/tools.d.ts.map +1 -0
  243. package/dist/types/mcp/types.d.ts +137 -0
  244. package/dist/types/mcp/types.d.ts.map +1 -0
  245. package/dist/types/query/index.d.ts +8 -0
  246. package/dist/types/query/index.d.ts.map +1 -1
  247. package/dist/types/query/path.d.ts +102 -0
  248. package/dist/types/query/path.d.ts.map +1 -0
  249. package/dist/types/query/spaced-repetition.d.ts +135 -0
  250. package/dist/types/query/spaced-repetition.d.ts.map +1 -0
  251. package/dist/types/query/zpd.d.ts +97 -0
  252. package/dist/types/query/zpd.d.ts.map +1 -0
  253. package/dist/types/types/assessment.d.ts +512 -0
  254. package/dist/types/types/assessment.d.ts.map +1 -0
  255. package/dist/types/types/bloom.d.ts +4 -0
  256. package/dist/types/types/bloom.d.ts.map +1 -1
  257. package/dist/types/types/index.d.ts +3 -1
  258. package/dist/types/types/index.d.ts.map +1 -1
  259. package/package.json +48 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressDashboard.js","sourceRoot":"","sources":["../../../src/components/ProgressDashboard.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAajE,MAAM,QAAQ,GAAsB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IACxE,MAAM,SAAS,GAAkB;QAC/B,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,OAAO;KAClB,CAAC;IAEF,MAAM,UAAU,GAAkB;QAChC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,WAAW;QAC1B,aAAa,EAAE,QAAQ;KACxB,CAAC;IAEF,MAAM,UAAU,GAAkB;QAChC,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,KAAK,IAAI,SAAS;QACzB,UAAU,EAAE,GAAG;KAChB,CAAC;IAEF,MAAM,aAAa,GAAkB;QACnC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,SAAS,aACnB,cAAK,KAAK,EAAE,UAAU,YAAG,KAAK,GAAO,EACrC,cAAK,KAAK,EAAE,UAAU,YAAG,KAAK,GAAO,EACpC,QAAQ,IAAI,cAAK,KAAK,EAAE,aAAa,YAAG,QAAQ,GAAO,IACpD,CACP,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,gBAAgB,GAA8B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,MAAM,cAAc,GAAkB;QACpC,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,mBAAmB;KAC5B,CAAC;IAEF,MAAM,UAAU,GAAkB;QAChC,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,MAAM;KACrB,CAAC;IAEF,MAAM,QAAQ,GAAkB;QAC9B,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,MAAM;KACrB,CAAC;IAEF,MAAM,UAAU,GAAkB;QAChC,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,GAAG;QACf,aAAa,EAAE,YAAY;QAC3B,KAAK,EAAE,SAAS;KACjB,CAAC;IAEF,MAAM,iBAAiB,GAAkB;QACvC,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,MAAM;QACd,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,MAAM;QACpB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,MAAM;KACpB,CAAC;IAEF,MAAM,UAAU,GAAkB;QAChC,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;KACjB,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,cAAc,aACxB,cAAK,KAAK,EAAE,UAAU,0CAAiC,EACtD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,eAAmB,KAAK,EAAE,QAAQ,aAChC,eAAM,KAAK,EAAE,UAAU,YAAG,CAAC,CAAC,KAAK,GAAQ,EACzC,cAAK,KAAK,EAAE,iBAAiB,YAC3B,cACE,KAAK,EAAE;gCACL,MAAM,EAAE,MAAM;gCACd,KAAK,EAAE,GAAG,CAAC,CAAC,UAAU,GAAG;gCACzB,eAAe,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC;gCAC9C,YAAY,EAAE,MAAM;gCACpB,UAAU,EAAE,iBAAiB;6BAC9B,GACD,GACE,EACN,gBAAM,KAAK,EAAE,UAAU,aACpB,CAAC,CAAC,QAAQ,OAAG,CAAC,CAAC,KAAK,IAChB,KAfC,CAAC,CAAC,KAAK,CAgBX,CACP,CAAC,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AAOF,MAAM,YAAY,GAA0B,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3E,MAAM,cAAc,GAAkB;QACpC,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,mBAAmB;KAC5B,CAAC;IAEF,MAAM,UAAU,GAAkB;QAChC,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,MAAM;KACrB,CAAC;IAEF,MAAM,SAAS,GAAkB;QAC/B,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,mBAAmB;QACjC,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,IAA0B,EAAiB,EAAE,CAAC,CAAC;QAChE,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,KAAK;QACnB,eAAe,EACb,IAAI,KAAK,UAAU;YACjB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,KAAK,WAAW;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,KAAK,SAAS;oBAClB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,SAAS;QACnB,KAAK,EACH,IAAI,KAAK,UAAU;YACjB,CAAC,CAAC,aAAa,CAAC,QAAQ;YACxB,CAAC,CAAC,IAAI,KAAK,WAAW;gBACpB,CAAC,CAAC,aAAa,CAAC,SAAS;gBACzB,CAAC,CAAC,IAAI,KAAK,SAAS;oBAClB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,SAAS;QACnB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,CAAC;KACd,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,IAA0B,EAAU,EAAE;QACrD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU;gBACb,OAAO,GAAG,CAAC;YACb,KAAK,WAAW;gBACd,OAAO,GAAG,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC;YACb,KAAK,UAAU;gBACb,OAAO,GAAG,CAAC;YACb;gBACE,OAAO,GAAG,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,IAAU,EAAU,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QAEzC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;QACnC,IAAI,OAAO,GAAG,EAAE;YAAE,OAAO,GAAG,OAAO,OAAO,CAAC;QAC3C,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO,GAAG,KAAK,OAAO,CAAC;QACvC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,GAAG,IAAI,OAAO,CAAC;QACpC,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,cAAc,aACxB,cAAK,KAAK,EAAE,UAAU,gCAAuB,EAC5C,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mCAElF,CACP,CAAC,CAAC,CAAC,CACF,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,eAEE,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAE7C,cAAK,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAO,EACpE,eAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aACrB,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,aAChE,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,WAAW,EAC3C,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,YAAY,EAC7C,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,EACzC,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,WAAW,EAC5C,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAQ,IAC3D,EACN,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,aACjE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC9B,QAAQ,CAAC,QAAQ,IAAI,MAAM,QAAQ,CAAC,QAAQ,MAAM,EAClD,QAAQ,CAAC,MAAM,IAAI,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,UAAU,IAChF,IACF,KAlBD,KAAK,CAmBN,CACP,CAAC,CACH,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAWF,MAAM,SAAS,GAAuB,CAAC,EACrC,KAAK,EACL,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,cAAc,GAAkB;QACpC,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,mBAAmB;KAC5B,CAAC;IAEF,MAAM,WAAW,GAAkB;QACjC,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,MAAM;KACrB,CAAC;IAEF,MAAM,UAAU,GAAkB;QAChC,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,SAAS;KACjB,CAAC;IAEF,MAAM,WAAW,GAAkB;QACjC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,GAAG;KAChB,CAAC;IAEF,MAAM,SAAS,GAAkB;QAC/B,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,mBAAmB;QACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KAC7C,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,cAAc,aACxB,eAAK,KAAK,EAAE,WAAW,aACrB,eAAM,KAAK,EAAE,UAAU,YAAG,KAAK,GAAQ,EACtC,WAAW,IAAI,QAAQ,IAAI,CAC1B,eAAM,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,YACxC,WAAW,GACP,CACR,IACG,EACL,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACrB,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,YACrF,YAAY,GACT,CACP,CAAC,CAAC,CAAC,CACF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAChC,eAEE,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,aAEpC,eACE,KAAK,EAAE;4BACL,KAAK,EAAE,KAAK;4BACZ,MAAM,EAAE,KAAK;4BACb,YAAY,EAAE,KAAK;4BACnB,eAAe,EAAE,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC;4BACvD,WAAW,EAAE,MAAM;yBACpB,GACD,EACF,eAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aACrB,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,YAChE,KAAK,CAAC,IAAI,GACP,EACN,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAC/C,KAAK,CAAC,gBAAgB,YACnB,IACF,KApBD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAqBjB,CACP,CAAC,CACH,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAWF,MAAM,SAAS,GAAuB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAClD,MAAM,cAAc,GAAkB;QACpC,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,mBAAmB;KAC5B,CAAC;IAEF,MAAM,UAAU,GAAkB;QAChC,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,MAAM;KACrB,CAAC;IAEF,MAAM,SAAS,GAAkB;QAC/B,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,mBAAmB;KAClC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,IAAU,EAAU,EAAE;QAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QAExC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/B,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC;QACnC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC;QACtC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,GAAG,IAAI,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,cAAc,aACxB,cAAK,KAAK,EAAE,UAAU,+BAAsB,EAC3C,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,gCAElF,CACP,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACzB,eAAiB,KAAK,EAAE,SAAS,aAC/B,eACE,KAAK,EAAE;4BACL,OAAO,EAAE,MAAM;4BACf,cAAc,EAAE,eAAe;4BAC/B,YAAY,EAAE,KAAK;yBACpB,aAED,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,YACjE,IAAI,CAAC,IAAI,GACL,EACP,gBAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,aACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,SAC3B,IACH,EACN,cACE,KAAK,EAAE;4BACL,MAAM,EAAE,KAAK;4BACb,eAAe,EAAE,SAAS;4BAC1B,YAAY,EAAE,KAAK;4BACnB,QAAQ,EAAE,QAAQ;4BAClB,YAAY,EAAE,KAAK;yBACpB,YAED,cACE,KAAK,EAAE;gCACL,MAAM,EAAE,MAAM;gCACd,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG;gCAChC,eAAe,EAAE,SAAS;gCAC1B,YAAY,EAAE,KAAK;6BACpB,GACD,GACE,EACL,IAAI,CAAC,QAAQ,IAAI,CAChB,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAC/C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,GAC1B,CACP,KArCO,KAAK,CAsCT,CACP,CAAC,CACH,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,EAC5D,KAAK,EACL,aAAa,EACb,cAAc,EACd,YAAY,GAAG,EAAE,EACjB,eAAe,GAAG,EAAE,EACpB,KAAK,GAAG,EAAE,EACV,iBAAiB,GAAG,IAAI,EACxB,gBAAgB,GAAG,IAAI,EACvB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,KAAK,GACN,EAAE,EAAE;IACH,MAAM,cAAc,GAAkB;QACpC,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,GAAG,EAAE,MAAM;QACX,GAAG,KAAK;KACT,CAAC;IAEF,MAAM,aAAa,GAAkB;QACnC,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,MAAM;QACX,QAAQ,EAAE,MAAM;KACjB,CAAC;IAEF,MAAM,SAAS,GAAkB;QAC/B,OAAO,EAAE,MAAM;QACf,mBAAmB,EAAE,sCAAsC;QAC3D,GAAG,EAAE,MAAM;KACZ,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CACnC,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,CACjD,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,aAE9C,eAAK,KAAK,EAAE,aAAa,aACvB,KAAC,QAAQ,IACP,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,WAAW,EAAE,EACrD,QAAQ,EAAE,GAAG,kBAAkB,YAAY,EAC3C,KAAK,EAAE,aAAa,CAAC,QAAQ,GAC7B,EACF,KAAC,QAAQ,IACP,KAAK,EAAC,QAAQ,EACd,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,OAAO,EACjC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,EAClE,KAAK,EAAC,SAAS,GACf,EACF,KAAC,QAAQ,IACP,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,EACjC,QAAQ,EAAC,iBAAiB,EAC1B,KAAK,EAAC,SAAS,GACf,EACF,KAAC,QAAQ,IACP,KAAK,EAAC,eAAe,EACrB,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,GAAG,EACrD,QAAQ,EAAE,GAAG,KAAK,CAAC,iBAAiB,YAAY,GAChD,IACE,EAGN,KAAC,gBAAgB,IAAC,QAAQ,EAAE,aAAa,GAAI,EAG7C,eAAK,KAAK,EAAE,SAAS,aAElB,gBAAgB,IAAI,CACnB,KAAC,YAAY,IAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,GAAI,CACzE,EAGD,KAAC,SAAS,IACR,KAAK,EAAC,gBAAgB,EACtB,MAAM,EAAE,YAAY,EACpB,YAAY,EAAC,gBAAgB,EAC7B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EACjE,QAAQ,EAAE,aAAa,GACvB,EAGF,KAAC,SAAS,IACR,KAAK,EAAC,kBAAkB,EACxB,MAAM,EAAE,eAAe,EACvB,YAAY,EAAC,gDAAgD,EAC7D,YAAY,EAAE,YAAY,GAC1B,EAGD,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,GAAI,IAC5C,EAGL,iBAAiB,IAAI,CACpB,eAAK,KAAK,EAAE,aAAa,aACvB,KAAC,QAAQ,IACP,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAC7B,KAAK,EAAE,aAAa,CAAC,UAAU,GAC/B,EACF,KAAC,QAAQ,IACP,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,KAAK,CAAC,eAAe,EAC5B,KAAK,EAAE,aAAa,CAAC,SAAS,GAC9B,EACF,KAAC,QAAQ,IACP,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,GACnD,IACE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,260 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * SkillCard Component
4
+ *
5
+ * Card component displaying skill details with mastery status.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { useMemo } from 'react';
10
+ import { DEFAULT_BLOOM_COLORS, STATUS_COLORS } from './types.js';
11
+ const BloomBadge = ({ level }) => {
12
+ const style = {
13
+ display: 'inline-flex',
14
+ alignItems: 'center',
15
+ padding: '4px 10px',
16
+ borderRadius: '9999px',
17
+ fontSize: '12px',
18
+ fontWeight: 500,
19
+ textTransform: 'capitalize',
20
+ backgroundColor: DEFAULT_BLOOM_COLORS[level],
21
+ color: '#ffffff',
22
+ };
23
+ return _jsx("span", { style: style, children: level });
24
+ };
25
+ const MasteryProgress = ({ mastery }) => {
26
+ const percentage = Math.round(mastery.probability * 100);
27
+ const containerStyle = {
28
+ marginTop: '12px',
29
+ };
30
+ const labelStyle = {
31
+ display: 'flex',
32
+ justifyContent: 'space-between',
33
+ fontSize: '12px',
34
+ marginBottom: '4px',
35
+ color: '#6b7280',
36
+ };
37
+ const barContainerStyle = {
38
+ height: '8px',
39
+ backgroundColor: '#e5e7eb',
40
+ borderRadius: '4px',
41
+ overflow: 'hidden',
42
+ };
43
+ const barStyle = {
44
+ height: '100%',
45
+ width: `${percentage}%`,
46
+ backgroundColor: percentage >= 80
47
+ ? STATUS_COLORS.mastered
48
+ : percentage >= 50
49
+ ? STATUS_COLORS.inProgress
50
+ : '#94a3b8',
51
+ borderRadius: '4px',
52
+ transition: 'width 0.3s ease',
53
+ };
54
+ const confidenceColor = {
55
+ low: '#f59e0b',
56
+ medium: '#3b82f6',
57
+ high: '#22c55e',
58
+ };
59
+ return (_jsxs("div", { style: containerStyle, children: [_jsxs("div", { style: labelStyle, children: [_jsxs("span", { children: ["Mastery: ", percentage, "%"] }), _jsxs("span", { style: {
60
+ color: confidenceColor[mastery.confidence],
61
+ textTransform: 'capitalize',
62
+ }, children: [mastery.confidence, " confidence"] })] }), _jsx("div", { style: barContainerStyle, children: _jsx("div", { style: barStyle }) }), _jsxs("div", { style: {
63
+ display: 'flex',
64
+ justifyContent: 'space-between',
65
+ fontSize: '11px',
66
+ marginTop: '4px',
67
+ color: '#9ca3af',
68
+ }, children: [_jsxs("span", { children: [mastery.attempts, " attempts"] }), mastery.nextReview && (_jsxs("span", { children: ["Review: ", formatDate(mastery.nextReview)] }))] })] }));
69
+ };
70
+ function formatDate(date) {
71
+ const now = new Date();
72
+ const diff = date.getTime() - now.getTime();
73
+ const days = Math.ceil(diff / (1000 * 60 * 60 * 24));
74
+ if (days <= 0)
75
+ return 'Today';
76
+ if (days === 1)
77
+ return 'Tomorrow';
78
+ if (days < 7)
79
+ return `${days} days`;
80
+ return date.toLocaleDateString();
81
+ }
82
+ const TagList = ({ tags }) => {
83
+ if (tags.length === 0)
84
+ return null;
85
+ const containerStyle = {
86
+ display: 'flex',
87
+ flexWrap: 'wrap',
88
+ gap: '4px',
89
+ marginTop: '8px',
90
+ };
91
+ const tagStyle = {
92
+ padding: '2px 8px',
93
+ backgroundColor: '#f3f4f6',
94
+ borderRadius: '4px',
95
+ fontSize: '11px',
96
+ color: '#6b7280',
97
+ };
98
+ return (_jsx("div", { style: containerStyle, children: tags.map((tag) => (_jsx("span", { style: tagStyle, children: tag }, tag))) }));
99
+ };
100
+ const PrereqList = ({ title, skills, variant }) => {
101
+ if (skills.length === 0)
102
+ return null;
103
+ const containerStyle = {
104
+ marginTop: '12px',
105
+ };
106
+ const titleStyle = {
107
+ fontSize: '12px',
108
+ fontWeight: 600,
109
+ color: '#374151',
110
+ marginBottom: '6px',
111
+ };
112
+ const listStyle = {
113
+ display: 'flex',
114
+ flexWrap: 'wrap',
115
+ gap: '4px',
116
+ };
117
+ const itemStyle = {
118
+ padding: '4px 8px',
119
+ backgroundColor: '#eff6ff',
120
+ borderRadius: '4px',
121
+ fontSize: '12px',
122
+ color: '#1e40af',
123
+ };
124
+ const displaySkills = variant === 'compact' ? skills.slice(0, 3) : skills;
125
+ const remaining = skills.length - displaySkills.length;
126
+ return (_jsxs("div", { style: containerStyle, children: [_jsx("div", { style: titleStyle, children: title }), _jsxs("div", { style: listStyle, children: [displaySkills.map((skill) => (_jsx("span", { style: itemStyle, children: skill.name }, String(skill.id)))), remaining > 0 && (_jsxs("span", { style: { ...itemStyle, backgroundColor: '#e5e7eb', color: '#6b7280' }, children: ["+", remaining, " more"] }))] })] }));
127
+ };
128
+ // ─────────────────────────────────────────────────────────────────────────────
129
+ // Main Component
130
+ // ─────────────────────────────────────────────────────────────────────────────
131
+ /**
132
+ * SkillCard Component
133
+ *
134
+ * Displays skill information with optional mastery tracking.
135
+ *
136
+ * @example
137
+ * ```tsx
138
+ * import { SkillCard } from 'learngraph/components';
139
+ *
140
+ * function SkillDetails({ skill }) {
141
+ * return (
142
+ * <SkillCard
143
+ * skill={skill}
144
+ * mastery={{ probability: 0.75, confidence: 'medium', attempts: 10 }}
145
+ * isAvailable={true}
146
+ * variant="detailed"
147
+ * onStartLearning={() => console.log('Start learning')}
148
+ * />
149
+ * );
150
+ * }
151
+ * ```
152
+ */
153
+ export const SkillCard = ({ skill, mastery, prerequisites = [], dependents = [], isAvailable = false, isMastered = false, variant = 'detailed', onClick, onStartLearning, onPractice, className, style, }) => {
154
+ const statusColor = useMemo(() => {
155
+ if (isMastered)
156
+ return STATUS_COLORS.mastered;
157
+ if (isAvailable)
158
+ return STATUS_COLORS.available;
159
+ return STATUS_COLORS.locked;
160
+ }, [isMastered, isAvailable]);
161
+ const statusText = useMemo(() => {
162
+ if (isMastered)
163
+ return 'Mastered';
164
+ if (isAvailable)
165
+ return 'Available';
166
+ return 'Locked';
167
+ }, [isMastered, isAvailable]);
168
+ const cardStyle = {
169
+ backgroundColor: '#ffffff',
170
+ borderRadius: '12px',
171
+ border: '1px solid #e5e7eb',
172
+ padding: variant === 'compact' ? '12px' : '16px',
173
+ boxShadow: '0 1px 3px rgba(0, 0, 0, 0.05)',
174
+ cursor: onClick ? 'pointer' : 'default',
175
+ transition: 'box-shadow 0.2s ease, transform 0.2s ease',
176
+ ...style,
177
+ };
178
+ const headerStyle = {
179
+ display: 'flex',
180
+ justifyContent: 'space-between',
181
+ alignItems: 'flex-start',
182
+ marginBottom: '8px',
183
+ };
184
+ const titleStyle = {
185
+ fontSize: variant === 'compact' ? '14px' : '16px',
186
+ fontWeight: 600,
187
+ color: '#1f2937',
188
+ margin: 0,
189
+ };
190
+ const statusBadgeStyle = {
191
+ display: 'inline-flex',
192
+ alignItems: 'center',
193
+ gap: '4px',
194
+ padding: '2px 8px',
195
+ borderRadius: '9999px',
196
+ fontSize: '11px',
197
+ fontWeight: 500,
198
+ backgroundColor: statusColor,
199
+ color: '#ffffff',
200
+ };
201
+ const descriptionStyle = {
202
+ fontSize: '13px',
203
+ color: '#6b7280',
204
+ lineHeight: 1.5,
205
+ margin: '8px 0',
206
+ };
207
+ const metaStyle = {
208
+ display: 'flex',
209
+ flexWrap: 'wrap',
210
+ alignItems: 'center',
211
+ gap: '12px',
212
+ marginTop: '8px',
213
+ fontSize: '12px',
214
+ color: '#6b7280',
215
+ };
216
+ const buttonContainerStyle = {
217
+ display: 'flex',
218
+ gap: '8px',
219
+ marginTop: '16px',
220
+ };
221
+ const primaryButtonStyle = {
222
+ flex: 1,
223
+ padding: '10px 16px',
224
+ backgroundColor: isAvailable && !isMastered ? '#3b82f6' : '#e5e7eb',
225
+ color: isAvailable && !isMastered ? '#ffffff' : '#9ca3af',
226
+ border: 'none',
227
+ borderRadius: '8px',
228
+ fontSize: '14px',
229
+ fontWeight: 500,
230
+ cursor: isAvailable && !isMastered ? 'pointer' : 'not-allowed',
231
+ transition: 'background-color 0.2s ease',
232
+ };
233
+ const secondaryButtonStyle = {
234
+ flex: 1,
235
+ padding: '10px 16px',
236
+ backgroundColor: 'transparent',
237
+ color: isMastered ? '#3b82f6' : '#9ca3af',
238
+ border: `1px solid ${isMastered ? '#3b82f6' : '#e5e7eb'}`,
239
+ borderRadius: '8px',
240
+ fontSize: '14px',
241
+ fontWeight: 500,
242
+ cursor: isMastered ? 'pointer' : 'not-allowed',
243
+ transition: 'background-color 0.2s ease',
244
+ };
245
+ return (_jsxs("div", { className: className, style: cardStyle, onClick: onClick, children: [_jsxs("div", { style: headerStyle, children: [_jsxs("div", { children: [_jsx("h3", { style: titleStyle, children: skill.name }), _jsx("div", { style: { marginTop: '6px' }, children: _jsx(BloomBadge, { level: skill.bloomLevel }) })] }), _jsxs("span", { style: statusBadgeStyle, children: [_jsx("span", { style: {
246
+ width: '6px',
247
+ height: '6px',
248
+ borderRadius: '50%',
249
+ backgroundColor: 'currentColor',
250
+ } }), statusText] })] }), variant !== 'compact' && skill.description && (_jsx("p", { style: descriptionStyle, children: skill.description })), _jsxs("div", { style: metaStyle, children: [_jsxs("span", { children: [_jsx("strong", { children: skill.estimatedMinutes }), " min"] }), _jsxs("span", { children: ["Mastery: ", _jsxs("strong", { children: [Math.round(skill.masteryThreshold * 100), "%"] })] })] }), variant !== 'compact' && _jsx(TagList, { tags: skill.tags }), mastery && _jsx(MasteryProgress, { mastery: mastery }), variant === 'full' && (_jsxs(_Fragment, { children: [_jsx(PrereqList, { title: "Prerequisites", skills: prerequisites, variant: variant }), _jsx(PrereqList, { title: "Unlocks", skills: dependents, variant: variant })] })), variant !== 'compact' && (onStartLearning || onPractice) && (_jsxs("div", { style: buttonContainerStyle, children: [onStartLearning && !isMastered && (_jsx("button", { style: primaryButtonStyle, onClick: (e) => {
251
+ e.stopPropagation();
252
+ if (isAvailable)
253
+ onStartLearning();
254
+ }, disabled: !isAvailable, children: isAvailable ? 'Start Learning' : 'Prerequisites Needed' })), onPractice && isMastered && (_jsx("button", { style: secondaryButtonStyle, onClick: (e) => {
255
+ e.stopPropagation();
256
+ onPractice();
257
+ }, children: "Practice" }))] }))] }));
258
+ };
259
+ export default SkillCard;
260
+ //# sourceMappingURL=SkillCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillCard.js","sourceRoot":"","sources":["../../../src/components/SkillCard.tsx"],"names":[],"mappings":"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"}