gwchq-textjam 0.2.21 → 0.2.22
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 +58 -37
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -68344,8 +68344,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
68344
68344
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
68345
68345
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
68346
68346
|
/* harmony export */ });
|
|
68347
|
-
/* harmony import */ var
|
|
68348
|
-
/* harmony import */ var
|
|
68347
|
+
/* harmony import */ var C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89379);
|
|
68348
|
+
/* harmony import */ var C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(53986);
|
|
68349
68349
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
68350
68350
|
/* harmony import */ var _hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(98850);
|
|
68351
68351
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14062);
|
|
@@ -68369,7 +68369,7 @@ var DraggableTab = _ref => {
|
|
|
68369
68369
|
panelIndex,
|
|
68370
68370
|
fileIndex
|
|
68371
68371
|
} = _ref,
|
|
68372
|
-
otherProps = (0,
|
|
68372
|
+
otherProps = (0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_ref, _excluded);
|
|
68373
68373
|
var openFiles = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(state => state.editor.openedFiles);
|
|
68374
68374
|
var openFilesCount = openFiles[panelIndex].length;
|
|
68375
68375
|
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
|
|
@@ -68386,7 +68386,7 @@ var DraggableTab = _ref => {
|
|
|
68386
68386
|
switchToFileTab(panelIndex, (fileIndex + openFilesCount - 1) % openFilesCount);
|
|
68387
68387
|
}
|
|
68388
68388
|
};
|
|
68389
|
-
var InnerTab = () => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_2__.Tab, (0,
|
|
68389
|
+
var InnerTab = () => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_2__.Tab, (0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
|
|
68390
68390
|
onClick: e => {
|
|
68391
68391
|
e.stopPropagation();
|
|
68392
68392
|
switchToFileTab(panelIndex, fileIndex);
|
|
@@ -68404,7 +68404,7 @@ var DraggableTab = _ref => {
|
|
|
68404
68404
|
draggableProps,
|
|
68405
68405
|
dragHandleProps
|
|
68406
68406
|
} = _ref2;
|
|
68407
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", (0,
|
|
68407
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", (0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
|
|
68408
68408
|
className: "draggable-tab",
|
|
68409
68409
|
ref: innerRef
|
|
68410
68410
|
}, draggableProps), dragHandleProps), {}, {
|
|
@@ -68426,8 +68426,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
68426
68426
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
68427
68427
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
68428
68428
|
/* harmony export */ });
|
|
68429
|
-
/* harmony import */ var
|
|
68430
|
-
/* harmony import */ var
|
|
68429
|
+
/* harmony import */ var C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89379);
|
|
68430
|
+
/* harmony import */ var C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53986);
|
|
68431
68431
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
68432
68432
|
/* harmony import */ var _hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(98850);
|
|
68433
68433
|
/* harmony import */ var react_tabs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39243);
|
|
@@ -68446,8 +68446,8 @@ var DroppableTabList = _ref => {
|
|
|
68446
68446
|
children: _children,
|
|
68447
68447
|
index
|
|
68448
68448
|
} = _ref,
|
|
68449
|
-
otherProps = (0,
|
|
68450
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_1__.TabList, (0,
|
|
68449
|
+
otherProps = (0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_ref, _excluded);
|
|
68450
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_1__.TabList, (0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)((0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)({}, otherProps), {}, {
|
|
68451
68451
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_6__.Droppable, {
|
|
68452
68452
|
direction: "horizontal",
|
|
68453
68453
|
droppableId: index.toString(),
|
|
@@ -68457,7 +68457,7 @@ var DroppableTabList = _ref => {
|
|
|
68457
68457
|
droppableProps,
|
|
68458
68458
|
placeholder
|
|
68459
68459
|
} = _ref2;
|
|
68460
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", (0,
|
|
68460
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", (0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)((0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)({
|
|
68461
68461
|
className: "droppable-tab-list"
|
|
68462
68462
|
}, droppableProps), {}, {
|
|
68463
68463
|
ref: innerRef,
|
|
@@ -103011,7 +103011,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
103011
103011
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
103012
103012
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
103013
103013
|
/* harmony export */ });
|
|
103014
|
-
/* harmony import */ var
|
|
103014
|
+
/* harmony import */ var C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89379);
|
|
103015
103015
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
103016
103016
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14062);
|
|
103017
103017
|
/* harmony import */ var _redux_EditorSlice__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(68512);
|
|
@@ -103042,14 +103042,14 @@ var ProjectName = _ref => {
|
|
|
103042
103042
|
var project = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(state => state.editor.project, react_redux__WEBPACK_IMPORTED_MODULE_1__.shallowEqual);
|
|
103043
103043
|
var projectName = getProjectName(project);
|
|
103044
103044
|
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
|
|
103045
|
-
var {
|
|
103046
|
-
hovered,
|
|
103047
|
-
hoverProps
|
|
103048
|
-
} = (0,_hooks_useHover__WEBPACK_IMPORTED_MODULE_5__.useHover)();
|
|
103049
103045
|
var nameInput = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
103050
103046
|
var nameBeforeEditingRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(projectName);
|
|
103051
103047
|
var [isEditing, setEditing] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
103052
103048
|
var [name, setName] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(projectName);
|
|
103049
|
+
var {
|
|
103050
|
+
hovered,
|
|
103051
|
+
hoverProps
|
|
103052
|
+
} = (0,_hooks_useHover__WEBPACK_IMPORTED_MODULE_5__.useHover)(_hooks_useHover__WEBPACK_IMPORTED_MODULE_5__.TOOLTIP_SHOW_DELAY_MS);
|
|
103053
103053
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
103054
103054
|
if (!isEditing) {
|
|
103055
103055
|
setName(projectName);
|
|
@@ -103125,7 +103125,7 @@ var ProjectName = _ref => {
|
|
|
103125
103125
|
id: "project_name_label",
|
|
103126
103126
|
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__["default"].projectLabel,
|
|
103127
103127
|
children: "Project Name"
|
|
103128
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", (0,
|
|
103128
|
+
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", (0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,C_Project_source_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
|
|
103129
103129
|
className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(_styles_module_scss__WEBPACK_IMPORTED_MODULE_3__["default"].projectName, className)
|
|
103130
103130
|
}, hoverProps), {}, {
|
|
103131
103131
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)((components_Tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_8___default()), {
|
|
@@ -370864,6 +370864,7 @@ const ContextMenu = (props) => {
|
|
|
370864
370864
|
[styles_module_scss_1.default.withDivider]: showDivider && i !== menuOptions.length - 1,
|
|
370865
370865
|
}), onClick: (e) => {
|
|
370866
370866
|
e.stopPropagation = true;
|
|
370867
|
+
e.syntheticEvent.stopPropagation();
|
|
370867
370868
|
option.action?.();
|
|
370868
370869
|
onClose();
|
|
370869
370870
|
}, children: [(0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.optionContent, children: [option.icon ?? null, option.text] }), hoverElement && ((0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.hoverElement, children: hoverElement }))] }, option.id ?? i)))] }));
|
|
@@ -370993,32 +370994,21 @@ const ItemEdit_1 = __webpack_require__(61576);
|
|
|
370993
370994
|
const ItemIcon_1 = __webpack_require__(3427);
|
|
370994
370995
|
const styles_module_scss_1 = __importDefault(__webpack_require__(68233));
|
|
370995
370996
|
const Tooltip_1 = __importDefault(__webpack_require__(26982));
|
|
370997
|
+
const useHover_1 = __webpack_require__(78556);
|
|
370996
370998
|
const button_dots_svg_1 = __importDefault(__webpack_require__(80054));
|
|
370997
370999
|
const SvgIcon_1 = __webpack_require__(82917);
|
|
370998
|
-
const react_1 = __webpack_require__(51649);
|
|
370999
371000
|
const stores_1 = __webpack_require__(32132);
|
|
371000
371001
|
const BasicItemContent = ({ item, onContextMenu, }) => {
|
|
371001
371002
|
const itemData = item.getItemData();
|
|
371002
|
-
const [showTooltip, setShowTooltip] = (0, react_1.useState)(false);
|
|
371003
|
-
const timerRef = (0, react_1.useRef)(undefined);
|
|
371004
371003
|
const isSharedProject = (0, stores_1.useAppSelector)((state) => state.editor.isSharedProject);
|
|
371004
|
+
const { hovered, hoverProps } = (0, useHover_1.useHover)(useHover_1.TOOLTIP_SHOW_DELAY_MS);
|
|
371005
371005
|
if (item.isRenaming()) {
|
|
371006
371006
|
return (0, jsx_runtime_1.jsx)(ItemEdit_1.ItemEdit, { item: item });
|
|
371007
371007
|
}
|
|
371008
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.itemContent, onContextMenu: onContextMenu, children: [(0, jsx_runtime_1.jsx)(ItemIcon_1.ItemIcon, { itemData: itemData }), (0, jsx_runtime_1.jsx)(Text_1.Text, { className: styles_module_scss_1.default.itemTitle, size: 12, draggable: true,
|
|
371009
|
-
timerRef.current = setTimeout(() => {
|
|
371010
|
-
setShowTooltip(true);
|
|
371011
|
-
}, 1000);
|
|
371012
|
-
}, onMouseLeave: () => {
|
|
371013
|
-
clearTimeout(timerRef.current);
|
|
371014
|
-
setShowTooltip(false);
|
|
371015
|
-
}, onDragStart: () => {
|
|
371016
|
-
clearTimeout(timerRef.current);
|
|
371017
|
-
setShowTooltip(false);
|
|
371018
|
-
}, children: item.getItemName() }), !isSharedProject && ((0, jsx_runtime_1.jsx)(SvgIcon_1.SvgIcon, { className: styles_module_scss_1.default.itemButton, size: 16, SvgElement: button_dots_svg_1.default, onClick: (e) => {
|
|
371008
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.itemContent, onContextMenu: onContextMenu, children: [(0, jsx_runtime_1.jsx)(ItemIcon_1.ItemIcon, { itemData: itemData }), (0, jsx_runtime_1.jsx)(Text_1.Text, { className: styles_module_scss_1.default.itemTitle, size: 12, draggable: true, ...hoverProps, children: item.getItemName() }), !isSharedProject && ((0, jsx_runtime_1.jsx)(SvgIcon_1.SvgIcon, { className: styles_module_scss_1.default.itemButton, size: 16, SvgElement: button_dots_svg_1.default, onClick: (e) => {
|
|
371019
371009
|
onContextMenu(e);
|
|
371020
371010
|
e.stopPropagation();
|
|
371021
|
-
} }))] }), (0, jsx_runtime_1.jsx)(Tooltip_1.default, { message: item.getItemName(), visible:
|
|
371011
|
+
} }))] }), (0, jsx_runtime_1.jsx)(Tooltip_1.default, { message: item.getItemName(), visible: hovered, position: "bottom" })] }));
|
|
371022
371012
|
};
|
|
371023
371013
|
exports.BasicItemContent = BasicItemContent;
|
|
371024
371014
|
|
|
@@ -373515,17 +373505,48 @@ exports.validateProjectFilesCount = validateProjectFilesCount;
|
|
|
373515
373505
|
|
|
373516
373506
|
|
|
373517
373507
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
373518
|
-
exports.useHover = void 0;
|
|
373508
|
+
exports.useHover = exports.TOOLTIP_SHOW_DELAY_MS = void 0;
|
|
373519
373509
|
const react_1 = __webpack_require__(51649);
|
|
373520
|
-
|
|
373510
|
+
exports.TOOLTIP_SHOW_DELAY_MS = 1000;
|
|
373511
|
+
const useHover = (delay = 0) => {
|
|
373521
373512
|
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
373513
|
+
const timeoutRef = (0, react_1.useRef)(null);
|
|
373514
|
+
const clearHoverTimeout = () => {
|
|
373515
|
+
if (timeoutRef.current !== null) {
|
|
373516
|
+
clearTimeout(timeoutRef.current);
|
|
373517
|
+
timeoutRef.current = null;
|
|
373518
|
+
}
|
|
373519
|
+
};
|
|
373520
|
+
const activate = () => {
|
|
373521
|
+
clearHoverTimeout();
|
|
373522
|
+
if (delay > 0) {
|
|
373523
|
+
timeoutRef.current = setTimeout(() => {
|
|
373524
|
+
setHovered(true);
|
|
373525
|
+
timeoutRef.current = null;
|
|
373526
|
+
}, delay);
|
|
373527
|
+
}
|
|
373528
|
+
else {
|
|
373529
|
+
setHovered(true);
|
|
373530
|
+
}
|
|
373531
|
+
};
|
|
373532
|
+
const deactivate = () => {
|
|
373533
|
+
clearHoverTimeout();
|
|
373534
|
+
setHovered(false);
|
|
373535
|
+
};
|
|
373536
|
+
(0, react_1.useEffect)(() => {
|
|
373537
|
+
return () => {
|
|
373538
|
+
clearHoverTimeout();
|
|
373539
|
+
};
|
|
373540
|
+
}, []);
|
|
373522
373541
|
return {
|
|
373523
373542
|
hovered,
|
|
373524
373543
|
hoverProps: {
|
|
373525
|
-
onMouseEnter:
|
|
373526
|
-
onMouseLeave:
|
|
373527
|
-
onFocus:
|
|
373528
|
-
onBlur:
|
|
373544
|
+
onMouseEnter: activate,
|
|
373545
|
+
onMouseLeave: deactivate,
|
|
373546
|
+
onFocus: activate,
|
|
373547
|
+
onBlur: deactivate,
|
|
373548
|
+
onDragStart: deactivate,
|
|
373549
|
+
onKeyDown: deactivate,
|
|
373529
373550
|
},
|
|
373530
373551
|
};
|
|
373531
373552
|
};
|
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.2.
|
|
4
|
+
"version": "0.2.22",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/GirlsFirst/gwchq-textjam",
|
|
7
7
|
"author": "Girls Who Code HQ",
|