gwchq-textjam 0.1.75 → 0.1.76

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.
Files changed (2) hide show
  1. package/dist/index.js +92 -78
  2. package/package.json +11 -2
package/dist/index.js CHANGED
@@ -65649,6 +65649,35 @@ function SvgPythonFile(props) {
65649
65649
 
65650
65650
  /***/ }),
65651
65651
 
65652
+ /***/ 48268:
65653
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
65654
+
65655
+ __webpack_require__.r(__webpack_exports__);
65656
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
65657
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
65658
+ /* harmony export */ });
65659
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
65660
+ var _path;
65661
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
65662
+
65663
+ function SvgShare(props) {
65664
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
65665
+ width: 19,
65666
+ height: 20,
65667
+ fill: "none",
65668
+ xmlns: "http://www.w3.org/2000/svg"
65669
+ }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
65670
+ d: "M6.031 11.359l6.147 3.582m-.009-9.882L6.031 8.641M17.2 3.7a2.7 2.7 0 11-5.4 0 2.7 2.7 0 015.4 0zM6.4 10A2.7 2.7 0 111 10a2.7 2.7 0 015.4 0zm10.8 6.3a2.7 2.7 0 11-5.4 0 2.7 2.7 0 015.4 0z",
65671
+ stroke: "#003046",
65672
+ strokeWidth: 2,
65673
+ strokeLinecap: "round",
65674
+ strokeLinejoin: "round"
65675
+ })));
65676
+ }
65677
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgShare);
65678
+
65679
+ /***/ }),
65680
+
65652
65681
  /***/ 54275:
65653
65682
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
65654
65683
 
@@ -68089,8 +68118,8 @@ __webpack_require__.r(__webpack_exports__);
68089
68118
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
68090
68119
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
68091
68120
  /* harmony export */ });
68092
- /* harmony import */ var _Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89379);
68093
- /* harmony import */ var _Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(53986);
68121
+ /* harmony import */ var _Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89379);
68122
+ /* harmony import */ var _Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(53986);
68094
68123
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
68095
68124
  /* harmony import */ var _hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(98850);
68096
68125
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14062);
@@ -68114,7 +68143,7 @@ var DraggableTab = _ref => {
68114
68143
  panelIndex,
68115
68144
  fileIndex
68116
68145
  } = _ref,
68117
- otherProps = (0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_ref, _excluded);
68146
+ otherProps = (0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_ref, _excluded);
68118
68147
  var openFiles = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(state => state.editor.openedFiles);
68119
68148
  var openFilesCount = openFiles[panelIndex].length;
68120
68149
  var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
@@ -68131,7 +68160,7 @@ var DraggableTab = _ref => {
68131
68160
  switchToFileTab(panelIndex, (fileIndex + openFilesCount - 1) % openFilesCount);
68132
68161
  }
68133
68162
  };
68134
- var InnerTab = () => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_2__.Tab, (0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
68163
+ var InnerTab = () => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_2__.Tab, (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)({
68135
68164
  onClick: e => {
68136
68165
  e.stopPropagation();
68137
68166
  switchToFileTab(panelIndex, fileIndex);
@@ -68149,7 +68178,7 @@ var DraggableTab = _ref => {
68149
68178
  draggableProps,
68150
68179
  dragHandleProps
68151
68180
  } = _ref2;
68152
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", (0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)((0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
68181
+ return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("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)((0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)({
68153
68182
  className: "draggable-tab",
68154
68183
  ref: innerRef
68155
68184
  }, draggableProps), dragHandleProps), {}, {
@@ -68171,8 +68200,8 @@ __webpack_require__.r(__webpack_exports__);
68171
68200
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
68172
68201
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
68173
68202
  /* harmony export */ });
68174
- /* harmony import */ var _Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89379);
68175
- /* harmony import */ var _Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53986);
68203
+ /* harmony import */ var _Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89379);
68204
+ /* harmony import */ var _Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53986);
68176
68205
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
68177
68206
  /* harmony import */ var _hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(98850);
68178
68207
  /* harmony import */ var react_tabs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39243);
@@ -68191,8 +68220,8 @@ var DroppableTabList = _ref => {
68191
68220
  children: _children,
68192
68221
  index
68193
68222
  } = _ref,
68194
- otherProps = (0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_ref, _excluded);
68195
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(react_tabs__WEBPACK_IMPORTED_MODULE_1__.TabList, (0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)((0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)({}, otherProps), {}, {
68223
+ otherProps = (0,_Users_valeriya_projects_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_ref, _excluded);
68224
+ 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), {}, {
68196
68225
  children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_hello_pangea_dnd__WEBPACK_IMPORTED_MODULE_6__.Droppable, {
68197
68226
  direction: "horizontal",
68198
68227
  droppableId: index.toString(),
@@ -68202,7 +68231,7 @@ var DroppableTabList = _ref => {
68202
68231
  droppableProps,
68203
68232
  placeholder
68204
68233
  } = _ref2;
68205
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", (0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)((0,_Users_hanna_gwc_gwchq_textjam_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)({
68234
+ 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)({
68206
68235
  className: "droppable-tab-list"
68207
68236
  }, droppableProps), {}, {
68208
68237
  ref: innerRef,
@@ -101698,7 +101727,7 @@ var EditorPanel = _ref => {
101698
101727
 
101699
101728
  /***/ }),
101700
101729
 
101701
- /***/ 6455:
101730
+ /***/ 68065:
101702
101731
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
101703
101732
 
101704
101733
  // ESM COMPAT FLAG
@@ -101908,55 +101937,9 @@ var SaveButton = props => {
101908
101937
  }, props));
101909
101938
  };
101910
101939
  /* harmony default export */ const SaveButton_SaveButton = (SaveButton);
101911
- ;// ./src/assets/icons/share.svg
101912
- var share_path;
101913
- function share_extends() { return share_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, share_extends.apply(null, arguments); }
101914
-
101915
- function SvgShare(props) {
101916
- return /*#__PURE__*/external_react_.createElement("svg", share_extends({
101917
- width: 19,
101918
- height: 20,
101919
- fill: "none",
101920
- xmlns: "http://www.w3.org/2000/svg"
101921
- }, props), share_path || (share_path = /*#__PURE__*/external_react_.createElement("path", {
101922
- d: "M6.031 11.359l6.147 3.582m-.009-9.882L6.031 8.641M17.2 3.7a2.7 2.7 0 11-5.4 0 2.7 2.7 0 015.4 0zM6.4 10A2.7 2.7 0 111 10a2.7 2.7 0 015.4 0zm10.8 6.3a2.7 2.7 0 11-5.4 0 2.7 2.7 0 015.4 0z",
101923
- stroke: "#003046",
101924
- strokeWidth: 2,
101925
- strokeLinecap: "round",
101926
- strokeLinejoin: "round"
101927
- })));
101928
- }
101929
- /* harmony default export */ const share = (SvgShare);
101930
- ;// ./src/components/ShareButton/ShareButton.jsx
101931
-
101932
-
101933
-
101934
-
101935
-
101936
-
101937
-
101938
-
101939
-
101940
- var ShareButton = props => {
101941
- var dispatch = (0,external_react_redux_.useDispatch)();
101942
- var shareLinks = (0,external_react_redux_.useSelector)(state => state.editor.shareLinks);
101943
- var onClickShare = (0,external_react_.useCallback)(/*#__PURE__*/_asyncToGenerator(function* () {
101944
- dispatch((0,EditorSlice.showModal)({
101945
- modal: types.ModalType.SHARE_PROJECT,
101946
- args: {
101947
- canShareProject: true,
101948
- hideCodeUrl: shareLinks.hideCode,
101949
- showCodeUrl: shareLinks.showCode
101950
- }
101951
- }));
101952
- }), [dispatch, shareLinks]);
101953
- return /*#__PURE__*/(0,jsx_runtime.jsx)(Button["default"], (0,objectSpread2/* default */.A)({
101954
- variant: "tertiary",
101955
- ButtonIcon: share,
101956
- onClickHandler: onClickShare
101957
- }, props));
101958
- };
101959
- /* harmony default export */ const ShareButton_ShareButton = (ShareButton);
101940
+ // EXTERNAL MODULE: ./src/components/ShareButton/ShareButton.tsx
101941
+ var ShareButton = __webpack_require__(21422);
101942
+ var ShareButton_default = /*#__PURE__*/__webpack_require__.n(ShareButton);
101960
101943
  ;// ./src/assets/icons/history.svg
101961
101944
  var history_path;
101962
101945
  function history_extends() { return history_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, history_extends.apply(null, arguments); }
@@ -102049,7 +102032,7 @@ var ProjectBar = _ref => {
102049
102032
  className: ProjectBar_styles_module["default"].wrapper,
102050
102033
  children: [/*#__PURE__*/(0,jsx_runtime.jsx)(RunBar["default"], {}), loading === "success" && /*#__PURE__*/(0,jsx_runtime.jsx)((DownloadButton_default()), {
102051
102034
  className: ProjectBar_styles_module["default"].btnSvg
102052
- }), /*#__PURE__*/(0,jsx_runtime.jsx)(ShareButton_ShareButton, {
102035
+ }), /*#__PURE__*/(0,jsx_runtime.jsx)((ShareButton_default()), {
102053
102036
  className: ProjectBar_styles_module["default"].btnSvg
102054
102037
  })]
102055
102038
  })]
@@ -368455,7 +368438,7 @@ const TextJamEditor = ({ onLogoutClick = () => { }, onViewProfileClick = () => {
368455
368438
  isLoading: false,
368456
368439
  error: null,
368457
368440
  data: null,
368458
- }, shareLinks = { shareCode: "", hideCode: "" }, ...componentProps }) => {
368441
+ }, shareLinks = null, ...componentProps }) => {
368459
368442
  // Default props that match the previous web-component defaults
368460
368443
  const defaultProps = {
368461
368444
  sidebarOptions: [
@@ -371599,6 +371582,44 @@ const SharedProjectName = () => {
371599
371582
  exports["default"] = SharedProjectName;
371600
371583
 
371601
371584
 
371585
+ /***/ }),
371586
+
371587
+ /***/ 21422:
371588
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
371589
+
371590
+
371591
+ var __importDefault = (this && this.__importDefault) || function (mod) {
371592
+ return (mod && mod.__esModule) ? mod : { "default": mod };
371593
+ };
371594
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
371595
+ const jsx_runtime_1 = __webpack_require__(74848);
371596
+ const react_1 = __webpack_require__(51649);
371597
+ const share_svg_1 = __importDefault(__webpack_require__(48268));
371598
+ const Button_1 = __importDefault(__webpack_require__(60232));
371599
+ const react_redux_1 = __webpack_require__(14062);
371600
+ const EditorSlice_1 = __webpack_require__(68512);
371601
+ const types_1 = __webpack_require__(92932);
371602
+ const stores_1 = __webpack_require__(32132);
371603
+ const ShareButton = (props) => {
371604
+ const dispatch = (0, react_redux_1.useDispatch)();
371605
+ const shareLinks = (0, stores_1.useAppSelector)((state) => state.editor.shareLinks);
371606
+ const onClickShare = (0, react_1.useCallback)(async () => {
371607
+ dispatch((0, EditorSlice_1.showModal)({
371608
+ modal: types_1.ModalType.SHARE_PROJECT,
371609
+ args: {
371610
+ type: types_1.ModalType.SHARE_PROJECT,
371611
+ canShareProject: true,
371612
+ hideCodeUrl: shareLinks?.hideCode ?? null,
371613
+ showCodeUrl: shareLinks?.showCode ?? null,
371614
+ },
371615
+ }));
371616
+ }, [dispatch, shareLinks]);
371617
+ const canShare = Boolean(shareLinks);
371618
+ return ((0, jsx_runtime_1.jsx)(Button_1.default, { disabled: !canShare, variant: "tertiary", ButtonIcon: share_svg_1.default, onClickHandler: onClickShare, ...props }));
371619
+ };
371620
+ exports["default"] = ShareButton;
371621
+
371622
+
371602
371623
  /***/ }),
371603
371624
 
371604
371625
  /***/ 82803:
@@ -371695,7 +371716,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
371695
371716
  const jsx_runtime_1 = __webpack_require__(74848);
371696
371717
  const react_1 = __webpack_require__(51649);
371697
371718
  const marked_1 = __webpack_require__(6709);
371698
- const Project_1 = __importDefault(__webpack_require__(6455));
371719
+ const Project_1 = __importDefault(__webpack_require__(68065));
371699
371720
  const Output_1 = __importDefault(__webpack_require__(95148));
371700
371721
  const DefaultMZCriteria_1 = __webpack_require__(98748);
371701
371722
  const WebComponentCustomEvents_1 = __webpack_require__(30272);
@@ -372714,25 +372735,18 @@ const useProjectPersistence = ({ user, project, justLoaded, hasShownSavePrompt,
372714
372735
  // Autosave
372715
372736
  (0, react_1.useEffect)(() => {
372716
372737
  const debouncer = setTimeout(() => {
372717
- if (!project)
372738
+ if (!project || Object.keys(project).length === 0)
372718
372739
  return;
372719
- if ((0, projectHelpers_1.isOwner)(user, project) && project.identifier) {
372720
- if (justLoaded) {
372721
- dispatch((0, EditorSlice_1.expireJustLoaded)());
372722
- }
372723
- saveToIndexedDB(project).catch(console.error);
372740
+ if (justLoaded) {
372741
+ dispatch((0, EditorSlice_1.expireJustLoaded)());
372724
372742
  }
372725
372743
  else {
372726
- if (justLoaded) {
372727
- dispatch((0, EditorSlice_1.expireJustLoaded)());
372728
- }
372729
- else {
372730
- if (!hasShownSavePrompt && user && (0, projectHelpers_1.isOwner)(user, project)) {
372731
- (0, Notifications_1.showSavePrompt)();
372732
- dispatch((0, EditorSlice_1.setHasShownSavePrompt)());
372733
- }
372744
+ if (!hasShownSavePrompt && user && (0, projectHelpers_1.isOwner)(user, project)) {
372745
+ (0, Notifications_1.showSavePrompt)();
372746
+ dispatch((0, EditorSlice_1.setHasShownSavePrompt)());
372734
372747
  }
372735
372748
  }
372749
+ saveToIndexedDB(project).catch(console.error);
372736
372750
  }, autoSaveInterval);
372737
372751
  return () => clearTimeout(debouncer);
372738
372752
  }, [dispatch, project, user, hasShownSavePrompt, onSave]); // eslint-disable-line react-hooks/exhaustive-deps
@@ -372793,7 +372807,7 @@ exports.editorInitialState = {
372793
372807
  error: null,
372794
372808
  isCodeVisible: true,
372795
372809
  isSharedProject: false,
372796
- shareLinks: { shareCode: "", hideCode: "" },
372810
+ shareLinks: null,
372797
372811
  };
372798
372812
  exports.EditorSlice = (0, toolkit_1.createSlice)({
372799
372813
  name: "editor",
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.75",
4
+ "version": "0.1.76",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/GirlsFirst/gwchq-textjam",
7
7
  "author": "Girls Who Code HQ",
@@ -20,7 +20,8 @@
20
20
  "lint": "eslint \"src/**/*.{js,jsx,json}\"",
21
21
  "lint:fix": "eslint --fix \"src/**/*.{js,jsx,json}\"",
22
22
  "stylelint": "stylelint src/**/*.scss",
23
- "test": "jest"
23
+ "test": "jest",
24
+ "prepare": "husky"
24
25
  },
25
26
  "module": "./dist/index.js",
26
27
  "exports": {
@@ -162,6 +163,7 @@
162
163
  "eslint-webpack-plugin": "^2.5.2",
163
164
  "file-loader": "6.1.1",
164
165
  "html-webpack-plugin": "5.6.0",
166
+ "husky": "^9.1.7",
165
167
  "jest": "^29.1.2",
166
168
  "jest-circus": "^29.1.2",
167
169
  "jest-css-modules-transform": "^4.4.2",
@@ -173,6 +175,7 @@
173
175
  "jest-transform-stub": "^2.0.0",
174
176
  "jest-transformer-svg": "^2.0.0",
175
177
  "jest-watch-typeahead": "^2.2.0",
178
+ "lint-staged": "^16.3.2",
176
179
  "mini-css-extract-plugin": "^2.9.4",
177
180
  "mock-match-media": "^0.4.3",
178
181
  "optimize-css-assets-webpack-plugin": "5.0.4",
@@ -216,6 +219,12 @@
216
219
  "workbox-webpack-plugin": "5.1.4",
217
220
  "worker-plugin": "5.0.1"
218
221
  },
222
+ "lint-staged": {
223
+ "*.{js,jsx,ts,tsx,css,scss,md}": [
224
+ "eslint --fix",
225
+ "git add"
226
+ ]
227
+ },
219
228
  "jest": {
220
229
  "roots": [
221
230
  "<rootDir>/src"