gwchq-textjam 0.3.13 → 0.3.15
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 +55 -32
- package/dist/style.css +1 -1
- package/package.json +17 -11
package/dist/index.js
CHANGED
|
@@ -68492,8 +68492,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
68492
68492
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
68493
68493
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
68494
68494
|
/* harmony export */ });
|
|
68495
|
-
/* harmony import */ var
|
|
68496
|
-
/* harmony import */ var
|
|
68495
|
+
/* harmony import */ var _Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(89379);
|
|
68496
|
+
/* harmony import */ var _Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53986);
|
|
68497
68497
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
68498
68498
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14062);
|
|
68499
68499
|
/* harmony import */ var _redux_EditorSlice__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(68512);
|
|
@@ -68514,7 +68514,7 @@ var DraggableTab = _ref => {
|
|
|
68514
68514
|
draggableId,
|
|
68515
68515
|
onTabClick
|
|
68516
68516
|
} = _ref,
|
|
68517
|
-
otherProps = (0,
|
|
68517
|
+
otherProps = (0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(_ref, _excluded);
|
|
68518
68518
|
var openedTabs = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(state => state.editor.openedTabs);
|
|
68519
68519
|
var openFilesCount = openedTabs.filter(t => t && t.type === "file").length || 1;
|
|
68520
68520
|
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
|
|
@@ -68532,7 +68532,7 @@ var DraggableTab = _ref => {
|
|
|
68532
68532
|
switchToFileTab((fileIndex + openFilesCount - 1) % openFilesCount);
|
|
68533
68533
|
}
|
|
68534
68534
|
};
|
|
68535
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_Tabs_DraggableTabWrapper__WEBPACK_IMPORTED_MODULE_5__["default"], (0,
|
|
68535
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_Tabs_DraggableTabWrapper__WEBPACK_IMPORTED_MODULE_5__["default"], (0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)((0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)({
|
|
68536
68536
|
draggableId: draggableId,
|
|
68537
68537
|
index: fileIndex,
|
|
68538
68538
|
onClick: e => {
|
|
@@ -68556,8 +68556,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
68556
68556
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
68557
68557
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
68558
68558
|
/* harmony export */ });
|
|
68559
|
-
/* harmony import */ var
|
|
68560
|
-
/* harmony import */ var
|
|
68559
|
+
/* harmony import */ var _Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89379);
|
|
68560
|
+
/* harmony import */ var _Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53986);
|
|
68561
68561
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
68562
68562
|
/* harmony import */ var _hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(98850);
|
|
68563
68563
|
/* harmony import */ var react_tabs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39243);
|
|
@@ -68576,8 +68576,8 @@ var DroppableTabList = _ref => {
|
|
|
68576
68576
|
children: _children,
|
|
68577
68577
|
index
|
|
68578
68578
|
} = _ref,
|
|
68579
|
-
otherProps = (0,
|
|
68580
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_1__.TabList, (0,
|
|
68579
|
+
otherProps = (0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_ref, _excluded);
|
|
68580
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_1__.TabList, (0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)((0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)({}, otherProps), {}, {
|
|
68581
68581
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_6__.Droppable, {
|
|
68582
68582
|
direction: "horizontal",
|
|
68583
68583
|
droppableId: index.toString(),
|
|
@@ -68587,7 +68587,7 @@ var DroppableTabList = _ref => {
|
|
|
68587
68587
|
droppableProps,
|
|
68588
68588
|
placeholder
|
|
68589
68589
|
} = _ref2;
|
|
68590
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", (0,
|
|
68590
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", (0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)((0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)({
|
|
68591
68591
|
className: "droppable-tab-list"
|
|
68592
68592
|
}, droppableProps), {}, {
|
|
68593
68593
|
ref: innerRef,
|
|
@@ -101977,8 +101977,8 @@ var EditorPanel = _ref => {
|
|
|
101977
101977
|
} = (0,es.useTranslation)();
|
|
101978
101978
|
var settings = (0,external_react_.useContext)(utils_settings.SettingsContext);
|
|
101979
101979
|
var [characterLimitExceeded, setCharacterLimitExceeded] = (0,external_react_.useState)(false);
|
|
101980
|
-
var [line, setLine] = (0,external_react_.useState)(
|
|
101981
|
-
var [position, setPosition] = (0,external_react_.useState)(
|
|
101980
|
+
var [line, setLine] = (0,external_react_.useState)(1);
|
|
101981
|
+
var [position, setPosition] = (0,external_react_.useState)(1);
|
|
101982
101982
|
var updateStoredProject = c(content => {
|
|
101983
101983
|
dispatch((0,EditorSlice.updateProjectComponent)((0,objectSpread2/* default */.A)((0,objectSpread2/* default */.A)({}, file), {}, {
|
|
101984
101984
|
content
|
|
@@ -102013,6 +102013,10 @@ var EditorPanel = _ref => {
|
|
|
102013
102013
|
});
|
|
102014
102014
|
editorViewRef.current = view;
|
|
102015
102015
|
|
|
102016
|
+
// New view starts at line 1
|
|
102017
|
+
setLine(1);
|
|
102018
|
+
setPosition(1);
|
|
102019
|
+
|
|
102016
102020
|
// 'aria-hidden' to fix keyboard access accessibility error
|
|
102017
102021
|
view.scrollDOM.setAttribute("aria-hidden", "true");
|
|
102018
102022
|
|
|
@@ -103160,7 +103164,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
103160
103164
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
103161
103165
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
103162
103166
|
/* harmony export */ });
|
|
103163
|
-
/* harmony import */ var
|
|
103167
|
+
/* harmony import */ var _Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89379);
|
|
103164
103168
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
103165
103169
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14062);
|
|
103166
103170
|
/* harmony import */ var _redux_EditorSlice__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(68512);
|
|
@@ -103276,7 +103280,7 @@ var ProjectName = _ref => {
|
|
|
103276
103280
|
id: "project_name_label",
|
|
103277
103281
|
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__["default"].projectLabel,
|
|
103278
103282
|
children: "Project Name"
|
|
103279
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", (0,
|
|
103283
|
+
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", (0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
|
|
103280
103284
|
className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_styles_module_scss__WEBPACK_IMPORTED_MODULE_3__["default"].projectName, className)
|
|
103281
103285
|
}, hoverProps), {}, {
|
|
103282
103286
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)((components_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_8___default()), {
|
|
@@ -369154,7 +369158,7 @@ const EditorInput = () => {
|
|
|
369154
369158
|
if (!project || !project.components) {
|
|
369155
369159
|
return null;
|
|
369156
369160
|
}
|
|
369157
|
-
return ((0, jsx_runtime_1.jsxs)(dnd_1.DragDropContext, { onDragStart: (input) => onDragStart(input), onDragEnd: (result) => onDragEnd(result), children: [(0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.tabbedPanel, children: (0, jsx_runtime_1.jsxs)(react_tabs_1.Tabs, { selectedIndex: fileTabFocusIndex, onSelect: selectFileTab, children: [(0, jsx_runtime_1.jsxs)("div", { className: "tabContainer", children: [(0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.scrollWrapper, children: (0, jsx_runtime_1.jsx)(DroppableTabList_1.default, { index: 0, children: openedFiles.map((file, fileIndex) => ((0, jsx_runtime_1.jsxs)(DraggableTab_1.default, { draggableId: `file-${file.id}`, fileIndex: fileIndex, onTabClick: selectFileTab, onMouseEnter: showTabTooltip(file.path), onMouseLeave: hideTabTooltip, "aria-label": file.fullName, children: [(0, jsx_runtime_1.jsxs)(Text_1.Text, { size: 12, weight: "medium", className: "tabText", ref: tabRefs.current[projectFiles.findIndex((projectFile) => projectFile.id === file.id)], children: [(0, jsx_runtime_1.jsx)(FileIcon_1.default, { ext: file.extension }), (0, projectHelpers_1.truncateFileName)(file.fullName)] }), (0, projectHelpers_1.isFileClosable)(file.fullName, defaultFileName) && ((0, jsx_runtime_1.jsx)(Button_1.default, { className: styles_module_scss_1.default.closeBtn, label: "close", onClickHandler: (e) => closeFileTab(e, file), ButtonIcon: () => (0, jsx_runtime_1.jsx)(CloseIcon_1.default, { scaleFactor: 0.85 }) }))] }, file.id))) }) }), isMobile && (0, jsx_runtime_1.jsx)(RunnerControls_1.default, {})] }), openedFiles.map((file) => ((0, jsx_runtime_1.jsxs)(react_tabs_1.TabPanel, { children: [(0, jsx_runtime_1.jsx)(ReadOnlyBanner_1.default, {}), (0, jsx_runtime_1.jsx)(EditorPanel_1.default, { file: file }, file.id)] }, file.id)))] }) }), tabTooltip && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { className: styles_module_scss_1.default.tabTooltip, message: tabTooltip.message, position: "bottom", strategy: "fixed", visible: true, style: {
|
|
369161
|
+
return ((0, jsx_runtime_1.jsxs)(dnd_1.DragDropContext, { onDragStart: (input) => onDragStart(input), onDragEnd: (result) => onDragEnd(result), children: [(0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.tabbedPanel, children: (0, jsx_runtime_1.jsxs)(react_tabs_1.Tabs, { selectedIndex: fileTabFocusIndex, onSelect: selectFileTab, children: [(0, jsx_runtime_1.jsxs)("div", { className: "tabContainer", children: [(0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.scrollWrapper, children: (0, jsx_runtime_1.jsx)(DroppableTabList_1.default, { index: 0, children: openedFiles.map((file, fileIndex) => ((0, jsx_runtime_1.jsxs)(DraggableTab_1.default, { draggableId: `file-${file.id}`, fileIndex: fileIndex, onTabClick: selectFileTab, onMouseEnter: showTabTooltip(file.path), onMouseLeave: hideTabTooltip, "aria-label": file.fullName, children: [(0, jsx_runtime_1.jsxs)(Text_1.Text, { size: 12, weight: "medium", className: "tabText", ref: tabRefs.current[projectFiles.findIndex((projectFile) => projectFile.id === file.id)], children: [(0, jsx_runtime_1.jsx)(FileIcon_1.default, { ext: file.extension }), (0, projectHelpers_1.truncateFileName)(file.fullName)] }), (0, projectHelpers_1.isFileClosable)(file.fullName, defaultFileName) && ((0, jsx_runtime_1.jsx)(Button_1.default, { className: styles_module_scss_1.default.closeBtn, label: "close", onClickHandler: (e) => closeFileTab(e, file), ButtonIcon: () => (0, jsx_runtime_1.jsx)(CloseIcon_1.default, { scaleFactor: 0.85 }) }))] }, file.id))) }) }), isMobile && (0, jsx_runtime_1.jsx)(RunnerControls_1.default, {})] }), openedFiles.map((file) => ((0, jsx_runtime_1.jsxs)(react_tabs_1.TabPanel, { children: [(0, jsx_runtime_1.jsx)(ReadOnlyBanner_1.default, {}), (0, jsx_runtime_1.jsx)(EditorPanel_1.default, { file: file }, file.id)] }, file.id)))] }) }), tabTooltip && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { className: styles_module_scss_1.default.tabTooltip, message: tabTooltip.message, position: "bottom", size: "fit", strategy: "fixed", visible: true, style: {
|
|
369158
369162
|
top: tabTooltip.top,
|
|
369159
369163
|
left: tabTooltip.left,
|
|
369160
369164
|
transform: "translateX(-50%)",
|
|
@@ -372361,7 +372365,7 @@ const styles_module_scss_1 = __importDefault(__webpack_require__(44502));
|
|
|
372361
372365
|
const FileTabHeader = ({ file, defaultFileName, onClose, }) => {
|
|
372362
372366
|
const fullName = (0, projectHelpers_1.getFullComponentName)(file);
|
|
372363
372367
|
const isClosable = (0, projectHelpers_1.isFileClosable)(fullName, defaultFileName);
|
|
372364
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Text_1.Text, { size: 12, weight: "medium", className: "tabText",
|
|
372368
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Text_1.Text, { size: 12, weight: "medium", className: "tabText", children: [(0, jsx_runtime_1.jsx)(FileIcon_1.default, { ext: file.extension }), (0, projectHelpers_1.truncateFileName)(fullName)] }), isClosable && ((0, jsx_runtime_1.jsx)(Button_1.default, { className: styles_module_scss_1.default.closeBtn, label: "close", onClickHandler: (e) => onClose(e, file.id), ButtonIcon: () => (0, jsx_runtime_1.jsx)(CloseIcon_1.default, { scaleFactor: 0.85 }) }))] }));
|
|
372365
372369
|
};
|
|
372366
372370
|
exports["default"] = FileTabHeader;
|
|
372367
372371
|
|
|
@@ -372512,16 +372516,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
372512
372516
|
};
|
|
372513
372517
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
372514
372518
|
const jsx_runtime_1 = __webpack_require__(74848);
|
|
372519
|
+
const dnd_1 = __webpack_require__(98850);
|
|
372515
372520
|
const react_1 = __webpack_require__(51649);
|
|
372516
372521
|
const react_redux_1 = __webpack_require__(14062);
|
|
372517
372522
|
const react_tabs_1 = __webpack_require__(39243);
|
|
372518
|
-
const
|
|
372519
|
-
const EditorSlice_1 = __webpack_require__(68512);
|
|
372523
|
+
const Tooltip_1 = __importDefault(__webpack_require__(26982));
|
|
372520
372524
|
const stores_1 = __webpack_require__(32132);
|
|
372521
372525
|
const EditorTypes_1 = __webpack_require__(42108);
|
|
372522
372526
|
const ProjectTypes_1 = __webpack_require__(27130);
|
|
372523
372527
|
const projectHelpers_1 = __webpack_require__(2610);
|
|
372528
|
+
const EditorSlice_1 = __webpack_require__(68512);
|
|
372524
372529
|
const DroppableTabList_1 = __importDefault(__webpack_require__(48339));
|
|
372530
|
+
const useTabTooltip_1 = __importDefault(__webpack_require__(58149));
|
|
372531
|
+
const styles_module_scss_1 = __importDefault(__webpack_require__(44502));
|
|
372525
372532
|
const DraggableTabWrapper_1 = __importDefault(__webpack_require__(46963));
|
|
372526
372533
|
const TabbedPanel_1 = __importStar(__webpack_require__(60596));
|
|
372527
372534
|
const TabHeader_1 = __importDefault(__webpack_require__(33682));
|
|
@@ -372529,6 +372536,7 @@ const TabsContainer = ({ tabs, renderOutput, outputMeta, }) => {
|
|
|
372529
372536
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
372530
372537
|
const project = (0, stores_1.useAppSelector)((state) => state.editor.project);
|
|
372531
372538
|
const focussedTabIndex = (0, stores_1.useAppSelector)((state) => state.editor.focussedFileIndex);
|
|
372539
|
+
const { tabTooltip, showTabTooltip, hideTabTooltip } = (0, useTabTooltip_1.default)();
|
|
372532
372540
|
const projectFiles = (0, react_1.useMemo)(() => (project.components ?? []).filter((component) => component.type === ProjectTypes_1.ProjectComponentType.FILE), [project.components]);
|
|
372533
372541
|
const defaultFileName = (0, projectHelpers_1.getDefaultFileName)(project);
|
|
372534
372542
|
const hasFileTabs = (0, react_1.useMemo)(() => tabs.some((t) => t.type === EditorTypes_1.OpenedTabType.FILE), [tabs]);
|
|
@@ -372543,6 +372551,7 @@ const TabsContainer = ({ tabs, renderOutput, outputMeta, }) => {
|
|
|
372543
372551
|
// previously active tab loses its white "selected" background immediately and we
|
|
372544
372552
|
// never show two active-looking tabs mid-drag.
|
|
372545
372553
|
const handleDragStart = (start) => {
|
|
372554
|
+
hideTabTooltip();
|
|
372546
372555
|
dispatch((0, EditorSlice_1.setFocussedFileIndex)(start.source.index));
|
|
372547
372556
|
};
|
|
372548
372557
|
const handleDragEnd = (result) => {
|
|
@@ -372559,23 +372568,33 @@ const TabsContainer = ({ tabs, renderOutput, outputMeta, }) => {
|
|
|
372559
372568
|
};
|
|
372560
372569
|
const isTabRenderable = (tab) => tab.type === EditorTypes_1.OpenedTabType.OUTPUT ||
|
|
372561
372570
|
projectFiles.some((f) => f.id === tab.id);
|
|
372571
|
+
const filePathForTab = (tab) => tab.type === EditorTypes_1.OpenedTabType.FILE
|
|
372572
|
+
? projectFiles.find((file) => file.id === tab.id)?.path
|
|
372573
|
+
: undefined;
|
|
372562
372574
|
const tabHeader = (tab) => ((0, jsx_runtime_1.jsx)(TabHeader_1.default, { tab: tab, outputMeta: outputMeta, projectFiles: projectFiles, defaultFileName: defaultFileName, onCloseFile: handleCloseFile }));
|
|
372563
372575
|
const renderDraggableTab = (tab, index) => {
|
|
372564
372576
|
if (!isTabRenderable(tab))
|
|
372565
372577
|
return null;
|
|
372578
|
+
const filePath = filePathForTab(tab);
|
|
372566
372579
|
return ((0, jsx_runtime_1.jsx)(DraggableTabWrapper_1.default, { draggableId: (0, TabbedPanel_1.tabKey)(tab), index: index, onClick: (e) => {
|
|
372567
372580
|
e.stopPropagation();
|
|
372568
372581
|
handleSelect(index);
|
|
372569
|
-
}, children: tabHeader(tab) }, (0, TabbedPanel_1.tabKey)(tab)));
|
|
372582
|
+
}, onMouseEnter: showTabTooltip(filePath), onMouseLeave: hideTabTooltip, onFocus: showTabTooltip(filePath), onBlur: hideTabTooltip, onKeyDown: hideTabTooltip, children: tabHeader(tab) }, (0, TabbedPanel_1.tabKey)(tab)));
|
|
372570
372583
|
};
|
|
372571
372584
|
const renderPlainTab = (tab) => {
|
|
372572
372585
|
if (!isTabRenderable(tab))
|
|
372573
372586
|
return null;
|
|
372574
|
-
|
|
372587
|
+
const filePath = filePathForTab(tab);
|
|
372588
|
+
return ((0, jsx_runtime_1.jsx)(react_tabs_1.Tab, { onMouseEnter: showTabTooltip(filePath), onMouseLeave: hideTabTooltip, onFocus: showTabTooltip(filePath), onBlur: hideTabTooltip, onKeyDown: hideTabTooltip, children: tabHeader(tab) }, (0, TabbedPanel_1.tabKey)(tab)));
|
|
372575
372589
|
};
|
|
372576
372590
|
const tabListMarkup = hasFileTabs ? ((0, jsx_runtime_1.jsx)(DroppableTabList_1.default, { index: 0, children: tabs.map((tab, index) => renderDraggableTab(tab, index)) })) : ((0, jsx_runtime_1.jsx)(react_tabs_1.TabList, { children: tabs.map((tab) => renderPlainTab(tab)) }));
|
|
372577
372591
|
const tabsMarkup = ((0, jsx_runtime_1.jsx)(TabbedPanel_1.default, { tabs: tabs, selectedIndex: focussedTabIndex, onSelect: handleSelect, tabList: tabListMarkup, projectFiles: projectFiles, renderOutput: renderOutput }));
|
|
372578
|
-
|
|
372592
|
+
const tabTooltipMarkup = tabTooltip ? ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { className: styles_module_scss_1.default.tabTooltip, message: tabTooltip.message, visible: true, position: "bottom", strategy: "fixed", size: "fit", style: {
|
|
372593
|
+
top: tabTooltip.top,
|
|
372594
|
+
left: tabTooltip.left,
|
|
372595
|
+
transform: "translateX(-50%)",
|
|
372596
|
+
} })) : null;
|
|
372597
|
+
return hasFileTabs ? ((0, jsx_runtime_1.jsxs)(dnd_1.DragDropContext, { onDragStart: handleDragStart, onDragEnd: handleDragEnd, children: [tabsMarkup, tabTooltipMarkup] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [tabsMarkup, tabTooltipMarkup] }));
|
|
372579
372598
|
};
|
|
372580
372599
|
exports["default"] = TabsContainer;
|
|
372581
372600
|
|
|
@@ -376238,7 +376257,7 @@ const EditorSlice_1 = __webpack_require__(68512);
|
|
|
376238
376257
|
const types_1 = __webpack_require__(92932);
|
|
376239
376258
|
const stores_1 = __webpack_require__(32132);
|
|
376240
376259
|
const sendToast_1 = __webpack_require__(50068);
|
|
376241
|
-
const SUCCESS_MESSAGE = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["All set! Your project is back to the old version.", (0, jsx_runtime_1.jsx)("br", {}), "
|
|
376260
|
+
const SUCCESS_MESSAGE = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["All set! Your project is back to the old version.", (0, jsx_runtime_1.jsx)("br", {}), "After your first edit, ", (0, jsx_runtime_1.jsx)("b", { children: "Save" }), " will be enabled so you can apply changes to the server."] }));
|
|
376242
376261
|
const ERROR_MESSAGE = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Oops! The version couldn't be restored.", (0, jsx_runtime_1.jsx)("br", {}), "Please try again."] }));
|
|
376243
376262
|
/**
|
|
376244
376263
|
* Fires a success or error toast when a user-triggered version revert completes.
|
|
@@ -376878,15 +376897,15 @@ exports["default"] = exports.UserSlice.reducer;
|
|
|
376878
376897
|
|
|
376879
376898
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
376880
376899
|
exports.fsImportFolder = exports.fsImportFiles = exports.fsRemove = exports.fsAdd = exports.fsMove = exports.fsRename = void 0;
|
|
376900
|
+
const sendToast_1 = __webpack_require__(50068);
|
|
376901
|
+
const fileValidation_1 = __webpack_require__(59615);
|
|
376881
376902
|
const planners_1 = __webpack_require__(5819);
|
|
376882
|
-
const EditorTypes_1 = __webpack_require__(42108);
|
|
376883
|
-
const EditorSlice_1 = __webpack_require__(68512);
|
|
376884
|
-
const ProjectTypes_1 = __webpack_require__(27130);
|
|
376885
376903
|
const utils_1 = __webpack_require__(33321);
|
|
376886
|
-
const sendToast_1 = __webpack_require__(50068);
|
|
376887
376904
|
const constants_1 = __webpack_require__(16287);
|
|
376888
|
-
const
|
|
376905
|
+
const EditorTypes_1 = __webpack_require__(42108);
|
|
376906
|
+
const ProjectTypes_1 = __webpack_require__(27130);
|
|
376889
376907
|
const macSystemFiles_1 = __webpack_require__(18213);
|
|
376908
|
+
const EditorSlice_1 = __webpack_require__(68512);
|
|
376890
376909
|
const selectComponents = (state) => {
|
|
376891
376910
|
return state.editor.project.components ?? [];
|
|
376892
376911
|
};
|
|
@@ -376968,9 +376987,6 @@ const fsImportFiles = ({ files, parentId }) => async (dispatch, getState) => {
|
|
|
376968
376987
|
}
|
|
376969
376988
|
const { validFiles, importErrors } = (0, fileValidation_1.validateFiles)(importableFiles);
|
|
376970
376989
|
const hasDuplicates = hasCaseInsensitiveDuplicateNames(validFiles);
|
|
376971
|
-
for (const error of importErrors) {
|
|
376972
|
-
(0, sendToast_1.showError)(error.reason);
|
|
376973
|
-
}
|
|
376974
376990
|
if (validFiles.length > 0) {
|
|
376975
376991
|
(0, sendToast_1.showSuccess)(`Selected files uploaded successfully.\n${validFiles.length} of ${importableFiles.length} file(s) uploaded.`);
|
|
376976
376992
|
if (hasDuplicates) {
|
|
@@ -376979,6 +376995,11 @@ const fsImportFiles = ({ files, parentId }) => async (dispatch, getState) => {
|
|
|
376979
376995
|
}
|
|
376980
376996
|
else {
|
|
376981
376997
|
(0, sendToast_1.showError)(`Selected files couldn’t be uploaded.\n${importableFiles.length} file(s) failed to upload.`);
|
|
376998
|
+
}
|
|
376999
|
+
for (const error of importErrors) {
|
|
377000
|
+
(0, sendToast_1.showError)(error.reason);
|
|
377001
|
+
}
|
|
377002
|
+
if (validFiles.length === 0) {
|
|
376982
377003
|
return;
|
|
376983
377004
|
}
|
|
376984
377005
|
const componentsMap = (0, utils_1.buildComponentsById)(components);
|
|
@@ -377006,9 +377027,6 @@ const fsImportFolder = ({ files, parentId }) => async (dispatch, getState) => {
|
|
|
377006
377027
|
const folderName = importableFiles[0]?.webkitRelativePath?.split("/")[0];
|
|
377007
377028
|
const { validFiles, importErrors } = (0, fileValidation_1.validateFiles)(importableFiles);
|
|
377008
377029
|
const hasDuplicates = hasCaseInsensitiveDuplicateNames(validFiles);
|
|
377009
|
-
for (const error of importErrors) {
|
|
377010
|
-
(0, sendToast_1.showError)(error.reason);
|
|
377011
|
-
}
|
|
377012
377030
|
if (validFiles.length > 0) {
|
|
377013
377031
|
(0, sendToast_1.showSuccess)(`Folder '${folderName}' upload complete.\n${validFiles.length} of ${importableFiles.length} file(s) uploaded successfully.`);
|
|
377014
377032
|
if (hasDuplicates) {
|
|
@@ -377017,6 +377035,11 @@ const fsImportFolder = ({ files, parentId }) => async (dispatch, getState) => {
|
|
|
377017
377035
|
}
|
|
377018
377036
|
else {
|
|
377019
377037
|
(0, sendToast_1.showError)(`'${folderName}' folder couldn't be uploaded.\n${importableFiles.length} file(s) failed to upload.`);
|
|
377038
|
+
}
|
|
377039
|
+
for (const error of importErrors) {
|
|
377040
|
+
(0, sendToast_1.showError)(error.reason);
|
|
377041
|
+
}
|
|
377042
|
+
if (validFiles.length === 0) {
|
|
377020
377043
|
return;
|
|
377021
377044
|
}
|
|
377022
377045
|
const componentsMap = (0, utils_1.buildComponentsById)(components);
|
package/dist/style.css
CHANGED
|
@@ -693,7 +693,7 @@
|
|
|
693
693
|
:root{--rpf-white: #ffffff}.styles-module__editorStatistic--EyK0S{display:flex;justify-content:space-between;align-items:center;inline-size:100%;border-block-start:1px solid #e5e5e5;padding:calc(.625rem*var(--scale-factor, 1)) calc(.75rem*var(--scale-factor, 1));font-weight:400;font-size:calc(.75rem*var(--scale-factor, 1));line-height:calc(1.5rem*var(--scale-factor, 1))}.styles-module__editorStatistic--EyK0S .styles-module__contentType--Sb4eE{text-transform:uppercase}
|
|
694
694
|
.styles-module__previewContainer--gHB-N{block-size:100%;display:flex;align-items:center;justify-content:center}
|
|
695
695
|
:root{--rpf-white: #ffffff}.styles-module__readOnlyContainer--GooG6{display:flex;justify-content:flex-end;margin:8px 4px 4px 4px}.styles-module__readOnlyContainerLeft--D6yHv{justify-content:flex-start}.styles-module__readOnlyBanner--b4PPC{background-color:#e5e5e5;padding:4px 8px;border-radius:12px;font-weight:400;font-size:calc(.5rem*var(--scale-factor, 1));line-height:calc(1rem*var(--scale-factor, 1));display:flex;gap:4px;align-items:center;color:#69746d}
|
|
696
|
-
:root{--rpf-white: #ffffff}.styles-module__tabbedPanel--Sovmr{display:flex;flex-direction:column;block-size:100%;inline-size:100%}.styles-module__tabbedPanel--Sovmr .styles-module__viewOnlyBanner--vSOaw{font-weight:700;padding:var(--space-0-5) var(--space-1);border-block-end:1px solid var(--editor-color-outline)}.styles-module__tabbedPanel--Sovmr .styles-module__scrollWrapper--Q8zaL{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-color:HSL(0, 0%, 14%, 30%) rgba(0,0,0,0);scrollbar-width:none;-ms-overflow-style:none}.styles-module__tabbedPanel--Sovmr .styles-module__scrollWrapper--Q8zaL::-webkit-scrollbar{block-size:0;transition:height .2s ease}.styles-module__tabbedPanel--Sovmr .styles-module__scrollWrapper--Q8zaL:hover{scrollbar-width:thin}.styles-module__tabbedPanel--Sovmr .styles-module__scrollWrapper--Q8zaL:hover::-webkit-scrollbar{block-size:calc(.25rem*var(--scale-factor, 1))}.styles-module__tabbedPanel--Sovmr .styles-module__closeBtn--g8-AM{block-size:100%;padding:0;padding-inline-start:calc(1rem*var(--scale-factor, 1));background-color:rgba(0,0,0,0)}.styles-module__tabbedPanel--Sovmr .styles-module__closeBtn--g8-AM:focus-visible{border:0}.styles-module__tabTooltip--DO-Hr{margin-block-start:0}.tabContainer{border-block-end:1px solid #e5e5e5;background-color:#e5f6f1;position:relative;block-size:calc(2.625rem*var(--scale-factor, 1));overflow:hidden}.tabText{display:flex;align-items:center;block-size:fit-content;inline-size:fit-content;margin:0;gap:calc(.5rem*var(--scale-factor, 1));line-height:calc(1rem*var(--scale-factor, 1));white-space:nowrap}.react-tabs{flex:1;display:flex;flex-flow:column;overflow:hidden;position:relative;border-radius:calc(.5rem*var(--scale-factor, 1)) calc(.5rem*var(--scale-factor, 1)) calc(.25rem*var(--scale-factor, 1)) calc(.25rem*var(--scale-factor, 1))}.react-tabs__tab{border:none;background-color:rgba(0,0,0,0);padding:0 calc(1rem*var(--scale-factor, 1));margin:0;inset-block-start:0;inset-block-end:0;min-block-size:calc(2.625rem*var(--scale-factor, 1));display:flex;align-items:center;justify-content:center;font-weight:700;color:#33625e;border-inline-end:1px solid #e5e5e5;flex:0 0 auto}.react-tabs__tab--selected{border-radius:0;background-color:#fff}.react-tabs__tab:focus{box-shadow:none;border-color:#e5e5e5}.react-tabs__tab:focus-visible{outline-offset:-3px}.react-tabs__tab:focus:after{display:none}.react-tabs__tab-list{border-block-end:none;box-sizing:border-box;display:inline-flex;align-items:center;flex-wrap:nowrap;margin:0;min-inline-size:100%}.react-tabs__tab-panel--selected{flex:1;display:flex;flex-direction:column;overflow-y:auto;background-color:#fff}
|
|
696
|
+
:root{--rpf-white: #ffffff}.styles-module__tabbedPanel--Sovmr{display:flex;flex-direction:column;block-size:100%;inline-size:100%}.styles-module__tabbedPanel--Sovmr .styles-module__viewOnlyBanner--vSOaw{font-weight:700;padding:var(--space-0-5) var(--space-1);border-block-end:1px solid var(--editor-color-outline)}.styles-module__tabbedPanel--Sovmr .styles-module__scrollWrapper--Q8zaL{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-color:HSL(0, 0%, 14%, 30%) rgba(0,0,0,0);scrollbar-width:none;-ms-overflow-style:none}.styles-module__tabbedPanel--Sovmr .styles-module__scrollWrapper--Q8zaL::-webkit-scrollbar{block-size:0;transition:height .2s ease}.styles-module__tabbedPanel--Sovmr .styles-module__scrollWrapper--Q8zaL:hover{scrollbar-width:thin}.styles-module__tabbedPanel--Sovmr .styles-module__scrollWrapper--Q8zaL:hover::-webkit-scrollbar{block-size:calc(.25rem*var(--scale-factor, 1))}.styles-module__tabbedPanel--Sovmr .styles-module__closeBtn--g8-AM{block-size:100%;padding:0;padding-inline-start:calc(1rem*var(--scale-factor, 1));background-color:rgba(0,0,0,0)}.styles-module__tabbedPanel--Sovmr .styles-module__closeBtn--g8-AM:focus-visible{border:0}.styles-module__tabTooltip--DO-Hr{min-inline-size:auto;inline-size:max-content;max-inline-size:min(90vw,32rem);margin-block-start:0}.tabContainer{border-block-end:1px solid #e5e5e5;background-color:#e5f6f1;position:relative;block-size:calc(2.625rem*var(--scale-factor, 1));overflow:hidden}.tabText{display:flex;align-items:center;block-size:fit-content;inline-size:fit-content;margin:0;gap:calc(.5rem*var(--scale-factor, 1));line-height:calc(1rem*var(--scale-factor, 1));white-space:nowrap}.react-tabs{flex:1;display:flex;flex-flow:column;overflow:hidden;position:relative;border-radius:calc(.5rem*var(--scale-factor, 1)) calc(.5rem*var(--scale-factor, 1)) calc(.25rem*var(--scale-factor, 1)) calc(.25rem*var(--scale-factor, 1))}.react-tabs__tab{border:none;background-color:rgba(0,0,0,0);padding:0 calc(1rem*var(--scale-factor, 1));margin:0;inset-block-start:0;inset-block-end:0;min-block-size:calc(2.625rem*var(--scale-factor, 1));display:flex;align-items:center;justify-content:center;font-weight:700;color:#33625e;border-inline-end:1px solid #e5e5e5;flex:0 0 auto}.react-tabs__tab--selected{border-radius:0;background-color:#fff}.react-tabs__tab:focus{box-shadow:none;border-color:#e5e5e5}.react-tabs__tab:focus-visible{outline-offset:-3px}.react-tabs__tab:focus:after{display:none}.react-tabs__tab-list{border-block-end:none;box-sizing:border-box;display:inline-flex;align-items:center;flex-wrap:nowrap;margin:0;min-inline-size:100%}.react-tabs__tab-panel--selected{flex:1;display:flex;flex-direction:column;overflow-y:auto;background-color:#fff}
|
|
697
697
|
:root{--rpf-white: #ffffff}.styles-module__proj--ZFm0o{display:flex;flex-flow:column;overflow:hidden;block-size:100%}.styles-module__projContainer--foKo4{display:flex;flex-direction:row;overflow-y:hidden;margin:0 8px 6px 0px;block-size:100%}.styles-module__projContainer--foKo4 .styles-module__projectWrapper--Yq8Yr{container-type:inline-size;display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden}.styles-module__projContainer--foKo4 .styles-module__projEditorWrapper--SISJR{display:flex;flex:0 1 auto;flex-flow:column;grid-gap:calc(.625rem*var(--scale-factor, 1));overflow:hidden;block-size:100%;inline-size:100%}@container (min-width: 720px){.styles-module__projContainer--foKo4 .styles-module__projEditorWrapper--SISJR{flex-flow:row}.styles-module__projContainer--foKo4 .styles-module__projEditorContainer--jWAlR{max-block-size:100% !important}}.styles-module__projContainer--foKo4 .styles-module__projEditorContainer--jWAlR{display:flex;box-sizing:border-box;background-color:#fff;min-block-size:30%;max-block-size:70%;border-radius:8px}.styles-module__projContainer--foKo4 .styles-module__projEditorContainer--jWAlR .styles-module__react-tabs__tab-panel--selected--RwR-m{overflow-y:hidden}.styles-module__projContainer--foKo4 .styles-module__projEditorContainer--jWAlR .styles-module__react-tabs__tab-list--gM7uT{flex:1}.styles-module__projContainer--foKo4 .styles-module__projEditorContainer--jWAlR .styles-module__react-tabs__tab-container--ycENl .styles-module__btn--run--u9TgZ,.styles-module__projContainer--foKo4 .styles-module__projEditorContainer--jWAlR .styles-module__react-tabs__tab-container--ycENl .styles-module__btn--stop--gJCsY{margin-block-start:0;margin-block-end:0}
|
|
698
698
|
:root{--rpf-white: #ffffff}.styles-module__viewSwitcher--h0ODR{display:flex}.styles-module__viewSwitcherBtn--v6-ir{inline-size:calc(2.75rem*var(--scale-factor, 1));block-size:calc(2.75rem*var(--scale-factor, 1));cursor:pointer;transition:background-color .15s ease}.styles-module__viewSwitcherBtnWrapper--OarYg{position:relative;display:flex}.styles-module__viewSwitcherBtnWrapper--OarYg:first-child .styles-module__viewSwitcherBtn--v6-ir{border-radius:calc(.75rem*var(--scale-factor, 1)) 0 0 calc(.75rem*var(--scale-factor, 1))}.styles-module__viewSwitcherBtnWrapper--OarYg:last-child .styles-module__viewSwitcherBtn--v6-ir{border-radius:0 calc(.75rem*var(--scale-factor, 1)) calc(.75rem*var(--scale-factor, 1)) 0}.styles-module__viewSwitcherBtnActive--m2JP-{background-color:#fff}
|
|
699
699
|
:root{--rpf-white: #ffffff}.styles-module__container--uYbdi{color:#e0201c;padding:calc(.75rem*var(--scale-factor, 1)) calc(1.25rem*var(--scale-factor, 1));overflow-y:auto;display:flex;flex-direction:column;gap:calc(1rem*var(--scale-factor, 1));min-block-size:fit-content}.styles-module__message--hNGZt{padding:0;margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:18px;font-family:"Roboto Mono",source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.styles-module__infoBox--Ti35B{inline-size:100%;overflow-wrap:break-word;padding:calc(.5rem*var(--scale-factor, 1));background-color:#ffd5ce;color:#520e0e;display:flex;flex-direction:row;align-items:start;justify-content:flex-start;border:1px solid #e0201c;border-radius:calc(.5rem*var(--scale-factor, 1));gap:calc(.25rem*var(--scale-factor, 1))}.styles-module__infoBox--Ti35B svg{color:#e0201c}.styles-module__infoText--jXz2P{display:flex;flex-direction:column;align-items:flex-start;gap:calc(.3125rem*var(--scale-factor, 1))}.styles-module__notFoundContainer--YfNdr{inline-size:100%;block-size:100%;display:flex;flex-direction:column;align-items:center;gap:calc(2rem*var(--scale-factor, 1));padding:calc(2rem*var(--scale-factor, 1)) calc(1rem*var(--scale-factor, 1));overflow:scroll;justify-content:space-evenly}.styles-module__notFoundText--q6EKC{display:flex;flex-direction:column;align-items:center;gap:calc(1rem*var(--scale-factor, 1))}
|
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.3.
|
|
4
|
+
"version": "0.3.15",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/GirlsFirst/gwchq-textjam",
|
|
7
7
|
"author": "Girls Who Code HQ",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"*.scss"
|
|
48
48
|
],
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@babel/core": "^7.
|
|
50
|
+
"@babel/core": "^7.29.7",
|
|
51
51
|
"@codemirror/commands": "^6.1.1",
|
|
52
52
|
"@codemirror/lang-css": "^6.0.0",
|
|
53
53
|
"@codemirror/lang-html": "^6.1.2",
|
|
@@ -61,11 +61,11 @@
|
|
|
61
61
|
"@juggle/resize-observer": "^3.3.1",
|
|
62
62
|
"@lezer/highlight": "^1.0.0",
|
|
63
63
|
"@raspberrypifoundation/design-system-react": "^2.7.0",
|
|
64
|
-
"@reduxjs/toolkit": "^
|
|
64
|
+
"@reduxjs/toolkit": "^2.12.0",
|
|
65
65
|
"@replit/codemirror-indentation-markers": "^6.1.0",
|
|
66
66
|
"@szhsin/react-menu": "^4.5.1",
|
|
67
67
|
"assert": "^2.1.0",
|
|
68
|
-
"axios": "^
|
|
68
|
+
"axios": "^1.18.0",
|
|
69
69
|
"classnames": "^2.5.1",
|
|
70
70
|
"codemirror": "^6.0.1",
|
|
71
71
|
"date-fns": "^4.1.0",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"jszip-utils": "^0.1.0",
|
|
82
82
|
"marked": "^15.0.6",
|
|
83
83
|
"mime-types": "^2.1.35",
|
|
84
|
-
"node-html-parser": "^
|
|
85
|
-
"plotly.js": "^3.0
|
|
86
|
-
"prismjs": "^1.
|
|
84
|
+
"node-html-parser": "^7.1.0",
|
|
85
|
+
"plotly.js": "^3.6.0",
|
|
86
|
+
"prismjs": "^1.30.0",
|
|
87
87
|
"process": "^0.11.10",
|
|
88
88
|
"prop-types": "^15.8.1",
|
|
89
89
|
"rc-resize-observer": "^1.3.1",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"react-redux": "^7.2.5",
|
|
98
98
|
"react-refresh": "^0.8.3",
|
|
99
99
|
"react-responsive": "^9.0.2",
|
|
100
|
-
"react-router-dom": "^6.
|
|
100
|
+
"react-router-dom": "^6.30.4",
|
|
101
101
|
"react-tabs": "^4.2.1",
|
|
102
102
|
"react-timer-hook": "^3.0.5",
|
|
103
103
|
"react-toastify": "^8.1.0",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"@babel/preset-env": "^7.17.10",
|
|
124
124
|
"@babel/preset-typescript": "^7.28.5",
|
|
125
125
|
"@pmmmwh/react-refresh-webpack-plugin": "0.4.3",
|
|
126
|
-
"@svgr/webpack": "
|
|
126
|
+
"@svgr/webpack": "8.1.0",
|
|
127
127
|
"@testing-library/jest-dom": "^5.16.5",
|
|
128
128
|
"@testing-library/react": "14.3.1",
|
|
129
129
|
"@testing-library/user-event": "^12.1.10",
|
|
@@ -180,7 +180,6 @@
|
|
|
180
180
|
"lint-staged": "^16.3.2",
|
|
181
181
|
"mini-css-extract-plugin": "^2.9.4",
|
|
182
182
|
"mock-match-media": "^0.4.3",
|
|
183
|
-
"optimize-css-assets-webpack-plugin": "5.0.4",
|
|
184
183
|
"path-browserify": "^1.0.1",
|
|
185
184
|
"pnp-webpack-plugin": "1.6.4",
|
|
186
185
|
"postcss-flexbugs-fixes": "4.2.1",
|
|
@@ -192,7 +191,7 @@
|
|
|
192
191
|
"prettier": "^2.8.8",
|
|
193
192
|
"react": "^18.1.0",
|
|
194
193
|
"react-app-polyfill": "^3.0.0",
|
|
195
|
-
"react-dev-utils": "^
|
|
194
|
+
"react-dev-utils": "^12.0.1",
|
|
196
195
|
"react-dom": "^18.1.0",
|
|
197
196
|
"react-test-renderer": "^18.1.0",
|
|
198
197
|
"redux-mock-store": "^1.5.4",
|
|
@@ -297,5 +296,12 @@
|
|
|
297
296
|
"resetMocks": true,
|
|
298
297
|
"coverageDirectory": "./coverage"
|
|
299
298
|
},
|
|
299
|
+
"resolutions": {
|
|
300
|
+
"@babel/core": "7.29.7",
|
|
301
|
+
"form-data@~2.3.2": "2.5.6",
|
|
302
|
+
"form-data@^4.0.0": "4.0.6",
|
|
303
|
+
"form-data@^4.0.5": "4.0.6",
|
|
304
|
+
"protocol-buffers-schema@^3.3.1": "3.6.1"
|
|
305
|
+
},
|
|
300
306
|
"packageManager": "yarn@3.4.1"
|
|
301
307
|
}
|