authscape 1.0.740 → 1.0.742
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/index.js +479 -45
- package/package.json +9 -1
- package/readme.md +103 -103
- package/src/components/AuthScapeApp.js +0 -1
- package/src/components/LexicalEditor.js +470 -0
- package/src/components/RichTextEditor.js +33 -55
package/index.js
CHANGED
|
@@ -15,7 +15,6 @@ var _router = _interopRequireDefault(require("next/router"));
|
|
|
15
15
|
var _ga4React = _interopRequireDefault(require("ga-4-react"));
|
|
16
16
|
var _zustand = require("zustand");
|
|
17
17
|
var _reactMicrosoftClarity = require("react-microsoft-clarity");
|
|
18
|
-
var _authscape = require("authscape");
|
|
19
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
20
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -305,7 +304,7 @@ function AuthScapeApp(_ref) {
|
|
|
305
304
|
// ----- Enforce login (client) -----
|
|
306
305
|
(0, _react.useEffect)(function () {
|
|
307
306
|
if (enforceLoggedIn && pathname !== "/signin-oidc" && frontEndLoadedState && !signedInUserState) {
|
|
308
|
-
|
|
307
|
+
authService().login();
|
|
309
308
|
}
|
|
310
309
|
}, [signedInUserState, enforceLoggedIn, frontEndLoadedState, pathname]);
|
|
311
310
|
|
|
@@ -2639,6 +2638,466 @@ var GoogleMapsAutoComplete = exports.GoogleMapsAutoComplete = function GoogleMap
|
|
|
2639
2638
|
};
|
|
2640
2639
|
"use strict";
|
|
2641
2640
|
|
|
2641
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2642
|
+
value: true
|
|
2643
|
+
});
|
|
2644
|
+
exports.LexicalEditor = LexicalEditor;
|
|
2645
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
2646
|
+
var _LexicalComposer = require("@lexical/react/LexicalComposer");
|
|
2647
|
+
var _LexicalRichTextPlugin = require("@lexical/react/LexicalRichTextPlugin");
|
|
2648
|
+
var _LexicalContentEditable = require("@lexical/react/LexicalContentEditable");
|
|
2649
|
+
var _LexicalHistoryPlugin = require("@lexical/react/LexicalHistoryPlugin");
|
|
2650
|
+
var _LexicalOnChangePlugin = require("@lexical/react/LexicalOnChangePlugin");
|
|
2651
|
+
var _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
|
|
2652
|
+
var _LexicalErrorBoundary = require("@lexical/react/LexicalErrorBoundary");
|
|
2653
|
+
var _LexicalListPlugin = require("@lexical/react/LexicalListPlugin");
|
|
2654
|
+
var _LexicalLinkPlugin = require("@lexical/react/LexicalLinkPlugin");
|
|
2655
|
+
var _html = require("@lexical/html");
|
|
2656
|
+
var _lexical = require("lexical");
|
|
2657
|
+
var _selection = require("@lexical/selection");
|
|
2658
|
+
var _richText = require("@lexical/rich-text");
|
|
2659
|
+
var _list = require("@lexical/list");
|
|
2660
|
+
var _link = require("@lexical/link");
|
|
2661
|
+
var _code = require("@lexical/code");
|
|
2662
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
2663
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
2664
|
+
var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
|
|
2665
|
+
var _Select = _interopRequireDefault(require("@mui/material/Select"));
|
|
2666
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
2667
|
+
var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
|
|
2668
|
+
var _FormatBold = _interopRequireDefault(require("@mui/icons-material/FormatBold"));
|
|
2669
|
+
var _FormatItalic = _interopRequireDefault(require("@mui/icons-material/FormatItalic"));
|
|
2670
|
+
var _FormatUnderlined = _interopRequireDefault(require("@mui/icons-material/FormatUnderlined"));
|
|
2671
|
+
var _StrikethroughS = _interopRequireDefault(require("@mui/icons-material/StrikethroughS"));
|
|
2672
|
+
var _FormatListBulleted = _interopRequireDefault(require("@mui/icons-material/FormatListBulleted"));
|
|
2673
|
+
var _FormatListNumbered = _interopRequireDefault(require("@mui/icons-material/FormatListNumbered"));
|
|
2674
|
+
var _FormatQuote = _interopRequireDefault(require("@mui/icons-material/FormatQuote"));
|
|
2675
|
+
var _Code = _interopRequireDefault(require("@mui/icons-material/Code"));
|
|
2676
|
+
var _Link = _interopRequireDefault(require("@mui/icons-material/Link"));
|
|
2677
|
+
var _LinkOff = _interopRequireDefault(require("@mui/icons-material/LinkOff"));
|
|
2678
|
+
var _Undo = _interopRequireDefault(require("@mui/icons-material/Undo"));
|
|
2679
|
+
var _Redo = _interopRequireDefault(require("@mui/icons-material/Redo"));
|
|
2680
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
2681
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
2682
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
2683
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2684
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2685
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
2686
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
2687
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
2688
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
2689
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
2690
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2691
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2692
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2693
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
2694
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
2695
|
+
var theme = {
|
|
2696
|
+
paragraph: 'lexical-paragraph',
|
|
2697
|
+
quote: 'lexical-quote',
|
|
2698
|
+
heading: {
|
|
2699
|
+
h1: 'lexical-h1',
|
|
2700
|
+
h2: 'lexical-h2',
|
|
2701
|
+
h3: 'lexical-h3',
|
|
2702
|
+
h4: 'lexical-h4',
|
|
2703
|
+
h5: 'lexical-h5',
|
|
2704
|
+
h6: 'lexical-h6'
|
|
2705
|
+
},
|
|
2706
|
+
list: {
|
|
2707
|
+
nested: {
|
|
2708
|
+
listitem: 'lexical-nested-listitem'
|
|
2709
|
+
},
|
|
2710
|
+
ol: 'lexical-ol',
|
|
2711
|
+
ul: 'lexical-ul',
|
|
2712
|
+
listitem: 'lexical-listitem'
|
|
2713
|
+
},
|
|
2714
|
+
text: {
|
|
2715
|
+
bold: 'lexical-bold',
|
|
2716
|
+
italic: 'lexical-italic',
|
|
2717
|
+
underline: 'lexical-underline',
|
|
2718
|
+
strikethrough: 'lexical-strikethrough',
|
|
2719
|
+
code: 'lexical-code'
|
|
2720
|
+
},
|
|
2721
|
+
link: 'lexical-link',
|
|
2722
|
+
code: 'lexical-code-block'
|
|
2723
|
+
};
|
|
2724
|
+
var editorStyles = "\n .lexical-editor-container {\n border: 1px solid #ccc;\n border-radius: 4px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;\n }\n .lexical-editor-inner {\n position: relative;\n }\n .lexical-editor-input {\n padding: 12px;\n outline: none;\n overflow-y: auto;\n }\n .lexical-editor-input:focus {\n outline: none;\n }\n .lexical-placeholder {\n position: absolute;\n top: 12px;\n left: 12px;\n color: #999;\n pointer-events: none;\n user-select: none;\n }\n .lexical-paragraph {\n margin: 0 0 8px 0;\n }\n .lexical-h1 { font-size: 2em; font-weight: bold; margin: 16px 0 8px 0; }\n .lexical-h2 { font-size: 1.5em; font-weight: bold; margin: 14px 0 8px 0; }\n .lexical-h3 { font-size: 1.17em; font-weight: bold; margin: 12px 0 8px 0; }\n .lexical-h4 { font-size: 1em; font-weight: bold; margin: 10px 0 8px 0; }\n .lexical-h5 { font-size: 0.83em; font-weight: bold; margin: 8px 0 8px 0; }\n .lexical-h6 { font-size: 0.67em; font-weight: bold; margin: 6px 0 8px 0; }\n .lexical-quote {\n margin: 8px 0;\n padding: 8px 16px;\n border-left: 4px solid #ccc;\n background: #f9f9f9;\n font-style: italic;\n }\n .lexical-ul, .lexical-ol {\n margin: 8px 0;\n padding-left: 24px;\n }\n .lexical-listitem {\n margin: 4px 0;\n }\n .lexical-bold { font-weight: bold; }\n .lexical-italic { font-style: italic; }\n .lexical-underline { text-decoration: underline; }\n .lexical-strikethrough { text-decoration: line-through; }\n .lexical-code {\n background: #f0f0f0;\n padding: 2px 4px;\n border-radius: 3px;\n font-family: monospace;\n }\n .lexical-link {\n color: #0066cc;\n text-decoration: underline;\n }\n .lexical-code-block {\n background: #f5f5f5;\n padding: 12px;\n border-radius: 4px;\n font-family: monospace;\n overflow-x: auto;\n }\n";
|
|
2725
|
+
|
|
2726
|
+
// Toolbar button style to match react-draft-wysiwyg
|
|
2727
|
+
var toolbarButtonStyle = {
|
|
2728
|
+
minWidth: 32,
|
|
2729
|
+
width: 32,
|
|
2730
|
+
height: 32,
|
|
2731
|
+
padding: '4px',
|
|
2732
|
+
margin: '2px',
|
|
2733
|
+
borderRadius: '2px',
|
|
2734
|
+
border: '1px solid transparent',
|
|
2735
|
+
'&:hover': {
|
|
2736
|
+
backgroundColor: '#f0f0f0',
|
|
2737
|
+
border: '1px solid #ccc'
|
|
2738
|
+
}
|
|
2739
|
+
};
|
|
2740
|
+
var activeButtonStyle = _objectSpread(_objectSpread({}, toolbarButtonStyle), {}, {
|
|
2741
|
+
backgroundColor: '#e0e0e0',
|
|
2742
|
+
border: '1px solid #ccc'
|
|
2743
|
+
});
|
|
2744
|
+
|
|
2745
|
+
// HTML Import Plugin
|
|
2746
|
+
function HtmlImportPlugin(_ref) {
|
|
2747
|
+
var initialHtml = _ref.initialHtml;
|
|
2748
|
+
var _useLexicalComposerCo = (0, _LexicalComposerContext.useLexicalComposerContext)(),
|
|
2749
|
+
_useLexicalComposerCo2 = _slicedToArray(_useLexicalComposerCo, 1),
|
|
2750
|
+
editor = _useLexicalComposerCo2[0];
|
|
2751
|
+
var _React$useState = _react["default"].useState(false),
|
|
2752
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
2753
|
+
initialized = _React$useState2[0],
|
|
2754
|
+
setInitialized = _React$useState2[1];
|
|
2755
|
+
(0, _react.useEffect)(function () {
|
|
2756
|
+
if (initialHtml && !initialized) {
|
|
2757
|
+
editor.update(function () {
|
|
2758
|
+
var parser = new DOMParser();
|
|
2759
|
+
var dom = parser.parseFromString(initialHtml, 'text/html');
|
|
2760
|
+
var nodes = (0, _html.$generateNodesFromDOM)(editor, dom);
|
|
2761
|
+
var root = (0, _lexical.$getRoot)();
|
|
2762
|
+
root.clear();
|
|
2763
|
+
nodes.forEach(function (node) {
|
|
2764
|
+
return root.append(node);
|
|
2765
|
+
});
|
|
2766
|
+
});
|
|
2767
|
+
setInitialized(true);
|
|
2768
|
+
}
|
|
2769
|
+
}, [editor, initialHtml, initialized]);
|
|
2770
|
+
return null;
|
|
2771
|
+
}
|
|
2772
|
+
|
|
2773
|
+
// HTML Export Plugin
|
|
2774
|
+
function HtmlExportPlugin(_ref2) {
|
|
2775
|
+
var onChange = _ref2.onChange;
|
|
2776
|
+
var _useLexicalComposerCo3 = (0, _LexicalComposerContext.useLexicalComposerContext)(),
|
|
2777
|
+
_useLexicalComposerCo4 = _slicedToArray(_useLexicalComposerCo3, 1),
|
|
2778
|
+
editor = _useLexicalComposerCo4[0];
|
|
2779
|
+
var handleChange = (0, _react.useCallback)(function () {
|
|
2780
|
+
editor.update(function () {
|
|
2781
|
+
var html = (0, _html.$generateHtmlFromNodes)(editor, null);
|
|
2782
|
+
onChange(html);
|
|
2783
|
+
});
|
|
2784
|
+
}, [editor, onChange]);
|
|
2785
|
+
return /*#__PURE__*/_react["default"].createElement(_LexicalOnChangePlugin.OnChangePlugin, {
|
|
2786
|
+
onChange: handleChange
|
|
2787
|
+
});
|
|
2788
|
+
}
|
|
2789
|
+
|
|
2790
|
+
// Toolbar Component
|
|
2791
|
+
function Toolbar(_ref3) {
|
|
2792
|
+
var isDisabled = _ref3.isDisabled;
|
|
2793
|
+
var _useLexicalComposerCo5 = (0, _LexicalComposerContext.useLexicalComposerContext)(),
|
|
2794
|
+
_useLexicalComposerCo6 = _slicedToArray(_useLexicalComposerCo5, 1),
|
|
2795
|
+
editor = _useLexicalComposerCo6[0];
|
|
2796
|
+
var _React$useState3 = _react["default"].useState(false),
|
|
2797
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
2798
|
+
isBold = _React$useState4[0],
|
|
2799
|
+
setIsBold = _React$useState4[1];
|
|
2800
|
+
var _React$useState5 = _react["default"].useState(false),
|
|
2801
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
2802
|
+
isItalic = _React$useState6[0],
|
|
2803
|
+
setIsItalic = _React$useState6[1];
|
|
2804
|
+
var _React$useState7 = _react["default"].useState(false),
|
|
2805
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
2806
|
+
isUnderline = _React$useState8[0],
|
|
2807
|
+
setIsUnderline = _React$useState8[1];
|
|
2808
|
+
var _React$useState9 = _react["default"].useState(false),
|
|
2809
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
2810
|
+
isStrikethrough = _React$useState10[0],
|
|
2811
|
+
setIsStrikethrough = _React$useState10[1];
|
|
2812
|
+
var _React$useState11 = _react["default"].useState(false),
|
|
2813
|
+
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
2814
|
+
isCode = _React$useState12[0],
|
|
2815
|
+
setIsCode = _React$useState12[1];
|
|
2816
|
+
var _React$useState13 = _react["default"].useState(false),
|
|
2817
|
+
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
2818
|
+
isLink = _React$useState14[0],
|
|
2819
|
+
setIsLink = _React$useState14[1];
|
|
2820
|
+
var _React$useState15 = _react["default"].useState('paragraph'),
|
|
2821
|
+
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
2822
|
+
blockType = _React$useState16[0],
|
|
2823
|
+
setBlockType = _React$useState16[1];
|
|
2824
|
+
var updateToolbar = (0, _react.useCallback)(function () {
|
|
2825
|
+
var selection = (0, _lexical.$getSelection)();
|
|
2826
|
+
if ((0, _lexical.$isRangeSelection)(selection)) {
|
|
2827
|
+
setIsBold(selection.hasFormat('bold'));
|
|
2828
|
+
setIsItalic(selection.hasFormat('italic'));
|
|
2829
|
+
setIsUnderline(selection.hasFormat('underline'));
|
|
2830
|
+
setIsStrikethrough(selection.hasFormat('strikethrough'));
|
|
2831
|
+
setIsCode(selection.hasFormat('code'));
|
|
2832
|
+
}
|
|
2833
|
+
}, []);
|
|
2834
|
+
(0, _react.useEffect)(function () {
|
|
2835
|
+
return editor.registerUpdateListener(function (_ref4) {
|
|
2836
|
+
var editorState = _ref4.editorState;
|
|
2837
|
+
editorState.read(function () {
|
|
2838
|
+
updateToolbar();
|
|
2839
|
+
});
|
|
2840
|
+
});
|
|
2841
|
+
}, [editor, updateToolbar]);
|
|
2842
|
+
var formatText = function formatText(format) {
|
|
2843
|
+
editor.dispatchCommand(_lexical.FORMAT_TEXT_COMMAND, format);
|
|
2844
|
+
};
|
|
2845
|
+
var formatBlock = function formatBlock(type) {
|
|
2846
|
+
editor.update(function () {
|
|
2847
|
+
var selection = (0, _lexical.$getSelection)();
|
|
2848
|
+
if ((0, _lexical.$isRangeSelection)(selection)) {
|
|
2849
|
+
if (type === 'paragraph') {
|
|
2850
|
+
(0, _selection.$setBlocksType)(selection, function () {
|
|
2851
|
+
return (0, _lexical.$createParagraphNode)();
|
|
2852
|
+
});
|
|
2853
|
+
} else if (type === 'quote') {
|
|
2854
|
+
(0, _selection.$setBlocksType)(selection, function () {
|
|
2855
|
+
return (0, _richText.$createQuoteNode)();
|
|
2856
|
+
});
|
|
2857
|
+
} else if (type.startsWith('h')) {
|
|
2858
|
+
(0, _selection.$setBlocksType)(selection, function () {
|
|
2859
|
+
return (0, _richText.$createHeadingNode)(type);
|
|
2860
|
+
});
|
|
2861
|
+
}
|
|
2862
|
+
setBlockType(type);
|
|
2863
|
+
}
|
|
2864
|
+
});
|
|
2865
|
+
};
|
|
2866
|
+
var formatList = function formatList(listType) {
|
|
2867
|
+
if (listType === 'bullet') {
|
|
2868
|
+
editor.dispatchCommand(_list.INSERT_UNORDERED_LIST_COMMAND, undefined);
|
|
2869
|
+
} else if (listType === 'number') {
|
|
2870
|
+
editor.dispatchCommand(_list.INSERT_ORDERED_LIST_COMMAND, undefined);
|
|
2871
|
+
}
|
|
2872
|
+
};
|
|
2873
|
+
var insertLink = function insertLink() {
|
|
2874
|
+
var url = prompt('Enter URL:');
|
|
2875
|
+
if (url) {
|
|
2876
|
+
editor.dispatchCommand(_link.TOGGLE_LINK_COMMAND, url);
|
|
2877
|
+
}
|
|
2878
|
+
};
|
|
2879
|
+
var removeLink = function removeLink() {
|
|
2880
|
+
editor.dispatchCommand(_link.TOGGLE_LINK_COMMAND, null);
|
|
2881
|
+
};
|
|
2882
|
+
var undo = function undo() {
|
|
2883
|
+
editor.dispatchCommand('UNDO', undefined);
|
|
2884
|
+
};
|
|
2885
|
+
var redo = function redo() {
|
|
2886
|
+
editor.dispatchCommand('REDO', undefined);
|
|
2887
|
+
};
|
|
2888
|
+
if (isDisabled) {
|
|
2889
|
+
return null;
|
|
2890
|
+
}
|
|
2891
|
+
return /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
2892
|
+
sx: {
|
|
2893
|
+
display: 'flex',
|
|
2894
|
+
flexWrap: 'wrap',
|
|
2895
|
+
alignItems: 'center',
|
|
2896
|
+
padding: '8px',
|
|
2897
|
+
borderBottom: '1px solid #ccc',
|
|
2898
|
+
backgroundColor: '#f9f9f9',
|
|
2899
|
+
gap: '4px'
|
|
2900
|
+
}
|
|
2901
|
+
}, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
2902
|
+
size: "small",
|
|
2903
|
+
value: blockType,
|
|
2904
|
+
onChange: function onChange(e) {
|
|
2905
|
+
return formatBlock(e.target.value);
|
|
2906
|
+
},
|
|
2907
|
+
sx: {
|
|
2908
|
+
minWidth: 120,
|
|
2909
|
+
height: 32,
|
|
2910
|
+
mr: 1
|
|
2911
|
+
}
|
|
2912
|
+
}, /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
2913
|
+
value: "paragraph"
|
|
2914
|
+
}, "Normal"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
2915
|
+
value: "h1"
|
|
2916
|
+
}, "Heading 1"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
2917
|
+
value: "h2"
|
|
2918
|
+
}, "Heading 2"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
2919
|
+
value: "h3"
|
|
2920
|
+
}, "Heading 3"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
2921
|
+
value: "h4"
|
|
2922
|
+
}, "Heading 4"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
2923
|
+
value: "h5"
|
|
2924
|
+
}, "Heading 5"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
2925
|
+
value: "h6"
|
|
2926
|
+
}, "Heading 6"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
2927
|
+
value: "quote"
|
|
2928
|
+
}, "Blockquote")), /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
|
|
2929
|
+
orientation: "vertical",
|
|
2930
|
+
flexItem: true,
|
|
2931
|
+
sx: {
|
|
2932
|
+
mx: 1
|
|
2933
|
+
}
|
|
2934
|
+
}), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
2935
|
+
title: "Bold (Ctrl+B)"
|
|
2936
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
2937
|
+
size: "small",
|
|
2938
|
+
onClick: function onClick() {
|
|
2939
|
+
return formatText('bold');
|
|
2940
|
+
},
|
|
2941
|
+
sx: isBold ? activeButtonStyle : toolbarButtonStyle
|
|
2942
|
+
}, /*#__PURE__*/_react["default"].createElement(_FormatBold["default"], {
|
|
2943
|
+
fontSize: "small"
|
|
2944
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
2945
|
+
title: "Italic (Ctrl+I)"
|
|
2946
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
2947
|
+
size: "small",
|
|
2948
|
+
onClick: function onClick() {
|
|
2949
|
+
return formatText('italic');
|
|
2950
|
+
},
|
|
2951
|
+
sx: isItalic ? activeButtonStyle : toolbarButtonStyle
|
|
2952
|
+
}, /*#__PURE__*/_react["default"].createElement(_FormatItalic["default"], {
|
|
2953
|
+
fontSize: "small"
|
|
2954
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
2955
|
+
title: "Underline (Ctrl+U)"
|
|
2956
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
2957
|
+
size: "small",
|
|
2958
|
+
onClick: function onClick() {
|
|
2959
|
+
return formatText('underline');
|
|
2960
|
+
},
|
|
2961
|
+
sx: isUnderline ? activeButtonStyle : toolbarButtonStyle
|
|
2962
|
+
}, /*#__PURE__*/_react["default"].createElement(_FormatUnderlined["default"], {
|
|
2963
|
+
fontSize: "small"
|
|
2964
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
2965
|
+
title: "Strikethrough"
|
|
2966
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
2967
|
+
size: "small",
|
|
2968
|
+
onClick: function onClick() {
|
|
2969
|
+
return formatText('strikethrough');
|
|
2970
|
+
},
|
|
2971
|
+
sx: isStrikethrough ? activeButtonStyle : toolbarButtonStyle
|
|
2972
|
+
}, /*#__PURE__*/_react["default"].createElement(_StrikethroughS["default"], {
|
|
2973
|
+
fontSize: "small"
|
|
2974
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
2975
|
+
title: "Code"
|
|
2976
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
2977
|
+
size: "small",
|
|
2978
|
+
onClick: function onClick() {
|
|
2979
|
+
return formatText('code');
|
|
2980
|
+
},
|
|
2981
|
+
sx: isCode ? activeButtonStyle : toolbarButtonStyle
|
|
2982
|
+
}, /*#__PURE__*/_react["default"].createElement(_Code["default"], {
|
|
2983
|
+
fontSize: "small"
|
|
2984
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
|
|
2985
|
+
orientation: "vertical",
|
|
2986
|
+
flexItem: true,
|
|
2987
|
+
sx: {
|
|
2988
|
+
mx: 1
|
|
2989
|
+
}
|
|
2990
|
+
}), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
2991
|
+
title: "Bullet List"
|
|
2992
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
2993
|
+
size: "small",
|
|
2994
|
+
onClick: function onClick() {
|
|
2995
|
+
return formatList('bullet');
|
|
2996
|
+
},
|
|
2997
|
+
sx: toolbarButtonStyle
|
|
2998
|
+
}, /*#__PURE__*/_react["default"].createElement(_FormatListBulleted["default"], {
|
|
2999
|
+
fontSize: "small"
|
|
3000
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
3001
|
+
title: "Numbered List"
|
|
3002
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
3003
|
+
size: "small",
|
|
3004
|
+
onClick: function onClick() {
|
|
3005
|
+
return formatList('number');
|
|
3006
|
+
},
|
|
3007
|
+
sx: toolbarButtonStyle
|
|
3008
|
+
}, /*#__PURE__*/_react["default"].createElement(_FormatListNumbered["default"], {
|
|
3009
|
+
fontSize: "small"
|
|
3010
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
|
|
3011
|
+
orientation: "vertical",
|
|
3012
|
+
flexItem: true,
|
|
3013
|
+
sx: {
|
|
3014
|
+
mx: 1
|
|
3015
|
+
}
|
|
3016
|
+
}), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
3017
|
+
title: "Insert Link"
|
|
3018
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
3019
|
+
size: "small",
|
|
3020
|
+
onClick: insertLink,
|
|
3021
|
+
sx: toolbarButtonStyle
|
|
3022
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
3023
|
+
fontSize: "small"
|
|
3024
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
3025
|
+
title: "Remove Link"
|
|
3026
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
3027
|
+
size: "small",
|
|
3028
|
+
onClick: removeLink,
|
|
3029
|
+
sx: toolbarButtonStyle
|
|
3030
|
+
}, /*#__PURE__*/_react["default"].createElement(_LinkOff["default"], {
|
|
3031
|
+
fontSize: "small"
|
|
3032
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
|
|
3033
|
+
orientation: "vertical",
|
|
3034
|
+
flexItem: true,
|
|
3035
|
+
sx: {
|
|
3036
|
+
mx: 1
|
|
3037
|
+
}
|
|
3038
|
+
}), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
3039
|
+
title: "Undo (Ctrl+Z)"
|
|
3040
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
3041
|
+
size: "small",
|
|
3042
|
+
onClick: undo,
|
|
3043
|
+
sx: toolbarButtonStyle
|
|
3044
|
+
}, /*#__PURE__*/_react["default"].createElement(_Undo["default"], {
|
|
3045
|
+
fontSize: "small"
|
|
3046
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
3047
|
+
title: "Redo (Ctrl+Y)"
|
|
3048
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
3049
|
+
size: "small",
|
|
3050
|
+
onClick: redo,
|
|
3051
|
+
sx: toolbarButtonStyle
|
|
3052
|
+
}, /*#__PURE__*/_react["default"].createElement(_Redo["default"], {
|
|
3053
|
+
fontSize: "small"
|
|
3054
|
+
}))));
|
|
3055
|
+
}
|
|
3056
|
+
function onError(error) {
|
|
3057
|
+
console.error('Lexical error:', error);
|
|
3058
|
+
}
|
|
3059
|
+
function LexicalEditor(_ref5) {
|
|
3060
|
+
var initialHtml = _ref5.initialHtml,
|
|
3061
|
+
onChange = _ref5.onChange,
|
|
3062
|
+
_ref5$height = _ref5.height,
|
|
3063
|
+
height = _ref5$height === void 0 ? 400 : _ref5$height,
|
|
3064
|
+
_ref5$isDisabled = _ref5.isDisabled,
|
|
3065
|
+
isDisabled = _ref5$isDisabled === void 0 ? false : _ref5$isDisabled;
|
|
3066
|
+
var initialConfig = {
|
|
3067
|
+
namespace: 'RichTextEditor',
|
|
3068
|
+
theme: theme,
|
|
3069
|
+
onError: onError,
|
|
3070
|
+
nodes: [_richText.HeadingNode, _richText.QuoteNode, _list.ListNode, _list.ListItemNode, _link.LinkNode, _code.CodeNode],
|
|
3071
|
+
editable: !isDisabled
|
|
3072
|
+
};
|
|
3073
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("style", null, editorStyles), /*#__PURE__*/_react["default"].createElement(_LexicalComposer.LexicalComposer, {
|
|
3074
|
+
initialConfig: initialConfig
|
|
3075
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
3076
|
+
className: "lexical-editor-container"
|
|
3077
|
+
}, /*#__PURE__*/_react["default"].createElement(Toolbar, {
|
|
3078
|
+
isDisabled: isDisabled
|
|
3079
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
3080
|
+
className: "lexical-editor-inner"
|
|
3081
|
+
}, /*#__PURE__*/_react["default"].createElement(_LexicalRichTextPlugin.RichTextPlugin, {
|
|
3082
|
+
contentEditable: /*#__PURE__*/_react["default"].createElement(_LexicalContentEditable.ContentEditable, {
|
|
3083
|
+
className: "lexical-editor-input",
|
|
3084
|
+
style: {
|
|
3085
|
+
minHeight: height,
|
|
3086
|
+
maxHeight: height
|
|
3087
|
+
}
|
|
3088
|
+
}),
|
|
3089
|
+
placeholder: /*#__PURE__*/_react["default"].createElement("div", {
|
|
3090
|
+
className: "lexical-placeholder"
|
|
3091
|
+
}, "Enter text..."),
|
|
3092
|
+
ErrorBoundary: _LexicalErrorBoundary.LexicalErrorBoundary
|
|
3093
|
+
}), /*#__PURE__*/_react["default"].createElement(_LexicalHistoryPlugin.HistoryPlugin, null), /*#__PURE__*/_react["default"].createElement(_LexicalListPlugin.ListPlugin, null), /*#__PURE__*/_react["default"].createElement(_LexicalLinkPlugin.LinkPlugin, null), /*#__PURE__*/_react["default"].createElement(HtmlImportPlugin, {
|
|
3094
|
+
initialHtml: initialHtml
|
|
3095
|
+
}), /*#__PURE__*/_react["default"].createElement(HtmlExportPlugin, {
|
|
3096
|
+
onChange: onChange
|
|
3097
|
+
})))));
|
|
3098
|
+
}
|
|
3099
|
+
"use strict";
|
|
3100
|
+
|
|
2642
3101
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2643
3102
|
Object.defineProperty(exports, "__esModule", {
|
|
2644
3103
|
value: true
|
|
@@ -6439,8 +6898,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6439
6898
|
});
|
|
6440
6899
|
exports.RichTextEditor = void 0;
|
|
6441
6900
|
var _react = _interopRequireWildcard(require("react"));
|
|
6442
|
-
var _draftJs = require("draft-js");
|
|
6443
|
-
var _draftjsToHtml = _interopRequireDefault(require("draftjs-to-html"));
|
|
6444
6901
|
var _dynamic = _interopRequireDefault(require("next/dynamic"));
|
|
6445
6902
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
6446
6903
|
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
@@ -6457,11 +6914,12 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
6457
6914
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
6458
6915
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
6459
6916
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
6460
|
-
|
|
6917
|
+
// Dynamically import the editor to avoid SSR issues
|
|
6918
|
+
var LexicalEditor = (0, _dynamic["default"])(function () {
|
|
6461
6919
|
return Promise.resolve().then(function () {
|
|
6462
|
-
return _interopRequireWildcard(require('
|
|
6920
|
+
return _interopRequireWildcard(require('./LexicalEditor'));
|
|
6463
6921
|
}).then(function (mod) {
|
|
6464
|
-
return mod.
|
|
6922
|
+
return mod.LexicalEditor;
|
|
6465
6923
|
});
|
|
6466
6924
|
}, {
|
|
6467
6925
|
ssr: false
|
|
@@ -6473,47 +6931,23 @@ var RichTextEditor = exports.RichTextEditor = function RichTextEditor(_ref) {
|
|
|
6473
6931
|
height = _ref$height === void 0 ? 400 : _ref$height,
|
|
6474
6932
|
_ref$isDisabled = _ref.isDisabled,
|
|
6475
6933
|
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled;
|
|
6476
|
-
var
|
|
6477
|
-
|
|
6478
|
-
|
|
6479
|
-
|
|
6480
|
-
var onEditorStateChange = function onEditorStateChange(editorState) {
|
|
6481
|
-
setEditorState(editorState);
|
|
6482
|
-
};
|
|
6934
|
+
var _React$useState = _react["default"].useState(html || ''),
|
|
6935
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
6936
|
+
editorHtml = _React$useState2[0],
|
|
6937
|
+
setEditorHtml = _React$useState2[1];
|
|
6483
6938
|
(0, _react.useEffect)(function () {
|
|
6484
6939
|
if (html != null) {
|
|
6485
|
-
|
|
6486
|
-
if (contentBlock) {
|
|
6487
|
-
var contentState = _draftJs.ContentState.createFromBlockArray(contentBlock.contentBlocks);
|
|
6488
|
-
var _editorState = _draftJs.EditorState.createWithContent(contentState);
|
|
6489
|
-
setEditorState(_editorState);
|
|
6490
|
-
}
|
|
6940
|
+
setEditorHtml(html);
|
|
6491
6941
|
}
|
|
6492
6942
|
}, [html]);
|
|
6493
|
-
|
|
6494
|
-
|
|
6495
|
-
|
|
6496
|
-
|
|
6497
|
-
|
|
6498
|
-
|
|
6499
|
-
|
|
6500
|
-
|
|
6501
|
-
},
|
|
6502
|
-
onEditorStateChange: onEditorStateChange
|
|
6503
|
-
// mention={{
|
|
6504
|
-
// separator: " ",
|
|
6505
|
-
// trigger: "@",
|
|
6506
|
-
// suggestions: [
|
|
6507
|
-
// { text: "APPLE", value: "apple" },
|
|
6508
|
-
// { text: "BANANA", value: "banana", url: "banana" },
|
|
6509
|
-
// { text: "CHERRY", value: "cherry", url: "cherry" },
|
|
6510
|
-
// { text: "DURIAN", value: "durian", url: "durian" },
|
|
6511
|
-
// { text: "EGGFRUIT", value: "eggfruit", url: "eggfruit" },
|
|
6512
|
-
// { text: "FIG", value: "fig", url: "fig" },
|
|
6513
|
-
// { text: "GRAPEFRUIT", value: "grapefruit", url: "grapefruit" },
|
|
6514
|
-
// { text: "HONEYDEW", value: "honeydew", url: "honeydew" }
|
|
6515
|
-
// ]
|
|
6516
|
-
// }}
|
|
6943
|
+
var handleChange = (0, _react.useCallback)(function (newHtml) {
|
|
6944
|
+
setEditorHtml(newHtml);
|
|
6945
|
+
}, []);
|
|
6946
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(LexicalEditor, {
|
|
6947
|
+
initialHtml: html,
|
|
6948
|
+
onChange: handleChange,
|
|
6949
|
+
height: height,
|
|
6950
|
+
isDisabled: isDisabled
|
|
6517
6951
|
}), /*#__PURE__*/_react["default"].createElement("hr", null), /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
6518
6952
|
sx: {
|
|
6519
6953
|
textAlign: "right"
|
|
@@ -6526,7 +6960,7 @@ var RichTextEditor = exports.RichTextEditor = function RichTextEditor(_ref) {
|
|
|
6526
6960
|
while (1) switch (_context.prev = _context.next) {
|
|
6527
6961
|
case 0:
|
|
6528
6962
|
_context.next = 2;
|
|
6529
|
-
return onSave(
|
|
6963
|
+
return onSave(editorHtml);
|
|
6530
6964
|
case 2:
|
|
6531
6965
|
case "end":
|
|
6532
6966
|
return _context.stop();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "authscape",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.742",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -31,7 +31,15 @@
|
|
|
31
31
|
"react-dom": "^18.3.1"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
+
"@lexical/code": "^0.21.0",
|
|
35
|
+
"@lexical/html": "^0.21.0",
|
|
36
|
+
"@lexical/link": "^0.21.0",
|
|
37
|
+
"@lexical/list": "^0.21.0",
|
|
38
|
+
"@lexical/react": "^0.21.0",
|
|
39
|
+
"@lexical/rich-text": "^0.21.0",
|
|
40
|
+
"@lexical/selection": "^0.21.0",
|
|
34
41
|
"@microsoft/signalr": "^8.0.0",
|
|
42
|
+
"lexical": "^0.21.0",
|
|
35
43
|
"audit": "^0.0.6",
|
|
36
44
|
"axios": "^1.6.1",
|
|
37
45
|
"eslint-config-next": "^16.0.3",
|