gwchq-textjam 0.1.113 → 0.1.115
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/index.js +40 -25
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -68347,8 +68347,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
68347
68347
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
68348
68348
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
68349
68349
|
/* harmony export */ });
|
|
68350
|
-
/* harmony import */ var
|
|
68351
|
-
/* harmony import */ var
|
|
68350
|
+
/* harmony import */ var D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89379);
|
|
68351
|
+
/* harmony import */ var D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(53986);
|
|
68352
68352
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
68353
68353
|
/* harmony import */ var _hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(98850);
|
|
68354
68354
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14062);
|
|
@@ -68372,7 +68372,7 @@ var DraggableTab = _ref => {
|
|
|
68372
68372
|
panelIndex,
|
|
68373
68373
|
fileIndex
|
|
68374
68374
|
} = _ref,
|
|
68375
|
-
otherProps = (0,
|
|
68375
|
+
otherProps = (0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_ref, _excluded);
|
|
68376
68376
|
var openFiles = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(state => state.editor.openedFiles);
|
|
68377
68377
|
var openFilesCount = openFiles[panelIndex].length;
|
|
68378
68378
|
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
|
|
@@ -68389,7 +68389,7 @@ var DraggableTab = _ref => {
|
|
|
68389
68389
|
switchToFileTab(panelIndex, (fileIndex + openFilesCount - 1) % openFilesCount);
|
|
68390
68390
|
}
|
|
68391
68391
|
};
|
|
68392
|
-
var InnerTab = () => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_2__.Tab, (0,
|
|
68392
|
+
var InnerTab = () => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_2__.Tab, (0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
|
|
68393
68393
|
onClick: e => {
|
|
68394
68394
|
e.stopPropagation();
|
|
68395
68395
|
switchToFileTab(panelIndex, fileIndex);
|
|
@@ -68407,7 +68407,7 @@ var DraggableTab = _ref => {
|
|
|
68407
68407
|
draggableProps,
|
|
68408
68408
|
dragHandleProps
|
|
68409
68409
|
} = _ref2;
|
|
68410
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", (0,
|
|
68410
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", (0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
|
|
68411
68411
|
className: "draggable-tab",
|
|
68412
68412
|
ref: innerRef
|
|
68413
68413
|
}, draggableProps), dragHandleProps), {}, {
|
|
@@ -68429,8 +68429,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
68429
68429
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
68430
68430
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
68431
68431
|
/* harmony export */ });
|
|
68432
|
-
/* harmony import */ var
|
|
68433
|
-
/* harmony import */ var
|
|
68432
|
+
/* harmony import */ var D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89379);
|
|
68433
|
+
/* harmony import */ var D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53986);
|
|
68434
68434
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
68435
68435
|
/* harmony import */ var _hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(98850);
|
|
68436
68436
|
/* harmony import */ var react_tabs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39243);
|
|
@@ -68449,8 +68449,8 @@ var DroppableTabList = _ref => {
|
|
|
68449
68449
|
children: _children,
|
|
68450
68450
|
index
|
|
68451
68451
|
} = _ref,
|
|
68452
|
-
otherProps = (0,
|
|
68453
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_1__.TabList, (0,
|
|
68452
|
+
otherProps = (0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_ref, _excluded);
|
|
68453
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_1__.TabList, (0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)((0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)({}, otherProps), {}, {
|
|
68454
68454
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_6__.Droppable, {
|
|
68455
68455
|
direction: "horizontal",
|
|
68456
68456
|
droppableId: index.toString(),
|
|
@@ -68460,7 +68460,7 @@ var DroppableTabList = _ref => {
|
|
|
68460
68460
|
droppableProps,
|
|
68461
68461
|
placeholder
|
|
68462
68462
|
} = _ref2;
|
|
68463
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", (0,
|
|
68463
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", (0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)((0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)({
|
|
68464
68464
|
className: "droppable-tab-list"
|
|
68465
68465
|
}, droppableProps), {}, {
|
|
68466
68466
|
ref: innerRef,
|
|
@@ -102918,7 +102918,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
102918
102918
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
102919
102919
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
102920
102920
|
/* harmony export */ });
|
|
102921
|
-
/* harmony import */ var
|
|
102921
|
+
/* harmony import */ var D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89379);
|
|
102922
102922
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
102923
102923
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14062);
|
|
102924
102924
|
/* harmony import */ var _redux_EditorSlice__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(68512);
|
|
@@ -102998,7 +102998,7 @@ var ProjectName = _ref => {
|
|
|
102998
102998
|
id: "project_name_label",
|
|
102999
102999
|
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__["default"].projectLabel,
|
|
103000
103000
|
children: "Project Name"
|
|
103001
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", (0,
|
|
103001
|
+
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", (0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,D_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
|
|
103002
103002
|
className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_styles_module_scss__WEBPACK_IMPORTED_MODULE_3__["default"].projectName, className)
|
|
103003
103003
|
}, hoverProps), {}, {
|
|
103004
103004
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)((components_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_8___default()), {
|
|
@@ -370068,7 +370068,7 @@ const PyodideRunner = ({ active, packageApiUrl, }) => {
|
|
|
370068
370068
|
handleLoaded(data.stdinBuffer, data.interruptBuffer);
|
|
370069
370069
|
break;
|
|
370070
370070
|
case "handleInput":
|
|
370071
|
-
handleInput();
|
|
370071
|
+
handleInput(worker);
|
|
370072
370072
|
break;
|
|
370073
370073
|
case "handleOutput":
|
|
370074
370074
|
handleOutput(data.stream, data.content);
|
|
@@ -370147,13 +370147,14 @@ const PyodideRunner = ({ active, packageApiUrl, }) => {
|
|
|
370147
370147
|
dispatch((0, EditorSlice_1.codeRunHandled)());
|
|
370148
370148
|
disableInput();
|
|
370149
370149
|
};
|
|
370150
|
-
const handleInput = async () => {
|
|
370150
|
+
const handleInput = async (workerOverride) => {
|
|
370151
|
+
const targetWorker = workerOverride ?? pyodideWorker;
|
|
370151
370152
|
if (stdinClosed.current) {
|
|
370152
370153
|
if (stdinBuffer.current) {
|
|
370153
370154
|
stdinBuffer.current[0] = -1;
|
|
370154
370155
|
}
|
|
370155
370156
|
else {
|
|
370156
|
-
|
|
370157
|
+
targetWorker?.postMessage({
|
|
370157
370158
|
method: "stdinResponse",
|
|
370158
370159
|
ctrlD: true,
|
|
370159
370160
|
});
|
|
@@ -370173,7 +370174,7 @@ const PyodideRunner = ({ active, packageApiUrl, }) => {
|
|
|
370173
370174
|
stdinBuffer.current[0] = currentLength;
|
|
370174
370175
|
}
|
|
370175
370176
|
else {
|
|
370176
|
-
|
|
370177
|
+
targetWorker?.postMessage({
|
|
370177
370178
|
method: "stdinResponse",
|
|
370178
370179
|
content: content !== undefined ? content + "\n" : "",
|
|
370179
370180
|
ctrlD,
|
|
@@ -370315,7 +370316,7 @@ const PyodideRunner = ({ active, packageApiUrl, }) => {
|
|
|
370315
370316
|
destroyAndRecreateWorker();
|
|
370316
370317
|
dispatch((0, EditorSlice_1.setError)({
|
|
370317
370318
|
type: Errors_1.ErrorType.RUNTIME_ERROR,
|
|
370318
|
-
message: "Execution
|
|
370319
|
+
message: "Execution interrupted",
|
|
370319
370320
|
}));
|
|
370320
370321
|
dispatch((0, EditorSlice_1.codeRunHandled)());
|
|
370321
370322
|
};
|
|
@@ -372343,7 +372344,7 @@ const WebComponentProject = ({ nameEditable = false, sidebarOptions = [], packag
|
|
|
372343
372344
|
return () => clearTimeout(timeout);
|
|
372344
372345
|
}, [project]);
|
|
372345
372346
|
renderer.link = function (data) {
|
|
372346
|
-
return `<a href="${data.href}" target="_blank" rel="noreferrer"
|
|
372347
|
+
return `<a href="${data.href}" target="_blank" rel="noreferrer"
|
|
372347
372348
|
}">${data.text}</a>`;
|
|
372348
372349
|
};
|
|
372349
372350
|
marked_1.marked.setOptions({
|
|
@@ -373641,6 +373642,7 @@ const useProjectPersistence = ({ user, projectData, hasShownSavePrompt, saveProj
|
|
|
373641
373642
|
const saving = (0, stores_1.useAppSelector)((state) => state.editor.saving);
|
|
373642
373643
|
const justLoaded = (0, stores_1.useAppSelector)((state) => state.editor.justLoaded);
|
|
373643
373644
|
const leaveFlow = (0, stores_1.useAppSelector)((state) => state.leaveFlow);
|
|
373645
|
+
const codeRunTriggered = (0, stores_1.useAppSelector)((state) => state.editor.codeRunTriggered);
|
|
373644
373646
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
373645
373647
|
const { deleteValueFromCache, upsertCacheValue } = (0, useProjectCache_1.useProjectCache)();
|
|
373646
373648
|
const handleSave = (0, react_1.useCallback)(async () => {
|
|
@@ -373730,10 +373732,14 @@ const useProjectPersistence = ({ user, projectData, hasShownSavePrompt, saveProj
|
|
|
373730
373732
|
leaveFlow.status,
|
|
373731
373733
|
]);
|
|
373732
373734
|
(0, react_1.useEffect)(() => {
|
|
373733
|
-
if (saveTriggered
|
|
373734
|
-
|
|
373735
|
+
if (!saveTriggered || saving !== types_1.SavingState.IDLE)
|
|
373736
|
+
return;
|
|
373737
|
+
if (codeRunTriggered) {
|
|
373738
|
+
dispatch((0, EditorSlice_1.stopCodeRun)());
|
|
373739
|
+
return;
|
|
373735
373740
|
}
|
|
373736
|
-
|
|
373741
|
+
handleSave();
|
|
373742
|
+
}, [saveTriggered, codeRunTriggered, handleSave, saving, dispatch]);
|
|
373737
373743
|
// Autosave
|
|
373738
373744
|
(0, react_1.useEffect)(() => {
|
|
373739
373745
|
const debouncer = setTimeout(() => {
|
|
@@ -373780,6 +373786,7 @@ const createProjectArchive_1 = __webpack_require__(46514);
|
|
|
373780
373786
|
const useProjectRemix = ({ projectData, saveProject, }) => {
|
|
373781
373787
|
const project = (0, stores_1.useAppSelector)((state) => state.editor.project);
|
|
373782
373788
|
const remixTriggered = (0, stores_1.useAppSelector)((state) => state.editor.remixTriggered);
|
|
373789
|
+
const codeRunTriggered = (0, stores_1.useAppSelector)((state) => state.editor.codeRunTriggered);
|
|
373783
373790
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
373784
373791
|
const remixStartedRef = (0, react_1.useRef)(false);
|
|
373785
373792
|
(0, react_1.useEffect)(() => {
|
|
@@ -373787,11 +373794,16 @@ const useProjectRemix = ({ projectData, saveProject, }) => {
|
|
|
373787
373794
|
remixStartedRef.current = false;
|
|
373788
373795
|
return;
|
|
373789
373796
|
}
|
|
373790
|
-
if (remixStartedRef.current)
|
|
373791
|
-
return;
|
|
373792
373797
|
if (!project || Object.keys(project).length === 0)
|
|
373793
373798
|
return;
|
|
373794
|
-
if (!project
|
|
373799
|
+
if (!project.components?.length)
|
|
373800
|
+
return;
|
|
373801
|
+
if (codeRunTriggered) {
|
|
373802
|
+
dispatch((0, EditorSlice_1.stopCodeRun)());
|
|
373803
|
+
dispatch((0, EditorSlice_1.stopDraw)());
|
|
373804
|
+
return;
|
|
373805
|
+
}
|
|
373806
|
+
if (remixStartedRef.current)
|
|
373795
373807
|
return;
|
|
373796
373808
|
remixStartedRef.current = true;
|
|
373797
373809
|
const run = async () => {
|
|
@@ -373805,10 +373817,12 @@ const useProjectRemix = ({ projectData, saveProject, }) => {
|
|
|
373805
373817
|
}
|
|
373806
373818
|
catch (e) {
|
|
373807
373819
|
console.error(e);
|
|
373820
|
+
remixStartedRef.current = false;
|
|
373821
|
+
dispatch((0, EditorSlice_1.setRemixTriggered)(false));
|
|
373808
373822
|
}
|
|
373809
373823
|
};
|
|
373810
373824
|
run().catch(console.error);
|
|
373811
|
-
}, [remixTriggered, project, saveProject]);
|
|
373825
|
+
}, [remixTriggered, codeRunTriggered, project, saveProject, dispatch]);
|
|
373812
373826
|
(0, react_1.useEffect)(() => {
|
|
373813
373827
|
if (!remixTriggered)
|
|
373814
373828
|
return;
|
|
@@ -373820,6 +373834,7 @@ const useProjectRemix = ({ projectData, saveProject, }) => {
|
|
|
373820
373834
|
dispatch((0, EditorSlice_1.stopDraw)());
|
|
373821
373835
|
dispatch((0, EditorSlice_1.resetState)());
|
|
373822
373836
|
dispatch((0, EditorSlice_1.setRemixTriggered)(false));
|
|
373837
|
+
remixStartedRef.current = false;
|
|
373823
373838
|
}, [dispatch, remixTriggered, project?.identifier, projectData?.identifier]);
|
|
373824
373839
|
};
|
|
373825
373840
|
exports.useProjectRemix = useProjectRemix;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gwchq-textjam",
|
|
3
3
|
"description": "Embeddable React editor used in Raspberry Pi text-based projects.",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.115",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/GirlsFirst/gwchq-textjam",
|
|
7
7
|
"author": "Girls Who Code HQ",
|