@learnpack/learnpack 5.0.292 → 5.0.294

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.
@@ -59,8 +59,6 @@
59
59
  --color-red-500: oklch(63.7% 0.237 25.331);
60
60
  --color-red-600: oklch(57.7% 0.245 27.325);
61
61
  --color-red-700: oklch(50.5% 0.213 27.518);
62
- --color-yellow-50: oklch(98.7% 0.026 102.212);
63
- --color-yellow-300: oklch(90.5% 0.182 98.111);
64
62
  --color-yellow-600: oklch(68.1% 0.162 75.834);
65
63
  --color-yellow-700: oklch(55.4% 0.135 66.442);
66
64
  --color-blue-50: oklch(97% 0.014 254.604);
@@ -831,9 +829,6 @@
831
829
  .border-transparent {
832
830
  border-color: #0000;
833
831
  }
834
- .border-yellow-300 {
835
- border-color: var(--color-yellow-300);
836
- }
837
832
  .border-t-transparent {
838
833
  border-top-color: #0000;
839
834
  }
@@ -900,9 +895,6 @@
900
895
  .bg-white {
901
896
  background-color: var(--color-white);
902
897
  }
903
- .bg-yellow-50 {
904
- background-color: var(--color-yellow-50);
905
- }
906
898
  .bg-gradient-to-t {
907
899
  --tw-gradient-position: to top in oklab;
908
900
  background-image: linear-gradient(var(--tw-gradient-stops));
@@ -10,8 +10,8 @@
10
10
  />
11
11
 
12
12
  <title>Learnpack Creator: Craft tutorials in seconds!</title>
13
- <script type="module" crossorigin src="/creator/assets/index-DOEfLGDQ.js"></script>
14
- <link rel="stylesheet" crossorigin href="/creator/assets/index-CacFtcN8.css">
13
+ <script type="module" crossorigin src="/creator/assets/index-CwOHnpZp.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/creator/assets/index-DTjdV1LF.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@learnpack/learnpack",
3
3
  "description": "Seamlessly build, sell and/or take interactive & auto-graded tutorials, start learning now or build a new tutorial to your audience.",
4
- "version": "5.0.292",
4
+ "version": "5.0.294",
5
5
  "author": "Alejandro Sanchez @alesanchezr",
6
6
  "contributors": [
7
7
  {
@@ -18,6 +18,7 @@
18
18
  "i18next": "^25.2.1",
19
19
  "i18next-browser-languagedetector": "^8.2.0",
20
20
  "js-yaml": "^4.1.0",
21
+ "lucide-react": "^0.545.0",
21
22
  "mammoth": "^1.9.0",
22
23
  "mitt": "^3.0.1",
23
24
  "pdfjs-dist": "^5.1.91",
@@ -4348,6 +4349,15 @@
4348
4349
  "underscore": "^1.13.1"
4349
4350
  }
4350
4351
  },
4352
+ "node_modules/lucide-react": {
4353
+ "version": "0.545.0",
4354
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.545.0.tgz",
4355
+ "integrity": "sha512-7r1/yUuflQDSt4f1bpn5ZAocyIxcTyVyBBChSVtBKn5M+392cPmI5YJMWOJKk/HUWGm5wg83chlAZtCcGbEZtw==",
4356
+ "license": "ISC",
4357
+ "peerDependencies": {
4358
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
4359
+ }
4360
+ },
4351
4361
  "node_modules/mammoth": {
4352
4362
  "version": "1.9.0",
4353
4363
  "resolved": "https://registry.npmjs.org/mammoth/-/mammoth-1.9.0.tgz",
@@ -21,6 +21,7 @@
21
21
  "i18next": "^25.2.1",
22
22
  "i18next-browser-languagedetector": "^8.2.0",
23
23
  "js-yaml": "^4.1.0",
24
+ "lucide-react": "^0.545.0",
24
25
  "mammoth": "^1.9.0",
25
26
  "mitt": "^3.0.1",
26
27
  "pdfjs-dist": "^5.1.91",
@@ -0,0 +1,18 @@
1
+ import * as LucideIcons from "lucide-react";
2
+ import { LucideProps } from "lucide-react";
3
+
4
+ export interface IconProps extends Omit<LucideProps, 'ref'> {
5
+ name: keyof typeof LucideIcons;
6
+ }
7
+
8
+ export const Icon = ({ name, ...props }: IconProps) => {
9
+ const LucideIcon = LucideIcons[name] as React.ComponentType<LucideProps>;
10
+
11
+ if (!LucideIcon) {
12
+ console.warn(`Icon "${name}" not found in lucide-react`);
13
+ return null;
14
+ }
15
+
16
+ return <LucideIcon {...props} />;
17
+ };
18
+
@@ -5,6 +5,7 @@ import { useState } from "react"
5
5
  import { useRef } from "react"
6
6
  import { SVGS } from "../assets/svgs"
7
7
  import useStore from "../utils/store"
8
+ import { Icon } from "./Icon"
8
9
 
9
10
  export interface Lesson {
10
11
  id: string
@@ -60,20 +61,13 @@ export const LessonItem: React.FC<LessonItemProps> = ({
60
61
  <div
61
62
  className={`flex items-center space-x-2 relative rounded-md p-3 ${
62
63
  isNew ? "border border-learnpack-blue appear" : "border border-gray-200"
63
- } ${hasDecimalPart(lesson.id.toString() || "0") ? "ml-6" : ""} ${
64
- lesson.locked ? "bg-yellow-50 border-yellow-300" : ""
65
- }`}
64
+ } ${hasDecimalPart(lesson.id.toString() || "0") ? "ml-6" : ""}`}
66
65
  >
67
66
  {isNew && <span className="yellow-ball"></span>}
68
67
 
69
68
  {mode === "teacher" && (
70
69
  <>
71
70
  <span className="index-circle">{cleanFloatString(lesson.id)}</span>
72
- {lesson.locked && (
73
- <span className="text-yellow-600 text-sm" title="Lesson is locked">
74
- 🔒
75
- </span>
76
- )}
77
71
  </>
78
72
  )}
79
73
 
@@ -111,7 +105,10 @@ export const LessonItem: React.FC<LessonItemProps> = ({
111
105
  }`}
112
106
  title={lesson.locked ? "Unlock lesson" : "Lock lesson"}
113
107
  >
114
- 🔒
108
+ <Icon
109
+ name={lesson.locked ? "Lock" : "Unlock"}
110
+ size={16}
111
+ />
115
112
  </button>
116
113
  <button
117
114
  onClick={() => {
@@ -130,7 +127,7 @@ export const LessonItem: React.FC<LessonItemProps> = ({
130
127
  disabled={lesson.locked}
131
128
  title={lesson.locked ? "Cannot edit locked lesson" : "Edit lesson"}
132
129
  >
133
- {SVGS.pen}
130
+ <Icon name="Edit" size={16} />
134
131
  </button>
135
132
  <button
136
133
  onClick={() => {
@@ -124,4 +124,4 @@
124
124
  "title": "We need to verify you are a human, wait a moment...",
125
125
  "error": "Error verifying you are a human, please try again, if the problem persists, use a different browser."
126
126
  }
127
- }
127
+ }
@@ -124,4 +124,4 @@
124
124
  "title": "Necesitamos verificar que eres un humano, espera un momento...",
125
125
  "error": "Error al verificar que eres un humano, por favor intenta de nuevo, si el problema persiste, usa un navegador diferente."
126
126
  }
127
- }
127
+ }