@sp-days-framework/docusaurus-plugin-interactive-tasks 1.0.3 → 1.0.4
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/lib/index.d.ts +2 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/plugin/remarkTaskDirective.d.ts +3 -1
- package/lib/plugin/remarkTaskDirective.d.ts.map +1 -1
- package/lib/plugin/remarkTaskDirective.js +48 -14
- package/lib/plugin/remarkTaskDirective.js.map +1 -1
- package/lib/theme/Task/Text/styles.module.css +0 -5
- package/lib/theme/Task/index.d.ts +2 -1
- package/lib/theme/Task/index.d.ts.map +1 -1
- package/lib/theme/Task/index.js +68 -94
- package/lib/theme/Task/index.js.map +1 -1
- package/lib/theme/Task/styles.module.css +91 -163
- package/lib/theme/TaskExample/index.d.ts +2 -1
- package/lib/theme/TaskExample/index.d.ts.map +1 -1
- package/lib/theme/TaskExample/index.js +67 -88
- package/lib/theme/TaskExample/index.js.map +1 -1
- package/lib/theme/TaskPlaceholder/index.d.ts.map +1 -1
- package/lib/theme/TaskPlaceholder/index.js +66 -92
- package/lib/theme/TaskPlaceholder/index.js.map +1 -1
- package/lib/theme/TaskProgressionOverview/styles.module.css +2 -2
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -3,12 +3,10 @@
|
|
|
3
3
|
* A plugin providing interactive task components with progress tracking
|
|
4
4
|
*/
|
|
5
5
|
import type { LoadContext, Plugin } from "@docusaurus/types";
|
|
6
|
-
export
|
|
7
|
-
}
|
|
8
|
-
export default function interactiveTasksPlugin(context: LoadContext, options: PluginOptions): Plugin;
|
|
6
|
+
export default function interactiveTasksPlugin(context: LoadContext): Plugin;
|
|
9
7
|
export declare function getSwizzleComponentList(): string[];
|
|
10
8
|
export { validateThemeConfig } from "./validateThemeConfig";
|
|
11
9
|
export { useDocTaskStats, useCategoryTaskStats } from "./utils/useDocTaskStats";
|
|
12
10
|
export type { DocTaskStats } from "./utils/useDocTaskStats";
|
|
13
|
-
export { remarkTaskDirective } from "./plugin/remarkTaskDirective";
|
|
11
|
+
export { remarkTaskDirective, type PluginOptions } from "./plugin/remarkTaskDirective";
|
|
14
12
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAK7D,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAK7D,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,OAAO,EAAE,WAAW,GACnB,MAAM,CAoCR;AAGD,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAChF,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -12,7 +12,7 @@ exports.default = interactiveTasksPlugin;
|
|
|
12
12
|
exports.getSwizzleComponentList = getSwizzleComponentList;
|
|
13
13
|
const path_1 = __importDefault(require("path"));
|
|
14
14
|
const TaskRegistryPlugin_1 = require("./plugin/TaskRegistryPlugin");
|
|
15
|
-
function interactiveTasksPlugin(context
|
|
15
|
+
function interactiveTasksPlugin(context) {
|
|
16
16
|
const { siteDir } = context;
|
|
17
17
|
return {
|
|
18
18
|
name: "@sp-days-framework/docusaurus-plugin-interactive-tasks",
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAQH,yCAsCC;AAGD,0DAEC;AAjDD,gDAAwB;AAGxB,oEAAiE;AAGjE,SAAwB,sBAAsB,CAC5C,OAAoB;IAEpB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,OAAO;QACL,IAAI,EAAE,wDAAwD;QAE9D,YAAY;YACV,OAAO,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,sBAAsB;YACpB,OAAO,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC;QAED,gBAAgB;YACd,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,gBAAgB,CAAC,MAAqB,EAAE,QAAiB;YACvD,MAAM,OAAO,GAAU,EAAE,CAAC;YAE1B,0DAA0D;YAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,IAAI,uCAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,OAAO;gBACL,OAAO;aACR,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,iCAAiC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,SAAgB,uBAAuB;IACrC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAE5B,6CAA6C;AAC7C,2DAAgF;AAAvE,kHAAA,eAAe,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAE9C,uFAAuF;AACvF,yFAAyF;AAEzF,6EAA6E;AAC7E,oEAAuF;AAA9E,0HAAA,mBAAmB,OAAA"}
|
|
@@ -18,8 +18,10 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import type { Plugin } from "unified";
|
|
20
20
|
import type { Root } from "mdast";
|
|
21
|
-
interface PluginOptions {
|
|
21
|
+
export interface PluginOptions {
|
|
22
22
|
filePath?: string;
|
|
23
|
+
tocEnabled?: boolean;
|
|
24
|
+
tocHeadingLevel?: 2 | 3 | 4 | 5 | 6;
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
27
|
* Remark plugin to transform task directives
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remarkTaskDirective.d.ts","sourceRoot":"","sources":["../../src/plugin/remarkTaskDirective.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,OAAO,CAAC;AAWnD,
|
|
1
|
+
{"version":3,"file":"remarkTaskDirective.d.ts","sourceRoot":"","sources":["../../src/plugin/remarkTaskDirective.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,OAAO,CAAC;AAWnD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrC;AA2SD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAmG9D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -111,8 +111,9 @@ function warn(message, filePath, position) {
|
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
113
|
* Transform a task or task-example directive into JSX components
|
|
114
|
+
* Returns an array containing [headingNode, taskJSX] for TOC integration
|
|
114
115
|
*/
|
|
115
|
-
function transformTaskDirective(node, filePath, isExample = false) {
|
|
116
|
+
function transformTaskDirective(node, filePath, isExample = false, taskNumber, tocEnabled = true, tocHeadingLevel = 2) {
|
|
116
117
|
// Extract task name from label
|
|
117
118
|
// In remark-directive, :::task[Name] stores "Name" as the first paragraph child with data.directiveLabel: true
|
|
118
119
|
let taskName = "";
|
|
@@ -138,10 +139,12 @@ function transformTaskDirective(node, filePath, isExample = false) {
|
|
|
138
139
|
if (!taskName) {
|
|
139
140
|
warn(`Task is missing a name. Usage: ::::task[Task Name] (note: 4 colons for tasks). This task will be hidden.`, filePath, node.position);
|
|
140
141
|
// Return empty paragraph to hide the task
|
|
141
|
-
return
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
return [
|
|
143
|
+
{
|
|
144
|
+
type: "paragraph",
|
|
145
|
+
children: [],
|
|
146
|
+
},
|
|
147
|
+
];
|
|
145
148
|
}
|
|
146
149
|
// Separate children into text content, hints, and solutions
|
|
147
150
|
const textContent = [];
|
|
@@ -209,9 +212,30 @@ function transformTaskDirective(node, filePath, isExample = false) {
|
|
|
209
212
|
const solutionChildren = solutions[0].children || [];
|
|
210
213
|
taskChildren.push(createJSXElement("Solution", [], solutionChildren));
|
|
211
214
|
}
|
|
215
|
+
// Create a heading node for TOC integration (if enabled)
|
|
216
|
+
// The headings plugin will automatically assign an ID to this node
|
|
217
|
+
// Include task number prefix in heading text for TOC display
|
|
218
|
+
const nodes = [];
|
|
219
|
+
if (tocEnabled) {
|
|
220
|
+
const headingPrefix = isExample
|
|
221
|
+
? (taskNumber !== undefined ? `Example ${taskNumber}: ` : "Example: ")
|
|
222
|
+
: (taskNumber !== undefined ? `Task ${taskNumber}: ` : "Task: ");
|
|
223
|
+
const headingNode = {
|
|
224
|
+
type: "heading",
|
|
225
|
+
depth: tocHeadingLevel, // Configurable heading level for TOC
|
|
226
|
+
children: [{ type: "text", value: `${headingPrefix}${taskName}` }],
|
|
227
|
+
data: {
|
|
228
|
+
// The headings plugin will populate this with hProperties.id
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
nodes.push(headingNode);
|
|
232
|
+
}
|
|
212
233
|
// Create <Task name="..."> or <TaskExample name="..."> element
|
|
213
234
|
const componentName = isExample ? "TaskExample" : "Task";
|
|
214
|
-
|
|
235
|
+
const taskJSX = createJSXElement(componentName, [createJSXAttribute("name", taskName)], taskChildren);
|
|
236
|
+
// Return heading (if TOC enabled) and task component
|
|
237
|
+
nodes.push(taskJSX);
|
|
238
|
+
return nodes;
|
|
215
239
|
}
|
|
216
240
|
/**
|
|
217
241
|
* Remark plugin to transform task directives
|
|
@@ -219,6 +243,12 @@ function transformTaskDirective(node, filePath, isExample = false) {
|
|
|
219
243
|
const remarkTaskDirective = (options = {}) => {
|
|
220
244
|
return (tree, file) => {
|
|
221
245
|
const filePath = options.filePath || file.path || file.history?.[0] || "unknown";
|
|
246
|
+
// Get TOC configuration with defaults
|
|
247
|
+
const tocEnabled = options.tocEnabled ?? true;
|
|
248
|
+
const tocHeadingLevel = options.tocHeadingLevel ?? 2;
|
|
249
|
+
// Track task numbers within this file for TOC pre-link
|
|
250
|
+
let taskCounter = 0;
|
|
251
|
+
let exampleCounter = 0;
|
|
222
252
|
// First pass: Check for orphaned hints/solutions and task directives
|
|
223
253
|
(0, unist_util_visit_1.visit)(tree, (node, index, parent) => {
|
|
224
254
|
if (isTaskDirective(node)) {
|
|
@@ -227,11 +257,13 @@ const remarkTaskDirective = (options = {}) => {
|
|
|
227
257
|
node.data = {};
|
|
228
258
|
}
|
|
229
259
|
node.data.directiveHandled = true;
|
|
230
|
-
//
|
|
231
|
-
|
|
232
|
-
//
|
|
260
|
+
// Increment task counter
|
|
261
|
+
taskCounter++;
|
|
262
|
+
// Transform the task directive - returns array of nodes
|
|
263
|
+
const transformedNodes = transformTaskDirective(node, filePath, false, taskCounter, tocEnabled, tocHeadingLevel);
|
|
264
|
+
// Replace the single node with multiple nodes (heading + task, or just task)
|
|
233
265
|
if (parent && typeof index === "number") {
|
|
234
|
-
parent.children
|
|
266
|
+
parent.children.splice(index, 1, ...transformedNodes);
|
|
235
267
|
}
|
|
236
268
|
// Skip traversing into children - they're already processed by transformTaskDirective
|
|
237
269
|
return "skip";
|
|
@@ -242,11 +274,13 @@ const remarkTaskDirective = (options = {}) => {
|
|
|
242
274
|
node.data = {};
|
|
243
275
|
}
|
|
244
276
|
node.data.directiveHandled = true;
|
|
245
|
-
//
|
|
246
|
-
|
|
247
|
-
//
|
|
277
|
+
// Increment example counter
|
|
278
|
+
exampleCounter++;
|
|
279
|
+
// Transform the task-example directive (isExample = true) - returns array of nodes
|
|
280
|
+
const transformedNodes = transformTaskDirective(node, filePath, true, exampleCounter, tocEnabled, tocHeadingLevel);
|
|
281
|
+
// Replace the single node with multiple nodes (heading + task, or just task)
|
|
248
282
|
if (parent && typeof index === "number") {
|
|
249
|
-
parent.children
|
|
283
|
+
parent.children.splice(index, 1, ...transformedNodes);
|
|
250
284
|
}
|
|
251
285
|
// Skip traversing into children - they're already processed by transformTaskDirective
|
|
252
286
|
return "skip";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remarkTaskDirective.js","sourceRoot":"","sources":["../../src/plugin/remarkTaskDirective.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,uDAAyC;AAIzC,4CAAsD;
|
|
1
|
+
{"version":3,"file":"remarkTaskDirective.js","sourceRoot":"","sources":["../../src/plugin/remarkTaskDirective.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { type ReactNode, type ReactElement } from 'react';
|
|
|
6
6
|
export interface TaskProps {
|
|
7
7
|
name: string;
|
|
8
8
|
children?: ReactNode;
|
|
9
|
+
id?: string;
|
|
9
10
|
}
|
|
10
|
-
export default function Task({ name, children }: TaskProps): ReactElement;
|
|
11
|
+
export default function Task({ name, children, id }: TaskProps): ReactElement;
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/Task/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,KAAK,SAAS,EAAY,KAAK,YAAY,EAAqB,MAAM,OAAO,CAAC;AAU9F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/Task/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,KAAK,SAAS,EAAY,KAAK,YAAY,EAAqB,MAAM,OAAO,CAAC;AAU9F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,YAAY,CA4U5E"}
|
package/lib/theme/Task/index.js
CHANGED
|
@@ -50,7 +50,7 @@ const storage_1 = require("../../utils/storage");
|
|
|
50
50
|
const usePluginId_1 = require("../../utils/usePluginId");
|
|
51
51
|
const icons_1 = require("../../utils/icons");
|
|
52
52
|
const styles_module_css_1 = __importDefault(require("./styles.module.css"));
|
|
53
|
-
function Task({ name, children }) {
|
|
53
|
+
function Task({ name, children, id }) {
|
|
54
54
|
// Get current doc metadata
|
|
55
55
|
const { metadata } = (0, client_1.useDoc)();
|
|
56
56
|
const docId = metadata.id;
|
|
@@ -70,12 +70,11 @@ function Task({ name, children }) {
|
|
|
70
70
|
const [showSolution, setShowSolution] = (0, react_1.useState)(false);
|
|
71
71
|
const [isAnimatingCompletion, setIsAnimatingCompletion] = (0, react_1.useState)(false);
|
|
72
72
|
const [isRemovingCheckmark, setIsRemovingCheckmark] = (0, react_1.useState)(false);
|
|
73
|
-
const [isCollapsingHint, setIsCollapsingHint] = (0, react_1.useState)(false);
|
|
74
|
-
const [isCollapsingSolution, setIsCollapsingSolution] = (0, react_1.useState)(false);
|
|
75
73
|
const [isSwitchingPanels, setIsSwitchingPanels] = (0, react_1.useState)(false);
|
|
76
|
-
const [
|
|
77
|
-
const [
|
|
78
|
-
|
|
74
|
+
const [isClosingHint, setIsClosingHint] = (0, react_1.useState)(false);
|
|
75
|
+
const [isClosingSolution, setIsClosingSolution] = (0, react_1.useState)(false);
|
|
76
|
+
const [containerHeight, setContainerHeight] = (0, react_1.useState)(null);
|
|
77
|
+
// Refs for switching animations
|
|
79
78
|
const hintRef = (0, react_1.useRef)(null);
|
|
80
79
|
const solutionRef = (0, react_1.useRef)(null);
|
|
81
80
|
// Track if this is the initial mount
|
|
@@ -91,6 +90,19 @@ function Task({ name, children }) {
|
|
|
91
90
|
isInitialMount.current = false;
|
|
92
91
|
}
|
|
93
92
|
}, []);
|
|
93
|
+
// Measure panel heights and update container height for smooth transitions
|
|
94
|
+
(0, react_1.useEffect)(() => {
|
|
95
|
+
if (showHint || showSolution || isSwitchingPanels) {
|
|
96
|
+
const activeRef = showHint ? hintRef : solutionRef;
|
|
97
|
+
if (activeRef.current) {
|
|
98
|
+
const height = activeRef.current.scrollHeight;
|
|
99
|
+
setContainerHeight(height + 16); // Add small buffer for padding/margin
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
setContainerHeight(null);
|
|
104
|
+
}
|
|
105
|
+
}, [showHint, showSolution, isSwitchingPanels]);
|
|
94
106
|
// Detect when completion state changes (from context)
|
|
95
107
|
(0, react_1.useEffect)(() => {
|
|
96
108
|
if (prevIsCompleted.current !== isCompleted) {
|
|
@@ -102,14 +114,9 @@ function Task({ name, children }) {
|
|
|
102
114
|
if (autoCollapseCompletedTasks) {
|
|
103
115
|
setTimeout(() => {
|
|
104
116
|
setIsAnimatingCompletion(false);
|
|
105
|
-
// Trigger collapse animation
|
|
106
|
-
setIsCollapsingBody(true);
|
|
107
117
|
setShowHint(false);
|
|
108
118
|
setShowSolution(false);
|
|
109
|
-
|
|
110
|
-
setIsExpanded(false);
|
|
111
|
-
setIsCollapsingBody(false);
|
|
112
|
-
}, 300);
|
|
119
|
+
setIsExpanded(false);
|
|
113
120
|
}, 600);
|
|
114
121
|
}
|
|
115
122
|
else {
|
|
@@ -125,38 +132,14 @@ function Task({ name, children }) {
|
|
|
125
132
|
prevIsCompleted.current = isCompleted;
|
|
126
133
|
}
|
|
127
134
|
}, [isCompleted, autoCollapseCompletedTasks, name]);
|
|
128
|
-
// Measure panel heights and update spacer
|
|
129
|
-
(0, react_1.useEffect)(() => {
|
|
130
|
-
const updateSpacerHeight = () => {
|
|
131
|
-
if (showHint && hintRef.current) {
|
|
132
|
-
setPanelSpacerHeight(hintRef.current.offsetHeight);
|
|
133
|
-
}
|
|
134
|
-
else if (showSolution && solutionRef.current) {
|
|
135
|
-
setPanelSpacerHeight(solutionRef.current.offsetHeight);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
setPanelSpacerHeight(0);
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
// Update immediately
|
|
142
|
-
updateSpacerHeight();
|
|
143
|
-
// Also update on window resize (for responsive content)
|
|
144
|
-
window.addEventListener('resize', updateSpacerHeight);
|
|
145
|
-
return () => window.removeEventListener('resize', updateSpacerHeight);
|
|
146
|
-
}, [showHint, showSolution]);
|
|
147
135
|
const toggleExpanded = () => {
|
|
148
|
-
// When collapsing, start animation then remove from DOM
|
|
149
136
|
if (isExpanded) {
|
|
150
|
-
|
|
137
|
+
// Close panels when collapsing
|
|
151
138
|
setShowHint(false);
|
|
152
139
|
setShowSolution(false);
|
|
153
|
-
|
|
154
|
-
setIsExpanded(false);
|
|
155
|
-
setIsCollapsingBody(false);
|
|
156
|
-
}, 300); // Match animation duration
|
|
140
|
+
setIsExpanded(false);
|
|
157
141
|
}
|
|
158
142
|
else {
|
|
159
|
-
// When expanding, add to DOM immediately
|
|
160
143
|
setIsExpanded(true);
|
|
161
144
|
}
|
|
162
145
|
};
|
|
@@ -167,62 +150,54 @@ function Task({ name, children }) {
|
|
|
167
150
|
};
|
|
168
151
|
const toggleHint = () => {
|
|
169
152
|
if (showHint) {
|
|
170
|
-
// Closing hint
|
|
171
|
-
|
|
172
|
-
|
|
153
|
+
// Closing hint - fade out while grid collapses
|
|
154
|
+
setIsClosingHint(true);
|
|
155
|
+
setShowHint(false);
|
|
156
|
+
// Remove from DOM after animation completes
|
|
173
157
|
setTimeout(() => {
|
|
174
|
-
|
|
175
|
-
setIsCollapsingHint(false);
|
|
158
|
+
setIsClosingHint(false);
|
|
176
159
|
}, 300);
|
|
177
160
|
}
|
|
178
161
|
else {
|
|
179
162
|
// Opening hint
|
|
180
163
|
if (showSolution) {
|
|
181
|
-
// Switching from solution to hint
|
|
164
|
+
// Switching from solution to hint - sequential fade
|
|
182
165
|
setIsSwitchingPanels(true);
|
|
183
|
-
|
|
166
|
+
setShowHint(true);
|
|
167
|
+
// Wait for sequential fade animation before hiding solution
|
|
184
168
|
setTimeout(() => {
|
|
185
169
|
setShowSolution(false);
|
|
186
|
-
|
|
187
|
-
// Delay before showing hint panel
|
|
188
|
-
setTimeout(() => {
|
|
189
|
-
setShowHint(true);
|
|
190
|
-
}, 20);
|
|
170
|
+
setIsSwitchingPanels(false);
|
|
191
171
|
}, 300);
|
|
192
172
|
}
|
|
193
173
|
else {
|
|
194
|
-
setIsSwitchingPanels(false);
|
|
195
174
|
setShowHint(true);
|
|
196
175
|
}
|
|
197
176
|
}
|
|
198
177
|
};
|
|
199
178
|
const toggleSolution = () => {
|
|
200
179
|
if (showSolution) {
|
|
201
|
-
// Closing solution
|
|
202
|
-
|
|
203
|
-
|
|
180
|
+
// Closing solution - fade out while grid collapses
|
|
181
|
+
setIsClosingSolution(true);
|
|
182
|
+
setShowSolution(false);
|
|
183
|
+
// Remove from DOM after animation completes
|
|
204
184
|
setTimeout(() => {
|
|
205
|
-
|
|
206
|
-
setIsCollapsingSolution(false);
|
|
185
|
+
setIsClosingSolution(false);
|
|
207
186
|
}, 300);
|
|
208
187
|
}
|
|
209
188
|
else {
|
|
210
189
|
// Opening solution
|
|
211
190
|
if (showHint) {
|
|
212
|
-
// Switching from hint to solution
|
|
191
|
+
// Switching from hint to solution - sequential fade
|
|
213
192
|
setIsSwitchingPanels(true);
|
|
214
|
-
|
|
193
|
+
setShowSolution(true);
|
|
194
|
+
// Wait for sequential fade animation before hiding hint
|
|
215
195
|
setTimeout(() => {
|
|
216
196
|
setShowHint(false);
|
|
217
|
-
|
|
218
|
-
// Delay before showing solution panel
|
|
219
|
-
setTimeout(() => {
|
|
220
|
-
setShowSolution(true);
|
|
221
|
-
}, 20);
|
|
197
|
+
setIsSwitchingPanels(false);
|
|
222
198
|
}, 300);
|
|
223
199
|
}
|
|
224
200
|
else {
|
|
225
|
-
setIsSwitchingPanels(false);
|
|
226
201
|
setShowSolution(true);
|
|
227
202
|
}
|
|
228
203
|
}
|
|
@@ -247,40 +222,39 @@ function Task({ name, children }) {
|
|
|
247
222
|
});
|
|
248
223
|
// Build task identifier badge
|
|
249
224
|
const taskBadge = `Task ${taskNumber}`;
|
|
250
|
-
return (react_1.default.createElement("div", { className: (0, clsx_1.default)(styles_module_css_1.default.taskContainer, isCompleted && styles_module_css_1.default.taskCompleted, isAnimatingCompletion && styles_module_css_1.default.taskCompletedAnimating) },
|
|
251
|
-
react_1.default.createElement("div", { className: styles_module_css_1.default.taskHeader
|
|
225
|
+
return (react_1.default.createElement("div", { id: id, className: (0, clsx_1.default)(styles_module_css_1.default.taskContainer, isCompleted && styles_module_css_1.default.taskCompleted, isAnimatingCompletion && styles_module_css_1.default.taskCompletedAnimating) },
|
|
226
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.taskHeader },
|
|
252
227
|
react_1.default.createElement("div", { className: styles_module_css_1.default.taskHeaderLeft },
|
|
253
228
|
react_1.default.createElement("span", { className: styles_module_css_1.default.taskBadge }, taskBadge),
|
|
254
|
-
react_1.default.createElement("
|
|
255
|
-
name,
|
|
229
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.taskNameWrapper },
|
|
230
|
+
react_1.default.createElement("span", { className: styles_module_css_1.default.taskNameText }, name),
|
|
256
231
|
react_1.default.createElement("span", { className: (0, clsx_1.default)(styles_module_css_1.default.checkmark, isCompleted && !isAnimatingCompletion && !isRemovingCheckmark && styles_module_css_1.default.checkmarkVisible, isAnimatingCompletion && styles_module_css_1.default.checkmarkAnimating, isRemovingCheckmark && styles_module_css_1.default.checkmarkRemoving) }, icons_1.CHECKMARK_CIRCLE_FILL_ICON))),
|
|
257
|
-
react_1.default.createElement("button", { type: "button", className: styles_module_css_1.default.expandButton, "aria-expanded": isExpanded, "aria-label": isExpanded ? 'Collapse task' : 'Expand task' },
|
|
232
|
+
react_1.default.createElement("button", { type: "button", className: styles_module_css_1.default.expandButton, onClick: toggleExpanded, "aria-expanded": isExpanded, "aria-label": isExpanded ? 'Collapse task' : 'Expand task' },
|
|
258
233
|
react_1.default.createElement("span", { className: (0, clsx_1.default)(styles_module_css_1.default.chevron, !isExpanded && styles_module_css_1.default.chevronCollapsed) }, icons_1.CHEVRON_DOWN_ICON))),
|
|
259
|
-
(
|
|
260
|
-
react_1.default.createElement("div", { className:
|
|
261
|
-
|
|
262
|
-
react_1.default.createElement("div", { className: styles_module_css_1.default.
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
234
|
+
react_1.default.createElement("div", { className: (0, clsx_1.default)(styles_module_css_1.default.taskContentWrapper, isExpanded && styles_module_css_1.default.taskContentExpanded) },
|
|
235
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.taskContentInner },
|
|
236
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.taskBody }, textComponent),
|
|
237
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.taskFooter },
|
|
238
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.taskActions },
|
|
239
|
+
hintComponent && (react_1.default.createElement("button", { type: "button", className: (0, clsx_1.default)(styles_module_css_1.default.taskButton, styles_module_css_1.default.hintButton, showHint && styles_module_css_1.default.active), onClick: (e) => {
|
|
240
|
+
e.stopPropagation();
|
|
241
|
+
toggleHint();
|
|
242
|
+
} }, "Hint")),
|
|
243
|
+
solutionComponent && (react_1.default.createElement("button", { type: "button", className: (0, clsx_1.default)(styles_module_css_1.default.taskButton, styles_module_css_1.default.solutionButton, showSolution && styles_module_css_1.default.active), onClick: (e) => {
|
|
244
|
+
e.stopPropagation();
|
|
245
|
+
toggleSolution();
|
|
246
|
+
} }, "Solution"))),
|
|
247
|
+
react_1.default.createElement("button", { type: "button", className: (0, clsx_1.default)(styles_module_css_1.default.taskButton, styles_module_css_1.default.completeButton, isCompleted && styles_module_css_1.default.completedButton), onClick: (e) => {
|
|
268
248
|
e.stopPropagation();
|
|
269
|
-
|
|
270
|
-
} },
|
|
271
|
-
react_1.default.createElement("
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
react_1.default.createElement("div", { className: styles_module_css_1.default.panelSpacer, style: {
|
|
280
|
-
height: panelSpacerHeight > 0 ? `${panelSpacerHeight}px` : 0,
|
|
281
|
-
transition: 'height 0.3s ease-out'
|
|
282
|
-
} }),
|
|
283
|
-
hintComponent && (react_1.default.createElement("div", { ref: hintRef, className: (0, clsx_1.default)(styles_module_css_1.default.panelContainer, styles_module_css_1.default.panelAbsolute, (showHint || isCollapsingHint) && styles_module_css_1.default.panelVisible, showHint && !isCollapsingHint && !isSwitchingPanels && styles_module_css_1.default.panelContainerExpanding, showHint && !isCollapsingHint && isSwitchingPanels && styles_module_css_1.default.hintPanelContainerExpandingSwitching, isCollapsingHint && !isSwitchingPanels && styles_module_css_1.default.panelContainerCollapsing, isCollapsingHint && isSwitchingPanels && styles_module_css_1.default.hintPanelContainerCollapsingSwitching) }, hintComponent)),
|
|
284
|
-
solutionComponent && (react_1.default.createElement("div", { ref: solutionRef, className: (0, clsx_1.default)(styles_module_css_1.default.panelContainer, styles_module_css_1.default.panelAbsolute, (showSolution || isCollapsingSolution) && styles_module_css_1.default.panelVisible, showSolution && !isCollapsingSolution && !isSwitchingPanels && styles_module_css_1.default.panelContainerExpanding, showSolution && !isCollapsingSolution && isSwitchingPanels && styles_module_css_1.default.solutionPanelContainerExpandingSwitching, isCollapsingSolution && !isSwitchingPanels && styles_module_css_1.default.panelContainerCollapsing, isCollapsingSolution && isSwitchingPanels && styles_module_css_1.default.solutionPanelContainerCollapsingSwitching) }, solutionComponent))))))));
|
|
249
|
+
toggleCompleted();
|
|
250
|
+
} }, isCompleted ? 'Undo Task' : 'Mark as Done')),
|
|
251
|
+
(hintComponent || solutionComponent) && (react_1.default.createElement("div", { className: styles_module_css_1.default.panelWrapper },
|
|
252
|
+
react_1.default.createElement("div", { className: (0, clsx_1.default)(styles_module_css_1.default.panelGridWrapper, (showHint || showSolution || isSwitchingPanels) && styles_module_css_1.default.panelGridExpanded, (isClosingHint || isClosingSolution) && !isSwitchingPanels && styles_module_css_1.default.panelGridCollapsing), style: {
|
|
253
|
+
height: containerHeight !== null ? `${containerHeight}px` : undefined
|
|
254
|
+
} },
|
|
255
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.panelGridInner },
|
|
256
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.panelSharedContainer },
|
|
257
|
+
hintComponent && (react_1.default.createElement("div", { ref: hintRef, className: (0, clsx_1.default)(styles_module_css_1.default.panelContainer, showHint && !isSwitchingPanels && styles_module_css_1.default.panelVisible, showHint && isSwitchingPanels && styles_module_css_1.default.panelFadingIn, !showHint && isSwitchingPanels && styles_module_css_1.default.panelFadingOut, isClosingHint && styles_module_css_1.default.panelFadingOut, isSwitchingPanels && styles_module_css_1.default.panelSwitching) }, hintComponent)),
|
|
258
|
+
solutionComponent && (react_1.default.createElement("div", { ref: solutionRef, className: (0, clsx_1.default)(styles_module_css_1.default.panelContainer, showSolution && !isSwitchingPanels && styles_module_css_1.default.panelVisible, showSolution && isSwitchingPanels && styles_module_css_1.default.panelFadingIn, !showSolution && isSwitchingPanels && styles_module_css_1.default.panelFadingOut, isClosingSolution && styles_module_css_1.default.panelFadingOut, isSwitchingPanels && styles_module_css_1.default.panelSwitching) }, solutionComponent)))))))))));
|
|
285
259
|
}
|
|
286
260
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/theme/Task/index.tsx"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/theme/Task/index.tsx"],"names":[],"mappings":"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"}
|