texteditorrefactor 0.0.5 → 0.0.12
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/dist/components/Atoms/AssistantImageModal/ImageModal.js +2 -1
- package/dist/components/Atoms/AssistantImageModal/ImageModal.js.map +1 -1
- package/dist/components/Molecules/AccordianPay4/Accordian.d.ts +2 -13
- package/dist/components/Molecules/AccordianPay4/Accordian.js +13 -14
- package/dist/components/Molecules/AccordianPay4/Accordian.js.map +1 -1
- package/dist/components/Molecules/AccordianPay4/Accordian.stories.js.map +1 -1
- package/dist/components/Molecules/ActivityBanner/ActivityBanner.js +1 -1
- package/dist/components/Molecules/ActivityBanner/ActivityBanner.js.map +1 -1
- package/dist/components/Molecules/DescriptiveAnswer/DescriptiveAnswerV1.js +15 -4
- package/dist/components/Molecules/DescriptiveAnswer/DescriptiveAnswerV1.js.map +1 -1
- package/dist/components/Molecules/RecapNode/ContentView.d.ts +2 -0
- package/dist/components/Molecules/RecapNode/ContentView.js +43 -0
- package/dist/components/Molecules/RecapNode/ContentView.js.map +1 -0
- package/dist/components/Molecules/RecapNode/FlashcardNode.d.ts +0 -0
- package/dist/components/Molecules/RecapNode/FlashcardNode.js +2 -0
- package/dist/components/Molecules/RecapNode/FlashcardNode.js.map +1 -0
- package/dist/components/Molecules/RecapNode/Node.d.ts +3 -0
- package/dist/components/Molecules/RecapNode/Node.js +60 -0
- package/dist/components/Molecules/RecapNode/Node.js.map +1 -0
- package/dist/components/Molecules/RecapNode/Node.stories.d.ts +10 -0
- package/dist/components/Molecules/RecapNode/Node.stories.js +117 -0
- package/dist/components/Molecules/RecapNode/Node.stories.js.map +1 -0
- package/dist/components/Molecules/RecapNode/Node.styles.d.ts +11 -0
- package/dist/components/Molecules/RecapNode/Node.styles.js +53 -0
- package/dist/components/Molecules/RecapNode/Node.styles.js.map +1 -0
- package/dist/components/Molecules/RecapNode/SectionView.d.ts +6 -0
- package/dist/components/Molecules/RecapNode/SectionView.js +90 -0
- package/dist/components/Molecules/RecapNode/SectionView.js.map +1 -0
- package/dist/components/Molecules/RecapNode/VideoView.d.ts +5 -0
- package/dist/components/Molecules/RecapNode/VideoView.js +23 -0
- package/dist/components/Molecules/RecapNode/VideoView.js.map +1 -0
- package/dist/components/Molecules/SmartLearn/SmartLearn.js +7 -4
- package/dist/components/Molecules/SmartLearn/SmartLearn.js.map +1 -1
- package/dist/components/Molecules/SmartLearn/SmartLearn.stories.js +2 -0
- package/dist/components/Molecules/SmartLearn/SmartLearn.stories.js.map +1 -1
- package/dist/components/Molecules/SmartLearn/types.d.ts +16 -1
- package/dist/components/Molecules/VideoView/VideoModal.js +2 -2
- package/dist/components/Molecules/VideoView/VideoModal.js.map +1 -1
- package/dist/components/Molecules/comprehension/ComprehensionLayout.js +9 -5
- package/dist/components/Molecules/comprehension/ComprehensionLayout.js.map +1 -1
- package/dist/components/Organisms/D3Graphs/Reactflow.d.ts +1 -0
- package/dist/components/Organisms/D3Graphs/Reactflow.js +244 -0
- package/dist/components/Organisms/D3Graphs/Reactflow.js.map +1 -0
- package/dist/components/Organisms/FlashCardNode/AccordionChildItem.d.ts +1 -0
- package/dist/components/Organisms/FlashCardNode/AccordionChildItem.js +37 -0
- package/dist/components/Organisms/FlashCardNode/AccordionChildItem.js.map +1 -0
- package/dist/components/Organisms/FlashCardNode/FlashCardNode.d.ts +3 -0
- package/dist/components/Organisms/FlashCardNode/FlashCardNode.js +50 -0
- package/dist/components/Organisms/FlashCardNode/FlashCardNode.js.map +1 -0
- package/dist/components/Organisms/FlashCardNode/FlashcardContainer.d.ts +26 -0
- package/dist/components/Organisms/FlashCardNode/FlashcardContainer.js +54 -0
- package/dist/components/Organisms/FlashCardNode/FlashcardContainer.js.map +1 -0
- package/dist/components/Organisms/FlashCardNode/FlashcardNode.stories.d.ts +15 -0
- package/dist/components/Organisms/FlashCardNode/FlashcardNode.stories.js +301 -0
- package/dist/components/Organisms/FlashCardNode/FlashcardNode.stories.js.map +1 -0
- package/dist/components/Organisms/FlashCardNode/IconBar.d.ts +5 -0
- package/dist/components/Organisms/FlashCardNode/IconBar.js +22 -0
- package/dist/components/Organisms/FlashCardNode/IconBar.js.map +1 -0
- package/dist/components/Organisms/FlashCardNode/MobileAccordionView.d.ts +9 -0
- package/dist/components/Organisms/FlashCardNode/MobileAccordionView.js +127 -0
- package/dist/components/Organisms/FlashCardNode/MobileAccordionView.js.map +1 -0
- package/dist/components/Organisms/FlashCardNode/NodeHandles.d.ts +3 -0
- package/dist/components/Organisms/FlashCardNode/NodeHandles.js +22 -0
- package/dist/components/Organisms/FlashCardNode/NodeHandles.js.map +1 -0
- package/dist/components/Organisms/RecapGraph/Example.stories.d.ts +3 -0
- package/dist/components/Organisms/RecapGraph/Example.stories.js +36 -0
- package/dist/components/Organisms/RecapGraph/Example.stories.js.map +1 -0
- package/dist/components/Organisms/RecapGraph/FlashCardNode.d.ts +3 -0
- package/dist/components/Organisms/RecapGraph/FlashCardNode.js +48 -0
- package/dist/components/Organisms/RecapGraph/FlashCardNode.js.map +1 -0
- package/dist/components/Organisms/RecapGraph/IconBar.d.ts +5 -0
- package/dist/components/Organisms/RecapGraph/IconBar.js +19 -0
- package/dist/components/Organisms/RecapGraph/IconBar.js.map +1 -0
- package/dist/components/Organisms/RecapGraph/NodeHandles.d.ts +4 -0
- package/dist/components/Organisms/RecapGraph/NodeHandles.js +21 -0
- package/dist/components/Organisms/RecapGraph/NodeHandles.js.map +1 -0
- package/dist/components/Organisms/RecapGraph/Reactgraphflow.d.ts +10 -0
- package/dist/components/Organisms/RecapGraph/Reactgraphflow.js +261 -0
- package/dist/components/Organisms/RecapGraph/Reactgraphflow.js.map +1 -0
- package/dist/components/Organisms/ReviewComponent/ChatPresenter.js +2 -2
- package/dist/components/Organisms/ReviewComponent/ChatPresenter.js.map +1 -1
- package/dist/components/Organisms/ReviewComponent/Review.d.ts +2 -1
- package/dist/components/Organisms/ReviewComponent/Review.js +4 -4
- package/dist/components/Organisms/ReviewComponent/Review.js.map +1 -1
- package/dist/components/Organisms/ReviewComponent/ReviewPresenter.d.ts +3 -1
- package/dist/components/Organisms/ReviewComponent/ReviewPresenter.js +4 -3
- package/dist/components/Organisms/ReviewComponent/ReviewPresenter.js.map +1 -1
- package/dist/components/Organisms/StudentEditor/StudentEditor.stories.js +2 -2
- package/dist/components/Organisms/StudentEditor/StudentEditor.stories.js.map +1 -1
- package/dist/components/Organisms/StudentEditor/components/EditorComponent.js +4 -3
- package/dist/components/Organisms/StudentEditor/components/EditorComponent.js.map +1 -1
- package/dist/components/Organisms/StudentEditor/components/TextEditor.js +30 -9
- package/dist/components/Organisms/StudentEditor/components/TextEditor.js.map +1 -1
- package/dist/components/Organisms/TableComponent/TableComponent.js +1 -1
- package/dist/components/Organisms/TableComponent/TableComponent.js.map +1 -1
- package/dist/utils/RecapData.d.ts +213 -0
- package/dist/utils/RecapData.js +791 -0
- package/dist/utils/RecapData.js.map +1 -0
- package/dist/utils/contentUtils.d.ts +41 -0
- package/dist/utils/contentUtils.js +60 -0
- package/dist/utils/contentUtils.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
+
const react_1 = __importStar(require("react"));
|
|
28
|
+
const reactflow_1 = __importStar(require("reactflow"));
|
|
29
|
+
require("reactflow/dist/style.css");
|
|
30
|
+
const RecapData_1 = require("../../../utils/RecapData");
|
|
31
|
+
const colors = [
|
|
32
|
+
'#FFD700', '#9B59B6', '#76D7C4', '#FF6B6B', '#4ECDC4',
|
|
33
|
+
'#45B7D1', '#FFA07A', '#98D8C8', '#F7DC6F', '#BB8FCE',
|
|
34
|
+
'#85C1E2', '#F8B88B', '#A9DFBF', '#F5B7B1', '#D7BDE2'
|
|
35
|
+
];
|
|
36
|
+
const getRandomColor = (id) => {
|
|
37
|
+
let hash = 0;
|
|
38
|
+
for (let i = 0; i < id.length; i++) {
|
|
39
|
+
hash = ((hash << 5) - hash) + id.charCodeAt(i);
|
|
40
|
+
hash = hash & hash;
|
|
41
|
+
}
|
|
42
|
+
return colors[Math.abs(hash) % colors.length];
|
|
43
|
+
};
|
|
44
|
+
const getNodeStyle = (depth, color) => {
|
|
45
|
+
const sizes = {
|
|
46
|
+
0: { width: 220, height: 70, fontSize: 13 },
|
|
47
|
+
1: { width: 200, height: 60, fontSize: 12 },
|
|
48
|
+
2: { width: 180, height: 55, fontSize: 11 },
|
|
49
|
+
3: { width: 160, height: 50, fontSize: 10 },
|
|
50
|
+
4: { width: 140, height: 45, fontSize: 9 },
|
|
51
|
+
};
|
|
52
|
+
const size = sizes[Math.min(depth, 4)];
|
|
53
|
+
return {
|
|
54
|
+
background: color,
|
|
55
|
+
border: `2px solid ${color}`,
|
|
56
|
+
borderRadius: '8px',
|
|
57
|
+
padding: '8px',
|
|
58
|
+
fontSize: `${size.fontSize}px`,
|
|
59
|
+
fontWeight: 'bold',
|
|
60
|
+
color: depth === 0 ? '#000' : '#fff',
|
|
61
|
+
textAlign: 'center',
|
|
62
|
+
display: 'flex',
|
|
63
|
+
alignItems: 'center',
|
|
64
|
+
justifyContent: 'center',
|
|
65
|
+
width: `${size.width}px`,
|
|
66
|
+
height: `${size.height}px`,
|
|
67
|
+
overflow: 'hidden',
|
|
68
|
+
textOverflow: 'ellipsis',
|
|
69
|
+
whiteSpace: 'pre-wrap',
|
|
70
|
+
wordBreak: 'break-word',
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
const truncateText = (text, maxLength = 40) => {
|
|
74
|
+
return text.length > maxLength ? text.substring(0, maxLength) + '...' : text;
|
|
75
|
+
};
|
|
76
|
+
// Function to merge content by ID
|
|
77
|
+
const mergeContentByID = (contentArrays) => {
|
|
78
|
+
const mergedContent = {};
|
|
79
|
+
contentArrays.forEach((contentObj) => {
|
|
80
|
+
Object.entries(contentObj).forEach(([id, content]) => {
|
|
81
|
+
console.log(`Merging content for ID: ${id}`, content);
|
|
82
|
+
if (!mergedContent[id]) {
|
|
83
|
+
mergedContent[id] = {
|
|
84
|
+
videos: [],
|
|
85
|
+
recap: null,
|
|
86
|
+
sections: {},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
// Handle array content (videos)
|
|
90
|
+
if (Array.isArray(content)) {
|
|
91
|
+
console.log(`Adding videos to ${id}:`, content);
|
|
92
|
+
mergedContent[id].videos.push(...content);
|
|
93
|
+
}
|
|
94
|
+
// Handle object content (recap, sections)
|
|
95
|
+
else if (typeof content === 'object' && content !== null) {
|
|
96
|
+
if (content.sections) {
|
|
97
|
+
console.log(`Adding sections to ${id}:`, content.sections);
|
|
98
|
+
mergedContent[id].sections = {
|
|
99
|
+
...mergedContent[id].sections,
|
|
100
|
+
...content.sections,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
console.log(`Adding recap/other content to ${id}:`, content);
|
|
105
|
+
mergedContent[id].recap = content;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
console.log(`Merged state for ${id}:`, mergedContent[id]);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
return mergedContent;
|
|
112
|
+
};
|
|
113
|
+
const buildNodesAndEdges = (data, contentData = null) => {
|
|
114
|
+
const nodes = [];
|
|
115
|
+
const edges = [];
|
|
116
|
+
const nodeColorMap = {};
|
|
117
|
+
const nodeContentMap = {};
|
|
118
|
+
// Merge content if provided
|
|
119
|
+
let mergedContent = {};
|
|
120
|
+
if (contentData) {
|
|
121
|
+
mergedContent = mergeContentByID(contentData);
|
|
122
|
+
console.log('Final merged content:', mergedContent);
|
|
123
|
+
}
|
|
124
|
+
// First pass: collect all nodes and their depths
|
|
125
|
+
const nodeDepthMap = {};
|
|
126
|
+
const childrenCountMap = {};
|
|
127
|
+
const traverse = (node, depth = 0) => {
|
|
128
|
+
const nodeId = node._id;
|
|
129
|
+
const nodeColor = getRandomColor(nodeId);
|
|
130
|
+
nodeColorMap[nodeId] = nodeColor;
|
|
131
|
+
nodeDepthMap[nodeId] = depth;
|
|
132
|
+
// Check if this node has associated content
|
|
133
|
+
if (mergedContent[nodeId]) {
|
|
134
|
+
console.log(`Found content for node ID: ${nodeId}`, mergedContent[nodeId]);
|
|
135
|
+
nodeContentMap[nodeId] = mergedContent[nodeId];
|
|
136
|
+
}
|
|
137
|
+
nodes.push({
|
|
138
|
+
id: nodeId,
|
|
139
|
+
data: { label: truncateText(node.name) },
|
|
140
|
+
position: { x: 0, y: 0 },
|
|
141
|
+
depth,
|
|
142
|
+
color: nodeColor,
|
|
143
|
+
hasContent: !!mergedContent[nodeId],
|
|
144
|
+
});
|
|
145
|
+
if (node.children && node.children.length > 0) {
|
|
146
|
+
node.children.forEach((child) => {
|
|
147
|
+
edges.push({
|
|
148
|
+
id: `${nodeId}-${child._id}`,
|
|
149
|
+
source: nodeId,
|
|
150
|
+
target: child._id,
|
|
151
|
+
type: 'smoothstep',
|
|
152
|
+
});
|
|
153
|
+
traverse(child, depth + 1);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
if (data && data.data && data.data.length > 0) {
|
|
158
|
+
traverse(data.data[0]);
|
|
159
|
+
}
|
|
160
|
+
// Second pass: calculate positions using improved spacing algorithm
|
|
161
|
+
const levelMap = {};
|
|
162
|
+
nodes.forEach((node) => {
|
|
163
|
+
const depth = nodeDepthMap[node.id];
|
|
164
|
+
if (!levelMap[depth]) {
|
|
165
|
+
levelMap[depth] = [];
|
|
166
|
+
}
|
|
167
|
+
levelMap[depth].push(node.id);
|
|
168
|
+
});
|
|
169
|
+
// Calculate proper spacing based on tree structure
|
|
170
|
+
const levelHeight = 200;
|
|
171
|
+
let maxNodesInLevel = 0;
|
|
172
|
+
Object.keys(levelMap).forEach((level) => {
|
|
173
|
+
maxNodesInLevel = Math.max(maxNodesInLevel, levelMap[level].length);
|
|
174
|
+
});
|
|
175
|
+
const baseHorizontalSpacing = Math.max(320, 250 + (maxNodesInLevel * 20));
|
|
176
|
+
// Position nodes level by level
|
|
177
|
+
Object.keys(levelMap).forEach((level) => {
|
|
178
|
+
const nodesInLevel = levelMap[level];
|
|
179
|
+
const levelIndex = parseInt(level);
|
|
180
|
+
// Calculate spacing for this level
|
|
181
|
+
const totalWidth = (nodesInLevel.length - 1) * baseHorizontalSpacing;
|
|
182
|
+
const startX = -totalWidth / 2;
|
|
183
|
+
nodesInLevel.forEach((nodeId, index) => {
|
|
184
|
+
const node = nodes.find((n) => n.id === nodeId);
|
|
185
|
+
if (node) {
|
|
186
|
+
node.position = {
|
|
187
|
+
x: startX + index * baseHorizontalSpacing,
|
|
188
|
+
y: levelIndex * levelHeight,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
// Build final edges with styling
|
|
194
|
+
const finalEdges = edges.map((edge) => ({
|
|
195
|
+
...edge,
|
|
196
|
+
style: {
|
|
197
|
+
stroke: nodeColorMap[edge.source],
|
|
198
|
+
strokeWidth: 2,
|
|
199
|
+
},
|
|
200
|
+
}));
|
|
201
|
+
// Build final nodes with styling
|
|
202
|
+
const finalNodes = nodes.map((node) => ({
|
|
203
|
+
id: node.id,
|
|
204
|
+
data: { label: node.data.label },
|
|
205
|
+
position: node.position,
|
|
206
|
+
style: getNodeStyle(node.depth, node.color),
|
|
207
|
+
}));
|
|
208
|
+
return { nodes: finalNodes, edges: finalEdges };
|
|
209
|
+
};
|
|
210
|
+
// Sample content arrays
|
|
211
|
+
const contentArrays = [
|
|
212
|
+
{
|
|
213
|
+
"640ae1d4db321523ed862422": ["video1.mp4", "video2.mp4"],
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"640ae1d4db321523ed862422": {
|
|
217
|
+
sections: {
|
|
218
|
+
"summary": [
|
|
219
|
+
{ "title": "Introduction", "description": "Overview" }
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"640ae29fdb321523ed86242a": ["video3.mp4", "video4.mp4"],
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"640ae20fdb321523ed862426": {
|
|
229
|
+
sections: {
|
|
230
|
+
"detailed": [
|
|
231
|
+
{ "title": "Types", "description": "Resource types explained" }
|
|
232
|
+
]
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
}
|
|
236
|
+
];
|
|
237
|
+
function KnowledgeCellFlowchart() {
|
|
238
|
+
const { nodes: initialNodes, edges: initialEdges } = (0, react_1.useMemo)(() => buildNodesAndEdges(RecapData_1.jsonData, contentArrays), []);
|
|
239
|
+
const [nodes] = (0, reactflow_1.useNodesState)(initialNodes);
|
|
240
|
+
const [edges] = (0, reactflow_1.useEdgesState)(initialEdges);
|
|
241
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%', height: '100vh' }, children: (0, jsx_runtime_1.jsx)(reactflow_1.default, { nodes: nodes, edges: edges, fitView: true }) }));
|
|
242
|
+
}
|
|
243
|
+
exports.default = KnowledgeCellFlowchart;
|
|
244
|
+
//# sourceMappingURL=Reactflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Reactflow.js","sourceRoot":"","sources":["../../../../src/components/Organisms/D3Graphs/Reactflow.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
+
const react_1 = __importStar(require("react"));
|
|
28
|
+
const icons_1 = require("@chakra-ui/icons");
|
|
29
|
+
const AccordionChildItem = (0, react_1.memo)(({ child, parentColor, index, isMobile }) => {
|
|
30
|
+
const [childExpanded, setChildExpanded] = (0, react_1.useState)(false);
|
|
31
|
+
return ((0, jsx_runtime_1.jsxs)(Box, { mb: "8px", pl: isMobile ? "12px" : "8px", borderLeft: `2px solid ${parentColor}40`, animation: "slideDown 0.3s ease-out", children: [(0, jsx_runtime_1.jsxs)(Flex, { align: "center", justify: "space-between", p: isMobile ? "12px" : "8px", bg: "#f8f8f8", borderRadius: "4px", cursor: "pointer", transition: "all 0.2s ease", minH: isMobile ? "44px" : "auto", children: [(0, jsx_runtime_1.jsx)(Text, { fontSize: isMobile ? "13px" : "12px", fontWeight: "500", flex: "1", color: "#333", children: child.label }), child.hasChildren && ((0, jsx_runtime_1.jsx)(Flex, { as: "button", onClick: (e) => {
|
|
32
|
+
e.stopPropagation();
|
|
33
|
+
setChildExpanded(!childExpanded);
|
|
34
|
+
}, bg: "none", border: "none", p: isMobile ? "8px" : "2px", cursor: "pointer", align: "center", color: "#666", minW: isMobile ? "44px" : "auto", minH: isMobile ? "44px" : "auto", justify: "center", children: childExpanded ? ((0, jsx_runtime_1.jsx)(icons_1.ChevronUpIcon, { boxSize: isMobile ? 5 : 3.5 })) : ((0, jsx_runtime_1.jsx)(icons_1.ChevronDownIcon, { boxSize: isMobile ? 5 : 3.5 })) }))] }), child.hasChildren && childExpanded && ((0, jsx_runtime_1.jsx)(Box, { mt: "6px", pl: isMobile ? "12px" : "8px", borderLeft: `2px solid ${parentColor}20`, children: (0, jsx_runtime_1.jsxs)(Flex, { fontSize: isMobile ? "12px" : "11px", p: isMobile ? "12px" : "6px 8px", bg: "#fafafa", borderRadius: "3px", color: "#666", minH: isMobile ? "44px" : "auto", align: "center", children: [child.childCount, " nested item(s)"] }) }))] }));
|
|
35
|
+
});
|
|
36
|
+
AccordionChildItem.displayName = 'AccordionChildItem';
|
|
37
|
+
//# sourceMappingURL=AccordionChildItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionChildItem.js","sourceRoot":"","sources":["../../../../src/components/Organisms/FlashCardNode/AccordionChildItem.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
30
|
+
const react_1 = __importStar(require("react"));
|
|
31
|
+
const NodeHandles_1 = require("./NodeHandles");
|
|
32
|
+
const contentUtils_1 = require("../../../utils/contentUtils");
|
|
33
|
+
const FlashcardContainer_1 = __importDefault(require("./FlashcardContainer"));
|
|
34
|
+
const FlashcardNode = (0, react_1.memo)(({ data, rootNodeId, onContentUpdate, isAdmin, onIconDataUpdate, isMobile, }) => {
|
|
35
|
+
const [currentVideoIdx, setCurrentVideoIdx] = (0, react_1.useState)(0);
|
|
36
|
+
const [isExpanded, setIsExpanded] = (0, react_1.useState)(false);
|
|
37
|
+
const { hasContent, level, hasMultipleChildren, color, label, icons = [], content, bgColor, colorKey, } = data;
|
|
38
|
+
const availableTypes = (0, contentUtils_1.getAvailableContentTypes)(content);
|
|
39
|
+
const [displayType, setDisplayType] = (0, react_1.useState)(null);
|
|
40
|
+
const availableIcons = icons.filter((icon) => availableTypes.includes(icon.type));
|
|
41
|
+
const handleIconClick = (iconType) => {
|
|
42
|
+
const newExpanded = displayType === iconType ? !isExpanded : true;
|
|
43
|
+
setDisplayType(iconType);
|
|
44
|
+
setIsExpanded(newExpanded);
|
|
45
|
+
};
|
|
46
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: { width: "390px" }, children: [(0, jsx_runtime_1.jsx)(NodeHandles_1.NodeHandles, { level: level, hasMultipleChildren: hasMultipleChildren }), (0, jsx_runtime_1.jsx)(FlashcardContainer_1.default, { label: label, color: color, hasContent: hasContent, isExpanded: isExpanded, availableIcons: availableIcons, displayType: displayType, handleIconClick: handleIconClick, content: content, currentVideoIdx: currentVideoIdx, setCurrentVideoIdx: setCurrentVideoIdx, isAdmin: isAdmin, nodeId: data.id, rootNodeId: rootNodeId, onContentUpdate: onContentUpdate, onIconDataUpdate: onIconDataUpdate, level: level, bgColor: bgColor, colorKey: colorKey })] }));
|
|
47
|
+
});
|
|
48
|
+
FlashcardNode.displayName = "FlashcardNode";
|
|
49
|
+
exports.default = FlashcardNode;
|
|
50
|
+
//# sourceMappingURL=FlashCardNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlashCardNode.js","sourceRoot":"","sources":["../../../../src/components/Organisms/FlashCardNode/FlashCardNode.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAC9C,+CAA4C;AAC5C,8DAAuE;AACvE,8EAAsD;AAEtD,MAAM,aAAa,GAAG,IAAA,YAAI,EACxB,CAAC,EACC,IAAI,EACJ,UAAU,EACV,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,EACJ,UAAU,EACV,KAAK,EACL,mBAAmB,EACnB,KAAK,EACL,KAAK,EACL,KAAK,GAAG,EAAE,EACV,OAAO,EACP,OAAO,EACP,QAAQ,GACT,GAAG,IAAI,CAAC;IAET,MAAM,cAAc,GAAG,IAAA,uCAAwB,EAAC,OAAO,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAErD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACnC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,EAAE;QACnC,MAAM,WAAW,GAAG,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzB,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CACL,iCAAK,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAC5B,uBAAC,yBAAW,IAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,GAAI,EAEvE,uBAAC,4BAAkB,IACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GAClB,IACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC;AAE5C,kBAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default FlashcardContainer;
|
|
2
|
+
declare function FlashcardContainer({ label, color, hasContent, isExpanded, isNodeExpanded, isContentExpanded, availableIcons, displayType, handleIconClick, content, currentVideoIdx, setCurrentVideoIdx, isAdmin, onContentUpdate, nodeId, rootNodeId, onIconDataUpdate, isMobile, hasChildren, onChevronClick, level, colorKey, bgColor, }: {
|
|
3
|
+
label: any;
|
|
4
|
+
color: any;
|
|
5
|
+
hasContent: any;
|
|
6
|
+
isExpanded: any;
|
|
7
|
+
isNodeExpanded: any;
|
|
8
|
+
isContentExpanded: any;
|
|
9
|
+
availableIcons: any;
|
|
10
|
+
displayType: any;
|
|
11
|
+
handleIconClick: any;
|
|
12
|
+
content: any;
|
|
13
|
+
currentVideoIdx: any;
|
|
14
|
+
setCurrentVideoIdx: any;
|
|
15
|
+
isAdmin: any;
|
|
16
|
+
onContentUpdate: any;
|
|
17
|
+
nodeId: any;
|
|
18
|
+
rootNodeId: any;
|
|
19
|
+
onIconDataUpdate: any;
|
|
20
|
+
isMobile: any;
|
|
21
|
+
hasChildren: any;
|
|
22
|
+
onChevronClick: any;
|
|
23
|
+
level: any;
|
|
24
|
+
colorKey: any;
|
|
25
|
+
bgColor: any;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const react_2 = require("@chakra-ui/react");
|
|
9
|
+
const IconBar_1 = require("./IconBar");
|
|
10
|
+
const ContentView_1 = require("../../Molecules/RecapNode/ContentView");
|
|
11
|
+
const icons_1 = require("@chakra-ui/icons");
|
|
12
|
+
const FlashcardContainer = ({ label, color, hasContent, isExpanded, isNodeExpanded, isContentExpanded, availableIcons, displayType, handleIconClick, content, currentVideoIdx, setCurrentVideoIdx, isAdmin, onContentUpdate, nodeId, rootNodeId, onIconDataUpdate, isMobile, hasChildren, onChevronClick, level, colorKey, bgColor, }) => {
|
|
13
|
+
const handleAddClick = () => {
|
|
14
|
+
onContentUpdate({
|
|
15
|
+
contentid: content?.contentid,
|
|
16
|
+
topicId: rootNodeId,
|
|
17
|
+
contentCellId: nodeId,
|
|
18
|
+
data: content,
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
const lightenedBg = bgColor;
|
|
22
|
+
// Determine if content should be shown
|
|
23
|
+
const shouldShowContent = isMobile ? isContentExpanded : isExpanded;
|
|
24
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { p: "4px", bg: lightenedBg, borderRadius: "4px", border: `1px solid ${bgColor}`, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { bg: color, p: "8px 12px", align: "center", borderRadius: "4px", justify: "space-between", gap: "12px", children: [(0, jsx_runtime_1.jsx)(react_2.Box, { w: "100%", children: (0, jsx_runtime_1.jsx)(react_2.Text, { fontFamily: "Inter", fontWeight: "600", fontStyle: "semibold" // "Semi Bold" is controlled by fontWeight, not fontStyle
|
|
25
|
+
, fontSize: "14px", lineHeight: "150%", letterSpacing: "-0.019em" // -1.9% converted to em
|
|
26
|
+
, children: label }) }), hasContent && ((0, jsx_runtime_1.jsx)(IconBar_1.IconBar, { icons: availableIcons, displayType: displayType, onIconClick: handleIconClick, content: content })), isAdmin && ((0, jsx_runtime_1.jsx)(react_2.Button, { onClick: handleAddClick, sx: {
|
|
27
|
+
width: "28px",
|
|
28
|
+
height: "28px",
|
|
29
|
+
minWidth: "28px",
|
|
30
|
+
borderRadius: "50%",
|
|
31
|
+
background: "linear-gradient(135deg, #0f62fe, #0043ce)",
|
|
32
|
+
color: "#fff",
|
|
33
|
+
fontSize: "18px",
|
|
34
|
+
fontWeight: "600",
|
|
35
|
+
display: "flex",
|
|
36
|
+
alignItems: "center",
|
|
37
|
+
justifyContent: "center",
|
|
38
|
+
boxShadow: "0 4px 10px rgba(15, 98, 254, 0.35)",
|
|
39
|
+
transition: "all 0.2s ease-in-out",
|
|
40
|
+
"&:hover": {
|
|
41
|
+
background: "linear-gradient(135deg, #0043ce, #0f62fe)",
|
|
42
|
+
transform: "scale(1.05)",
|
|
43
|
+
boxShadow: "0 6px 16px rgba(15, 98, 254, 0.45)",
|
|
44
|
+
},
|
|
45
|
+
"&:active": {
|
|
46
|
+
transform: "scale(0.95)",
|
|
47
|
+
},
|
|
48
|
+
}, children: "+" })), isMobile && hasChildren && ((0, jsx_runtime_1.jsx)(react_2.Box, { cursor: "pointer", onClick: onChevronClick, ml: "4px", display: "flex", alignItems: "center", children: isNodeExpanded ? ((0, jsx_runtime_1.jsx)(icons_1.ChevronUpIcon, { w: "25px", h: "25px", color: "white" })) : ((0, jsx_runtime_1.jsx)(icons_1.ChevronDownIcon, { w: "25px", h: "25px", color: "white" })) }))] }), hasContent && shouldShowContent && ((0, jsx_runtime_1.jsx)(react_2.Box, { p: content.recap &&
|
|
49
|
+
["definitions", "formula", "equations"].includes(displayType)
|
|
50
|
+
? "0px"
|
|
51
|
+
: "12px", fontSize: "13px", lineHeight: "1.6", borderRadius: "4px", bg: "#fff", mt: "8px", maxWidth: isMobile ? "100%" : "390px", children: (0, jsx_runtime_1.jsx)(ContentView_1.ContentView, { displayType: displayType, content: content, currentVideoIdx: currentVideoIdx, setCurrentVideoIdx: setCurrentVideoIdx, isAdmin: isAdmin, nodeId: nodeId, rootNodeId: rootNodeId, onIconDataUpdate: onIconDataUpdate, colorKey: colorKey, isMobile: isMobile }) }))] }));
|
|
52
|
+
};
|
|
53
|
+
exports.default = FlashcardContainer;
|
|
54
|
+
//# sourceMappingURL=FlashcardContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlashcardContainer.js","sourceRoot":"","sources":["../../../../src/components/Organisms/FlashCardNode/FlashcardContainer.jsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4CAA2D;AAC3D,uCAAoC;AACpC,uEAAoE;AACpE,4CAAkE;AAIlE,MAAM,kBAAkB,GAAG,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,eAAe,EACf,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,EAAE;IACH,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,eAAe,CAAC;YACd,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE,MAAM;YACrB,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC;IAE5B,uCAAuC;IACvC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC;IAEpE,OAAO,CACL,wBAAC,WAAG,IACF,CAAC,EAAC,KAAK,EACP,EAAE,EAAE,WAAW,EACf,YAAY,EAAC,KAAK,EAClB,MAAM,EAAE,aAAa,OAAO,EAAE,aAG9B,wBAAC,YAAI,IACH,EAAE,EAAE,KAAK,EACT,CAAC,EAAC,UAAU,EACZ,KAAK,EAAC,QAAQ,EACd,YAAY,EAAC,KAAK,EAClB,OAAO,EAAC,eAAe,EACvB,GAAG,EAAC,MAAM,aAEV,uBAAC,WAAG,IAAC,CAAC,EAAC,MAAM,YACX,uBAAC,YAAI,IACH,UAAU,EAAC,OAAO,EAClB,UAAU,EAAC,KAAK,EAChB,SAAS,EAAC,UAAU,CAAC,yDAAyD;8BAC9E,QAAQ,EAAC,MAAM,EACf,UAAU,EAAC,MAAM,EACjB,aAAa,EAAC,UAAU,CAAC,wBAAwB;wCAEhD,KAAK,GACD,GACH,EAEL,UAAU,IAAI,CACb,uBAAC,iBAAO,IACN,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,OAAO,GAChB,CACH,EACA,OAAO,IAAI,CACV,uBAAC,cAAM,IACL,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE;4BACF,KAAK,EAAE,MAAM;4BACb,MAAM,EAAE,MAAM;4BACd,QAAQ,EAAE,MAAM;4BAChB,YAAY,EAAE,KAAK;4BACnB,UAAU,EAAE,2CAA2C;4BACvD,KAAK,EAAE,MAAM;4BACb,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,KAAK;4BACjB,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,cAAc,EAAE,QAAQ;4BACxB,SAAS,EAAE,oCAAoC;4BAC/C,UAAU,EAAE,sBAAsB;4BAClC,SAAS,EAAE;gCACT,UAAU,EAAE,2CAA2C;gCACvD,SAAS,EAAE,aAAa;gCACxB,SAAS,EAAE,oCAAoC;6BAChD;4BACD,UAAU,EAAE;gCACV,SAAS,EAAE,aAAa;6BACzB;yBACF,kBAGM,CACV,EAGA,QAAQ,IAAI,WAAW,IAAI,CAC1B,uBAAC,WAAG,IACF,MAAM,EAAC,SAAS,EAChB,OAAO,EAAE,cAAc,EACvB,EAAE,EAAC,KAAK,EACR,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,YAElB,cAAc,CAAC,CAAC,CAAC,CAChB,uBAAC,qBAAa,IAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAG,CAClD,CAAC,CAAC,CAAC,CACF,uBAAC,uBAAe,IAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAG,CACpD,GACG,CACP,IACI,EAGN,UAAU,IAAI,iBAAiB,IAAI,CAClC,uBAAC,WAAG,IACF,CAAC,EACC,OAAO,CAAC,KAAK;oBACb,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC3D,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,MAAM,EAEZ,QAAQ,EAAC,MAAM,EACf,UAAU,EAAC,KAAK,EAChB,YAAY,EAAC,KAAK,EAClB,EAAE,EAAC,MAAM,EACT,EAAE,EAAC,KAAK,EACR,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAErC,uBAAC,yBAAW,IACV,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import FlashcardNode from './FlashCardNode';
|
|
3
|
+
import 'reactflow/dist/style.css';
|
|
4
|
+
declare const meta: Meta<typeof FlashcardNode>;
|
|
5
|
+
export default meta;
|
|
6
|
+
type Story = StoryObj<typeof FlashcardNode>;
|
|
7
|
+
export declare const BasicNode: Story;
|
|
8
|
+
export declare const RootWithVideos: Story;
|
|
9
|
+
export declare const Level1WithDefinitions: Story;
|
|
10
|
+
export declare const Level2WithFormulas: Story;
|
|
11
|
+
export declare const Level2WithEquations: Story;
|
|
12
|
+
export declare const AllContentTypes: Story;
|
|
13
|
+
export declare const LiteratureNode: Story;
|
|
14
|
+
export declare const MultipleChildrenNode: Story;
|
|
15
|
+
export declare const EmptyContent: Story;
|