phx-react 1.3.648 → 1.3.650

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 (61) hide show
  1. package/dist/cjs/index.d.ts +1 -2
  2. package/dist/cjs/index.js +2 -4
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/esm/index.d.ts +1 -2
  5. package/dist/esm/index.js +1 -2
  6. package/dist/esm/index.js.map +1 -1
  7. package/package.json +1 -4
  8. package/dist/cjs/components/TextEditor/index.d.ts +0 -1
  9. package/dist/cjs/components/TextEditor/index.js +0 -5
  10. package/dist/cjs/components/TextEditor/index.js.map +0 -1
  11. package/dist/cjs/components/TextEditor/plugins/AutoLinkPlugin.d.ts +0 -2
  12. package/dist/cjs/components/TextEditor/plugins/AutoLinkPlugin.js +0 -32
  13. package/dist/cjs/components/TextEditor/plugins/AutoLinkPlugin.js.map +0 -1
  14. package/dist/cjs/components/TextEditor/plugins/CodeHighlightPlugin.d.ts +0 -1
  15. package/dist/cjs/components/TextEditor/plugins/CodeHighlightPlugin.js +0 -12
  16. package/dist/cjs/components/TextEditor/plugins/CodeHighlightPlugin.js.map +0 -1
  17. package/dist/cjs/components/TextEditor/plugins/ExtendedTextNode.d.ts +0 -8
  18. package/dist/cjs/components/TextEditor/plugins/ExtendedTextNode.js +0 -84
  19. package/dist/cjs/components/TextEditor/plugins/ExtendedTextNode.js.map +0 -1
  20. package/dist/cjs/components/TextEditor/plugins/ListMaxIndentLevelPlugin.d.ts +0 -1
  21. package/dist/cjs/components/TextEditor/plugins/ListMaxIndentLevelPlugin.js +0 -46
  22. package/dist/cjs/components/TextEditor/plugins/ListMaxIndentLevelPlugin.js.map +0 -1
  23. package/dist/cjs/components/TextEditor/plugins/ToolbarPlugin.d.ts +0 -2
  24. package/dist/cjs/components/TextEditor/plugins/ToolbarPlugin.js +0 -507
  25. package/dist/cjs/components/TextEditor/plugins/ToolbarPlugin.js.map +0 -1
  26. package/dist/cjs/components/TextEditor/textEditor.d.ts +0 -2
  27. package/dist/cjs/components/TextEditor/textEditor.js +0 -108
  28. package/dist/cjs/components/TextEditor/textEditor.js.map +0 -1
  29. package/dist/cjs/components/TextEditor/themes/ExampleTheme.d.ts +0 -68
  30. package/dist/cjs/components/TextEditor/themes/ExampleTheme.js +0 -71
  31. package/dist/cjs/components/TextEditor/themes/ExampleTheme.js.map +0 -1
  32. package/dist/cjs/components/TextEditor/ui/DropDown.d.ts +0 -17
  33. package/dist/cjs/components/TextEditor/ui/DropDown.js +0 -142
  34. package/dist/cjs/components/TextEditor/ui/DropDown.js.map +0 -1
  35. package/dist/esm/components/TextEditor/index.d.ts +0 -1
  36. package/dist/esm/components/TextEditor/index.js +0 -2
  37. package/dist/esm/components/TextEditor/index.js.map +0 -1
  38. package/dist/esm/components/TextEditor/plugins/AutoLinkPlugin.d.ts +0 -2
  39. package/dist/esm/components/TextEditor/plugins/AutoLinkPlugin.js +0 -28
  40. package/dist/esm/components/TextEditor/plugins/AutoLinkPlugin.js.map +0 -1
  41. package/dist/esm/components/TextEditor/plugins/CodeHighlightPlugin.d.ts +0 -1
  42. package/dist/esm/components/TextEditor/plugins/CodeHighlightPlugin.js +0 -9
  43. package/dist/esm/components/TextEditor/plugins/CodeHighlightPlugin.js.map +0 -1
  44. package/dist/esm/components/TextEditor/plugins/ExtendedTextNode.d.ts +0 -8
  45. package/dist/esm/components/TextEditor/plugins/ExtendedTextNode.js +0 -81
  46. package/dist/esm/components/TextEditor/plugins/ExtendedTextNode.js.map +0 -1
  47. package/dist/esm/components/TextEditor/plugins/ListMaxIndentLevelPlugin.d.ts +0 -1
  48. package/dist/esm/components/TextEditor/plugins/ListMaxIndentLevelPlugin.js +0 -43
  49. package/dist/esm/components/TextEditor/plugins/ListMaxIndentLevelPlugin.js.map +0 -1
  50. package/dist/esm/components/TextEditor/plugins/ToolbarPlugin.d.ts +0 -2
  51. package/dist/esm/components/TextEditor/plugins/ToolbarPlugin.js +0 -503
  52. package/dist/esm/components/TextEditor/plugins/ToolbarPlugin.js.map +0 -1
  53. package/dist/esm/components/TextEditor/textEditor.d.ts +0 -2
  54. package/dist/esm/components/TextEditor/textEditor.js +0 -103
  55. package/dist/esm/components/TextEditor/textEditor.js.map +0 -1
  56. package/dist/esm/components/TextEditor/themes/ExampleTheme.d.ts +0 -68
  57. package/dist/esm/components/TextEditor/themes/ExampleTheme.js +0 -69
  58. package/dist/esm/components/TextEditor/themes/ExampleTheme.js.map +0 -1
  59. package/dist/esm/components/TextEditor/ui/DropDown.d.ts +0 -17
  60. package/dist/esm/components/TextEditor/ui/DropDown.js +0 -137
  61. package/dist/esm/components/TextEditor/ui/DropDown.js.map +0 -1
@@ -1,108 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.PHXTextEditor = void 0;
4
- var tslib_1 = require("tslib");
5
- var code_1 = require("@lexical/code");
6
- var html_1 = require("@lexical/html");
7
- var link_1 = require("@lexical/link");
8
- var list_1 = require("@lexical/list");
9
- var markdown_1 = require("@lexical/markdown");
10
- var LexicalAutoFocusPlugin_1 = require("@lexical/react/LexicalAutoFocusPlugin");
11
- var LexicalComposer_1 = require("@lexical/react/LexicalComposer");
12
- var LexicalContentEditable_1 = require("@lexical/react/LexicalContentEditable");
13
- var LexicalErrorBoundary_1 = tslib_1.__importDefault(require("@lexical/react/LexicalErrorBoundary"));
14
- var LexicalHistoryPlugin_1 = require("@lexical/react/LexicalHistoryPlugin");
15
- var LexicalLinkPlugin_1 = require("@lexical/react/LexicalLinkPlugin");
16
- var LexicalListPlugin_1 = require("@lexical/react/LexicalListPlugin");
17
- var LexicalMarkdownShortcutPlugin_1 = require("@lexical/react/LexicalMarkdownShortcutPlugin");
18
- var LexicalOnChangePlugin_1 = require("@lexical/react/LexicalOnChangePlugin");
19
- var LexicalRichTextPlugin_1 = require("@lexical/react/LexicalRichTextPlugin");
20
- var rich_text_1 = require("@lexical/rich-text");
21
- var table_1 = require("@lexical/table");
22
- var lexical_1 = require("lexical");
23
- var react_1 = tslib_1.__importStar(require("react"));
24
- var AutoLinkPlugin_1 = tslib_1.__importDefault(require("./plugins/AutoLinkPlugin"));
25
- var CodeHighlightPlugin_1 = tslib_1.__importDefault(require("./plugins/CodeHighlightPlugin"));
26
- var ExtendedTextNode_1 = require("./plugins/ExtendedTextNode");
27
- var ListMaxIndentLevelPlugin_1 = tslib_1.__importDefault(require("./plugins/ListMaxIndentLevelPlugin"));
28
- var ToolbarPlugin_1 = tslib_1.__importDefault(require("./plugins/ToolbarPlugin"));
29
- var ExampleTheme_1 = tslib_1.__importDefault(require("./themes/ExampleTheme"));
30
- function Placeholder() {
31
- return react_1["default"].createElement("div", { className: 'editor-placeholder' }, "Enter some rich text...");
32
- }
33
- var PHXTextEditor = function (_a) {
34
- var onChangeEditor = _a.onChangeEditor, value = _a.value;
35
- var editorConfig = {
36
- theme: ExampleTheme_1["default"],
37
- editorState: prepopulatedRichText,
38
- onError: function (error) {
39
- throw error;
40
- },
41
- nodes: [
42
- ExtendedTextNode_1.ExtendedTextNode,
43
- {
44
- replace: lexical_1.TextNode,
45
- "with": function (node) { return new ExtendedTextNode_1.ExtendedTextNode(node.__text, node.__key); }
46
- },
47
- rich_text_1.HeadingNode,
48
- list_1.ListNode,
49
- list_1.ListItemNode,
50
- rich_text_1.QuoteNode,
51
- code_1.CodeNode,
52
- code_1.CodeHighlightNode,
53
- table_1.TableNode,
54
- table_1.TableCellNode,
55
- table_1.TableRowNode,
56
- link_1.AutoLinkNode,
57
- link_1.LinkNode,
58
- ]
59
- };
60
- var _b = (0, react_1.useState)(''), htmll = _b[0], setHtmll = _b[1];
61
- var onChange = function (editorState, editor) {
62
- editorState.read(function () {
63
- var value = JSON.stringify(editorState);
64
- console.log(value);
65
- });
66
- editor.update(function () {
67
- var rawHTML = (0, html_1.$generateHtmlFromNodes)(editor, null);
68
- var base64 = btoa(unescape(encodeURIComponent(rawHTML)));
69
- setHtmll(base64);
70
- });
71
- };
72
- onChangeEditor(htmll);
73
- function prepopulatedRichText() {
74
- if (value) {
75
- var html = atob(value);
76
- var utf8Array = new Uint8Array(html.length);
77
- for (var i = 0; i < html.length; i++) {
78
- utf8Array[i] = html.charCodeAt(i);
79
- }
80
- var utf8Text = new TextDecoder('utf-8').decode(utf8Array);
81
- var editor = (0, lexical_1.createEditor)();
82
- var parser = new DOMParser();
83
- var dom = parser.parseFromString(utf8Text, 'text/html');
84
- var nodes = (0, html_1.$generateNodesFromDOM)(editor, dom);
85
- var root = (0, lexical_1.$getRoot)();
86
- if (root.getFirstChild() === null) {
87
- root.append.apply(root, nodes);
88
- }
89
- }
90
- }
91
- return (react_1["default"].createElement(LexicalComposer_1.LexicalComposer, { initialConfig: editorConfig },
92
- react_1["default"].createElement("div", { className: 'editor-container' },
93
- react_1["default"].createElement(ToolbarPlugin_1["default"], null),
94
- react_1["default"].createElement("div", { className: 'editor-inner' },
95
- react_1["default"].createElement("style", null, "\n ul li {\n /* list-style: inherit !important; */\n list-style-type: disc !important;\n \n }\n \n ol {\n /* list-style: inherit !important; */\n list-style-type: decimal !important;\n }\n .dropdown .item.fontsize-item,\n .dropdown .item.fontsize-item .text {\n min-width: unset;\n }\n .font-size .dropdown-button-text {\n display: flex !important;\n }\n .other h2 {\n font-size: 18px;\n color: #444;\n margin-bottom: 7px;\n }\n \n .other a {\n color: #777;\n text-decoration: underline;\n font-size: 14px;\n }\n \n .other ul {\n padding: 0;\n margin: 0;\n list-style-type: none;\n }\n \n .App {\n font-family: sans-serif;\n text-align: center;\n }\n \n h1 {\n font-size: 24px;\n color: #333;\n }\n \n .ltr {\n text-align: left;\n }\n \n .rtl {\n text-align: right;\n }\n \n .editor-container {\n margin: 20px 0px;\n border-radius: 2px;\n max-width: 600px;\n color: #000;\n position: relative;\n line-height: 20px;\n font-weight: 400;\n text-align: left;\n border-top-left-radius: 10px;\n border-top-right-radius: 10px;\n }\n \n .editor-inner {\n background: #fff;\n position: relative;\n }\n \n .editor-input {\n min-height: 150px;\n resize: none;\n font-size: 15px;\n caret-color: rgb(5, 5, 5);\n position: relative;\n tab-size: 1;\n outline: 0;\n padding: 15px 10px;\n caret-color: #444;\n }\n button.item.dropdown-item-active {\n background-color: rgba(223, 232, 250, 0.3);\n }\n @media screen and (max-width: 1100px) {\n .dropdown-button-text {\n display: none !important;\n }\n \n .font-size .dropdown-button-text {\n display: flex !important;\n }\n \n .code-language .dropdown-button-text {\n display: flex !important;\n }\n }\n \n button.item.dropdown-item-active i {\n opacity: 1;\n }\n .editor-placeholder {\n color: #999;\n overflow: hidden;\n position: absolute;\n text-overflow: ellipsis;\n top: 15px;\n left: 10px;\n font-size: 15px;\n user-select: none;\n display: inline-block;\n pointer-events: none;\n }\n \n .editor-text-bold {\n font-weight: bold;\n }\n \n .editor-text-italic {\n font-style: italic;\n }\n \n .editor-text-underline {\n text-decoration: underline;\n }\n \n .editor-text-strikethrough {\n text-decoration: line-through;\n }\n \n .editor-text-underlineStrikethrough {\n text-decoration: underline line-through;\n }\n \n .editor-text-code {\n background-color: rgb(240, 242, 245);\n padding: 1px 0.25rem;\n font-family: Menlo, Consolas, Monaco, monospace;\n font-size: 94%;\n }\n \n .editor-link {\n color: rgb(33, 111, 219);\n text-decoration: none;\n }\n \n .tree-view-output {\n display: block;\n background: #222;\n color: #fff;\n padding: 5px;\n font-size: 12px;\n white-space: pre-wrap;\n margin: 1px auto 10px auto;\n max-height: 250px;\n position: relative;\n border-bottom-left-radius: 10px;\n border-bottom-right-radius: 10px;\n overflow: auto;\n line-height: 14px;\n }\n \n .editor-code {\n background-color: rgb(240, 242, 245);\n font-family: Menlo, Consolas, Monaco, monospace;\n display: block;\n padding: 8px 8px 8px 52px;\n line-height: 1.53;\n font-size: 13px;\n margin: 0;\n margin-top: 8px;\n margin-bottom: 8px;\n tab-size: 2;\n /* white-space: pre; */\n overflow-x: auto;\n position: relative;\n }\n \n .editor-code:before {\n content: attr(data-gutter);\n position: absolute;\n background-color: #eee;\n left: 0;\n top: 0;\n border-right: 1px solid #ccc;\n padding: 8px;\n color: #777;\n white-space: pre-wrap;\n text-align: right;\n min-width: 25px;\n }\n .editor-code:after {\n content: attr(data-highlight-language);\n top: 0;\n right: 3px;\n padding: 3px;\n font-size: 10px;\n text-transform: uppercase;\n position: absolute;\n color: rgba(0, 0, 0, 0.5);\n }\n \n .editor-tokenComment {\n color: slategray;\n }\n \n .editor-tokenPunctuation {\n color: #999;\n }\n \n .editor-tokenProperty {\n color: #905;\n }\n \n .editor-tokenSelector {\n color: #690;\n }\n \n .editor-tokenOperator {\n color: #9a6e3a;\n }\n \n .editor-tokenAttr {\n color: #07a;\n }\n \n .editor-tokenVariable {\n color: #e90;\n }\n \n .editor-tokenFunction {\n color: #dd4a68;\n }\n \n .editor-paragraph {\n margin: 0;\n margin-bottom: 8px;\n position: relative;\n }\n \n .editor-paragraph:last-child {\n margin-bottom: 0;\n }\n \n .editor-heading-h1 {\n font-size: 24px;\n color: rgb(5, 5, 5);\n font-weight: 400;\n margin: 0;\n margin-bottom: 12px;\n padding: 0;\n }\n \n .editor-heading-h2 {\n font-size: 15px;\n color: rgb(101, 103, 107);\n font-weight: 700;\n margin: 0;\n margin-top: 10px;\n padding: 0;\n text-transform: uppercase;\n }\n \n .editor-quote {\n margin: 0;\n margin-left: 20px;\n font-size: 15px;\n color: rgb(101, 103, 107);\n border-left-color: rgb(206, 208, 212);\n border-left-width: 4px;\n border-left-style: solid;\n padding-left: 16px;\n }\n \n .editor-list-ol {\n padding: 0;\n margin: 0;\n margin-left: 16px;\n }\n \n .editor-list-ul {\n padding: 0;\n margin: 0;\n margin-left: 16px;\n }\n \n .editor-listitem {\n margin: 8px 32px 8px 32px;\n }\n \n .editor-nested-listitem {\n list-style-type: none;\n }\n \n pre::-webkit-scrollbar {\n background: transparent;\n width: 10px;\n }\n \n pre::-webkit-scrollbar-thumb {\n background: #999;\n }\n \n .debug-timetravel-panel {\n overflow: hidden;\n padding: 0 0 10px 0;\n margin: auto;\n display: flex;\n }\n \n .debug-timetravel-panel-slider {\n padding: 0;\n flex: 8;\n }\n \n .debug-timetravel-panel-button {\n padding: 0;\n border: 0;\n background: none;\n flex: 1;\n color: #fff;\n font-size: 12px;\n }\n \n .debug-timetravel-panel-button:hover {\n text-decoration: underline;\n }\n \n .debug-timetravel-button {\n border: 0;\n padding: 0;\n font-size: 12px;\n top: 10px;\n right: 15px;\n position: absolute;\n background: none;\n color: #fff;\n }\n \n .debug-timetravel-button:hover {\n text-decoration: underline;\n }\n \n .toolbar {\n display: flex;\n margin-bottom: 1px;\n background: #fff;\n padding: 4px;\n border-top-left-radius: 10px;\n border-top-right-radius: 10px;\n vertical-align: middle;\n }\n \n .toolbar button.toolbar-item {\n border: 0;\n display: flex;\n background: none;\n border-radius: 10px;\n padding: 8px;\n cursor: pointer;\n vertical-align: middle;\n }\n \n .toolbar button.toolbar-item:disabled {\n cursor: not-allowed;\n }\n \n .toolbar button.toolbar-item.spaced {\n margin-right: 2px;\n }\n \n .toolbar button.toolbar-item i.format {\n background-size: contain;\n display: inline-block;\n height: 18px;\n width: 18px;\n margin-top: 2px;\n vertical-align: -0.25em;\n display: flex;\n opacity: 0.6;\n }\n \n .toolbar button.toolbar-item:disabled i.format {\n opacity: 0.2;\n }\n \n .toolbar button.toolbar-item.active {\n background-color: rgba(223, 232, 250, 0.3);\n }\n \n .toolbar button.toolbar-item.active i {\n opacity: 1;\n }\n \n .toolbar .toolbar-item:hover:not([disabled]) {\n background-color: #eee;\n }\n \n .toolbar .divider {\n width: 1px;\n background-color: #eee;\n margin: 0 4px;\n }\n \n .toolbar select.toolbar-item {\n border: 0;\n display: flex;\n background: none;\n border-radius: 10px;\n padding: 8px;\n vertical-align: middle;\n -webkit-appearance: none;\n -moz-appearance: none;\n width: 70px;\n font-size: 14px;\n color: #777;\n text-overflow: ellipsis;\n }\n \n .toolbar select.code-language {\n text-transform: capitalize;\n width: 130px;\n }\n \n .toolbar .toolbar-item .text {\n display: flex;\n line-height: 20px;\n width: 200px;\n vertical-align: middle;\n font-size: 14px;\n color: #777;\n text-overflow: ellipsis;\n width: 70px;\n overflow: hidden;\n height: 20px;\n text-align: left;\n }\n \n .toolbar .toolbar-item .icon {\n display: flex;\n width: 20px;\n height: 20px;\n user-select: none;\n margin-right: 8px;\n line-height: 16px;\n background-size: contain;\n }\n \n .toolbar i.chevron-down {\n margin-top: 3px;\n width: 16px;\n height: 16px;\n display: flex;\n user-select: none;\n }\n \n .toolbar i.chevron-down.inside {\n width: 16px;\n height: 16px;\n display: flex;\n margin-left: -25px;\n margin-top: 11px;\n margin-right: 10px;\n pointer-events: none;\n }\n \n i.chevron-down {\n background-color: transparent;\n background-size: contain;\n display: inline-block;\n height: 8px;\n width: 8px;\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/chevron-down.svg);\n }\n \n #block-controls button:hover {\n background-color: #efefef;\n }\n \n #block-controls button:focus-visible {\n border-color: blue;\n }\n \n #block-controls span.block-type {\n background-size: contain;\n display: block;\n width: 18px;\n height: 18px;\n margin: 2px;\n }\n \n #block-controls span.block-type.paragraph {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/text-paragraph.svg);\n }\n \n #block-controls span.block-type.h1 {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/type-h1.svg);\n }\n \n #block-controls span.block-type.h2 {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/type-h2.svg);\n }\n \n #block-controls span.block-type.quote {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/chat-square-quote.svg);\n }\n \n #block-controls span.block-type.ul {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/list-ul.svg);\n }\n \n #block-controls span.block-type.ol {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/list-ol.svg);\n }\n \n #block-controls span.block-type.code {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/code.svg);\n }\n \n .dropdown {\n z-index: 5;\n display: block;\n position: absolute;\n box-shadow: 0 12px 28px 0 rgba(0, 0, 0, 0.2), 0 2px 4px 0 rgba(0, 0, 0, 0.1),\n inset 0 0 0 1px rgba(255, 255, 255, 0.5);\n border-radius: 8px;\n min-width: 100px;\n min-height: 40px;\n background-color: #fff;\n }\n \n .dropdown .item {\n margin: 0 8px 0 8px;\n padding: 8px;\n color: #050505;\n cursor: pointer;\n line-height: 16px;\n font-size: 15px;\n display: flex;\n align-content: center;\n flex-direction: row;\n flex-shrink: 0;\n justify-content: space-between;\n background-color: #fff;\n border-radius: 8px;\n border: 0;\n min-width: 268px;\n }\n \n .dropdown .item .active {\n display: flex;\n width: 20px;\n height: 20px;\n background-size: contain;\n }\n \n .dropdown .item:first-child {\n margin-top: 8px;\n }\n \n .dropdown .item:last-child {\n margin-bottom: 8px;\n }\n \n .dropdown .item:hover {\n background-color: #eee;\n }\n \n .dropdown .item .text {\n display: flex;\n line-height: 20px;\n flex-grow: 1;\n width: 200px;\n }\n \n .dropdown .item .icon {\n display: flex;\n width: 20px;\n height: 20px;\n user-select: none;\n margin-right: 12px;\n line-height: 16px;\n background-size: contain;\n }\n \n .link-editor {\n position: absolute;\n z-index: 100;\n top: -10000px;\n left: -10000px;\n margin-top: -6px;\n max-width: 300px;\n width: 100%;\n opacity: 0;\n background-color: #fff;\n box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);\n border-radius: 8px;\n transition: opacity 0.5s;\n }\n \n .link-editor .link-input {\n display: block;\n width: calc(100% - 24px);\n box-sizing: border-box;\n margin: 8px 12px;\n padding: 8px 12px;\n border-radius: 15px;\n background-color: #eee;\n font-size: 15px;\n color: rgb(5, 5, 5);\n border: 0;\n outline: 0;\n position: relative;\n font-family: inherit;\n }\n \n .link-editor div.link-edit {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/pencil-fill.svg);\n background-size: 16px;\n background-position: center;\n background-repeat: no-repeat;\n width: 35px;\n vertical-align: -0.25em;\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n cursor: pointer;\n }\n \n .link-editor .link-input a {\n color: rgb(33, 111, 219);\n text-decoration: none;\n display: block;\n white-space: nowrap;\n overflow: hidden;\n margin-right: 30px;\n text-overflow: ellipsis;\n }\n \n .link-editor .link-input a:hover {\n text-decoration: underline;\n }\n \n .link-editor .button {\n width: 20px;\n height: 20px;\n display: inline-block;\n padding: 6px;\n border-radius: 8px;\n cursor: pointer;\n margin: 0 2px;\n }\n \n .link-editor .button.hovered {\n width: 20px;\n height: 20px;\n display: inline-block;\n background-color: #eee;\n }\n \n .link-editor .button i,\n .actions i {\n background-size: contain;\n display: inline-block;\n height: 20px;\n width: 20px;\n vertical-align: -0.25em;\n }\n \n i.undo {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/arrow-counterclockwise.svg);\n }\n \n i.redo {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/arrow-clockwise.svg);\n }\n \n .icon.paragraph {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/text-paragraph.svg);\n }\n \n .icon.large-heading,\n .icon.h1 {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/type-h1.svg);\n }\n \n .icon.small-heading,\n .icon.h2 {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/type-h2.svg);\n }\n \n .icon.bullet-list,\n .icon.ul {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/list-ul.svg);\n }\n \n .icon.numbered-list,\n .icon.ol {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/list-ol.svg);\n }\n \n .icon.quote {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/chat-square-quote.svg);\n }\n \n .icon.code {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/code.svg);\n }\n \n i.bold {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/type-bold.svg);\n }\n \n i.italic {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/type-italic.svg);\n }\n \n i.underline {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/type-underline.svg);\n }\n \n i.strikethrough {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/type-strikethrough.svg);\n }\n \n i.code {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/code.svg);\n }\n \n i.link {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/link.svg);\n }\n \n i.left-align {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/text-left.svg);\n }\n \n i.center-align {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/text-center.svg);\n }\n \n i.right-align {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/text-right.svg);\n }\n \n i.justify-align {\n background-image: url(https://static-data-sisv2.phx-smartschool.com/common/prod/text-editor/images/icons/justify.svg);\n }\n \n \n \n "),
96
- react_1["default"].createElement(LexicalRichTextPlugin_1.RichTextPlugin, { contentEditable: react_1["default"].createElement(LexicalContentEditable_1.ContentEditable, { className: 'editor-input' }), ErrorBoundary: LexicalErrorBoundary_1["default"], placeholder: react_1["default"].createElement(Placeholder, null) }),
97
- react_1["default"].createElement(LexicalOnChangePlugin_1.OnChangePlugin, { onChange: onChange }),
98
- react_1["default"].createElement(LexicalHistoryPlugin_1.HistoryPlugin, null),
99
- react_1["default"].createElement(LexicalAutoFocusPlugin_1.AutoFocusPlugin, null),
100
- react_1["default"].createElement(CodeHighlightPlugin_1["default"], null),
101
- react_1["default"].createElement(LexicalListPlugin_1.ListPlugin, null),
102
- react_1["default"].createElement(LexicalLinkPlugin_1.LinkPlugin, null),
103
- react_1["default"].createElement(AutoLinkPlugin_1["default"], null),
104
- react_1["default"].createElement(ListMaxIndentLevelPlugin_1["default"], { maxDepth: 7 }),
105
- react_1["default"].createElement(LexicalMarkdownShortcutPlugin_1.MarkdownShortcutPlugin, { transformers: markdown_1.TRANSFORMERS })))));
106
- };
107
- exports.PHXTextEditor = PHXTextEditor;
108
- //# sourceMappingURL=textEditor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textEditor.js","sourceRoot":"","sources":["../../../../src/components/TextEditor/textEditor.tsx"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- declare const exampleTheme: {
2
- ltr: string;
3
- rtl: string;
4
- placeholder: string;
5
- paragraph: string;
6
- quote: string;
7
- heading: {
8
- h1: string;
9
- h2: string;
10
- h3: string;
11
- h4: string;
12
- h5: string;
13
- };
14
- list: {
15
- nested: {
16
- listitem: string;
17
- };
18
- ol: string;
19
- ul: string;
20
- listitem: string;
21
- };
22
- image: string;
23
- link: string;
24
- text: {
25
- bold: string;
26
- italic: string;
27
- overflowed: string;
28
- hashtag: string;
29
- underline: string;
30
- strikethrough: string;
31
- underlineStrikethrough: string;
32
- code: string;
33
- };
34
- code: string;
35
- codeHighlight: {
36
- atrule: string;
37
- attr: string;
38
- boolean: string;
39
- builtin: string;
40
- cdata: string;
41
- char: string;
42
- class: string;
43
- 'class-name': string;
44
- comment: string;
45
- constant: string;
46
- deleted: string;
47
- doctype: string;
48
- entity: string;
49
- function: string;
50
- important: string;
51
- inserted: string;
52
- keyword: string;
53
- namespace: string;
54
- number: string;
55
- operator: string;
56
- prolog: string;
57
- property: string;
58
- punctuation: string;
59
- regex: string;
60
- selector: string;
61
- string: string;
62
- symbol: string;
63
- tag: string;
64
- url: string;
65
- variable: string;
66
- };
67
- };
68
- export default exampleTheme;
@@ -1,71 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- var exampleTheme = {
4
- ltr: 'ltr',
5
- rtl: 'rtl',
6
- placeholder: 'editor-placeholder',
7
- paragraph: 'editor-paragraph',
8
- quote: 'editor-quote',
9
- heading: {
10
- h1: 'editor-heading-h1',
11
- h2: 'editor-heading-h2',
12
- h3: 'editor-heading-h3',
13
- h4: 'editor-heading-h4',
14
- h5: 'editor-heading-h5'
15
- },
16
- list: {
17
- nested: {
18
- listitem: 'editor-nested-listitem'
19
- },
20
- ol: 'editor-list-ol',
21
- ul: 'editor-list-ul',
22
- listitem: 'editor-listitem'
23
- },
24
- image: 'editor-image',
25
- link: 'editor-link',
26
- text: {
27
- bold: 'editor-text-bold',
28
- italic: 'editor-text-italic',
29
- overflowed: 'editor-text-overflowed',
30
- hashtag: 'editor-text-hashtag',
31
- underline: 'editor-text-underline',
32
- strikethrough: 'editor-text-strikethrough',
33
- underlineStrikethrough: 'editor-text-underlineStrikethrough',
34
- code: 'editor-text-code'
35
- },
36
- code: 'editor-code',
37
- codeHighlight: {
38
- atrule: 'editor-tokenAttr',
39
- attr: 'editor-tokenAttr',
40
- boolean: 'editor-tokenProperty',
41
- builtin: 'editor-tokenSelector',
42
- cdata: 'editor-tokenComment',
43
- char: 'editor-tokenSelector',
44
- "class": 'editor-tokenFunction',
45
- 'class-name': 'editor-tokenFunction',
46
- comment: 'editor-tokenComment',
47
- constant: 'editor-tokenProperty',
48
- deleted: 'editor-tokenProperty',
49
- doctype: 'editor-tokenComment',
50
- entity: 'editor-tokenOperator',
51
- "function": 'editor-tokenFunction',
52
- important: 'editor-tokenVariable',
53
- inserted: 'editor-tokenSelector',
54
- keyword: 'editor-tokenAttr',
55
- namespace: 'editor-tokenVariable',
56
- number: 'editor-tokenProperty',
57
- operator: 'editor-tokenOperator',
58
- prolog: 'editor-tokenComment',
59
- property: 'editor-tokenProperty',
60
- punctuation: 'editor-tokenPunctuation',
61
- regex: 'editor-tokenVariable',
62
- selector: 'editor-tokenSelector',
63
- string: 'editor-tokenSelector',
64
- symbol: 'editor-tokenProperty',
65
- tag: 'editor-tokenProperty',
66
- url: 'editor-tokenOperator',
67
- variable: 'editor-tokenVariable'
68
- }
69
- };
70
- exports["default"] = exampleTheme;
71
- //# sourceMappingURL=ExampleTheme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExampleTheme.js","sourceRoot":"","sources":["../../../../../src/components/TextEditor/themes/ExampleTheme.ts"],"names":[],"mappings":";;AAAA,IAAM,YAAY,GAAG;IACnB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,WAAW,EAAE,oBAAoB;IACjC,SAAS,EAAE,kBAAkB;IAC7B,KAAK,EAAE,cAAc;IACrB,OAAO,EAAE;QACP,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,mBAAmB;KACxB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,QAAQ,EAAE,wBAAwB;SACnC;QACD,EAAE,EAAE,gBAAgB;QACpB,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,iBAAiB;KAC5B;IACD,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE;QACJ,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,oBAAoB;QAC5B,UAAU,EAAE,wBAAwB;QACpC,OAAO,EAAE,qBAAqB;QAC9B,SAAS,EAAE,uBAAuB;QAClC,aAAa,EAAE,2BAA2B;QAC1C,sBAAsB,EAAE,oCAAoC;QAC5D,IAAI,EAAE,kBAAkB;KACzB;IACD,IAAI,EAAE,aAAa;IACnB,aAAa,EAAE;QACb,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,sBAAsB;QAC/B,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,sBAAsB;QAC5B,OAAK,EAAE,sBAAsB;QAC7B,YAAY,EAAE,sBAAsB;QACpC,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,qBAAqB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,UAAQ,EAAE,sBAAsB;QAChC,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,kBAAkB;QAC3B,SAAS,EAAE,sBAAsB;QACjC,MAAM,EAAE,sBAAsB;QAC9B,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,sBAAsB;QAChC,WAAW,EAAE,yBAAyB;QACtC,KAAK,EAAE,sBAAsB;QAC7B,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,GAAG,EAAE,sBAAsB;QAC3B,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,sBAAsB;KACjC;CACF,CAAA;AAED,qBAAe,YAAY,CAAA"}
@@ -1,17 +0,0 @@
1
- import * as React from 'react';
2
- import { ReactNode } from 'react';
3
- export declare function DropDownItem({ children, className, onClick, title, }: {
4
- children: React.ReactNode;
5
- className: string;
6
- onClick(event: React.MouseEvent<HTMLButtonElement>): void;
7
- title?: string;
8
- }): React.JSX.Element;
9
- export default function DropDown({ buttonAriaLabel, buttonClassName, buttonIconClassName, buttonLabel, children, disabled, stopCloseOnClickSelf, }: {
10
- disabled?: boolean;
11
- buttonAriaLabel?: string;
12
- buttonClassName: string;
13
- buttonIconClassName?: string;
14
- buttonLabel?: string;
15
- children: ReactNode;
16
- stopCloseOnClickSelf?: boolean;
17
- }): JSX.Element;
@@ -1,142 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.DropDownItem = void 0;
4
- var tslib_1 = require("tslib");
5
- var React = tslib_1.__importStar(require("react"));
6
- var react_1 = require("react");
7
- var react_dom_1 = require("react-dom");
8
- var DropDownContext = React.createContext(null);
9
- var dropDownPadding = 4;
10
- function DropDownItem(_a) {
11
- var children = _a.children, className = _a.className, onClick = _a.onClick, title = _a.title;
12
- var ref = (0, react_1.useRef)(null);
13
- var dropDownContext = React.useContext(DropDownContext);
14
- if (dropDownContext === null) {
15
- throw new Error('DropDownItem must be used within a DropDown');
16
- }
17
- var registerItem = dropDownContext.registerItem;
18
- (0, react_1.useEffect)(function () {
19
- if (ref && ref.current) {
20
- registerItem(ref);
21
- }
22
- }, [ref, registerItem]);
23
- return (React.createElement("button", { ref: ref, className: className, onClick: onClick, title: title, type: 'button' }, children));
24
- }
25
- exports.DropDownItem = DropDownItem;
26
- function DropDownItems(_a) {
27
- var children = _a.children, dropDownRef = _a.dropDownRef, onClose = _a.onClose;
28
- var _b = (0, react_1.useState)(), items = _b[0], setItems = _b[1];
29
- var _c = (0, react_1.useState)(), highlightedItem = _c[0], setHighlightedItem = _c[1];
30
- var registerItem = (0, react_1.useCallback)(function (itemRef) {
31
- setItems(function (prev) { return (prev ? tslib_1.__spreadArray(tslib_1.__spreadArray([], prev, true), [itemRef], false) : [itemRef]); });
32
- }, [setItems]);
33
- var handleKeyDown = function (event) {
34
- if (!items)
35
- return;
36
- var key = event.key;
37
- if (['Escape', 'ArrowUp', 'ArrowDown', 'Tab'].includes(key)) {
38
- event.preventDefault();
39
- }
40
- if (key === 'Escape' || key === 'Tab') {
41
- onClose();
42
- }
43
- else if (key === 'ArrowUp') {
44
- setHighlightedItem(function (prev) {
45
- if (!prev)
46
- return items[0];
47
- var index = items.indexOf(prev) - 1;
48
- return items[index === -1 ? items.length - 1 : index];
49
- });
50
- }
51
- else if (key === 'ArrowDown') {
52
- setHighlightedItem(function (prev) {
53
- if (!prev)
54
- return items[0];
55
- return items[items.indexOf(prev) + 1];
56
- });
57
- }
58
- };
59
- var contextValue = (0, react_1.useMemo)(function () { return ({
60
- registerItem: registerItem
61
- }); }, [registerItem]);
62
- (0, react_1.useEffect)(function () {
63
- if (items && !highlightedItem) {
64
- setHighlightedItem(items[0]);
65
- }
66
- if (highlightedItem && highlightedItem.current) {
67
- highlightedItem.current.focus();
68
- }
69
- }, [items, highlightedItem]);
70
- return (React.createElement(DropDownContext.Provider, { value: contextValue },
71
- React.createElement("div", { ref: dropDownRef, className: 'dropdown', onKeyDown: handleKeyDown }, children)));
72
- }
73
- function DropDown(_a) {
74
- var buttonAriaLabel = _a.buttonAriaLabel, buttonClassName = _a.buttonClassName, buttonIconClassName = _a.buttonIconClassName, buttonLabel = _a.buttonLabel, children = _a.children, _b = _a.disabled, disabled = _b === void 0 ? false : _b, stopCloseOnClickSelf = _a.stopCloseOnClickSelf;
75
- var dropDownRef = (0, react_1.useRef)(null);
76
- var buttonRef = (0, react_1.useRef)(null);
77
- var _c = (0, react_1.useState)(false), showDropDown = _c[0], setShowDropDown = _c[1];
78
- var handleClose = function () {
79
- setShowDropDown(false);
80
- if (buttonRef && buttonRef.current) {
81
- buttonRef.current.focus();
82
- }
83
- };
84
- (0, react_1.useEffect)(function () {
85
- var button = buttonRef.current;
86
- var dropDown = dropDownRef.current;
87
- if (showDropDown && button !== null && dropDown !== null) {
88
- var _a = button.getBoundingClientRect(), left = _a.left, top_1 = _a.top;
89
- dropDown.style.top = "".concat(top_1 + button.offsetHeight + dropDownPadding, "px");
90
- dropDown.style.left = "".concat(Math.min(left, window.innerWidth - dropDown.offsetWidth - 20), "px");
91
- }
92
- }, [dropDownRef, buttonRef, showDropDown]);
93
- (0, react_1.useEffect)(function () {
94
- var button = buttonRef.current;
95
- if (button !== null && showDropDown) {
96
- var handle_1 = function (event) {
97
- var target = event.target;
98
- if (stopCloseOnClickSelf) {
99
- if (dropDownRef.current && dropDownRef.current.contains(target)) {
100
- return;
101
- }
102
- }
103
- if (!button.contains(target)) {
104
- setShowDropDown(false);
105
- }
106
- };
107
- document.addEventListener('click', handle_1);
108
- return function () {
109
- document.removeEventListener('click', handle_1);
110
- };
111
- }
112
- return;
113
- }, [dropDownRef, buttonRef, showDropDown, stopCloseOnClickSelf]);
114
- (0, react_1.useEffect)(function () {
115
- var handleButtonPositionUpdate = function () {
116
- if (showDropDown) {
117
- var button = buttonRef.current;
118
- var dropDown = dropDownRef.current;
119
- if (button !== null && dropDown !== null) {
120
- var top_2 = button.getBoundingClientRect().top;
121
- var newPosition = top_2 + button.offsetHeight + dropDownPadding;
122
- if (newPosition !== dropDown.getBoundingClientRect().top) {
123
- dropDown.style.top = "".concat(newPosition, "px");
124
- }
125
- }
126
- }
127
- };
128
- document.addEventListener('scroll', handleButtonPositionUpdate);
129
- return function () {
130
- document.removeEventListener('scroll', handleButtonPositionUpdate);
131
- };
132
- }, [buttonRef, dropDownRef, showDropDown]);
133
- return (React.createElement(React.Fragment, null,
134
- React.createElement("button", { ref: buttonRef, "aria-label": buttonAriaLabel || buttonLabel, className: buttonClassName, disabled: disabled, onClick: function () { return setShowDropDown(!showDropDown); }, type: 'button' },
135
- buttonIconClassName && React.createElement("span", { className: buttonIconClassName }),
136
- buttonLabel && React.createElement("span", { className: 'text dropdown-button-text' }, buttonLabel),
137
- React.createElement("i", { className: 'chevron-down' })),
138
- showDropDown &&
139
- (0, react_dom_1.createPortal)(React.createElement(DropDownItems, { dropDownRef: dropDownRef, onClose: handleClose }, children), document.body)));
140
- }
141
- exports["default"] = DropDown;
142
- //# sourceMappingURL=DropDown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DropDown.js","sourceRoot":"","sources":["../../../../../src/components/TextEditor/ui/DropDown.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from './textEditor';
@@ -1,2 +0,0 @@
1
- export * from './textEditor';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/TextEditor/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export default function PlaygroundAutoLinkPlugin(): React.JSX.Element;
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- import { AutoLinkPlugin } from '@lexical/react/LexicalAutoLinkPlugin';
3
- var URL_MATCHER = /((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;
4
- var EMAIL_MATCHER = /(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;
5
- var MATCHERS = [
6
- function (text) {
7
- var match = URL_MATCHER.exec(text);
8
- return (match && {
9
- index: match.index,
10
- length: match[0].length,
11
- text: match[0],
12
- url: match[0]
13
- });
14
- },
15
- function (text) {
16
- var match = EMAIL_MATCHER.exec(text);
17
- return (match && {
18
- index: match.index,
19
- length: match[0].length,
20
- text: match[0],
21
- url: "mailto:".concat(match[0])
22
- });
23
- },
24
- ];
25
- export default function PlaygroundAutoLinkPlugin() {
26
- return React.createElement(AutoLinkPlugin, { matchers: MATCHERS });
27
- }
28
- //# sourceMappingURL=AutoLinkPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AutoLinkPlugin.js","sourceRoot":"","sources":["../../../../../src/components/TextEditor/plugins/AutoLinkPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAErE,IAAM,WAAW,GACf,iHAAiH,CAAA;AAEnH,IAAM,aAAa,GACjB,qJAAqJ,CAAA;AAEvJ,IAAM,QAAQ,GAAG;IACf,UAAC,IAAS;QACR,IAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,OAAO,CACL,KAAK,IAAI;YACP,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;YACvB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;SACd,CACF,CAAA;IACH,CAAC;IACD,UAAC,IAAS;QACR,IAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtC,OAAO,CACL,KAAK,IAAI;YACP,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;YACvB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,GAAG,EAAE,iBAAU,KAAK,CAAC,CAAC,CAAC,CAAE;SAC1B,CACF,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,wBAAwB;IAC9C,OAAO,oBAAC,cAAc,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAA;AAC/C,CAAC"}
@@ -1 +0,0 @@
1
- export default function CodeHighlightPlugin(): null;
@@ -1,9 +0,0 @@
1
- import { registerCodeHighlighting } from '@lexical/code';
2
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
- import { useEffect } from 'react';
4
- export default function CodeHighlightPlugin() {
5
- var editor = useLexicalComposerContext()[0];
6
- useEffect(function () { return registerCodeHighlighting(editor); }, [editor]);
7
- return null;
8
- }
9
- //# sourceMappingURL=CodeHighlightPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeHighlightPlugin.js","sourceRoot":"","sources":["../../../../../src/components/TextEditor/plugins/CodeHighlightPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAClC,IAAA,MAAM,GAAI,yBAAyB,EAAE,GAA/B,CAA+B;IAC5C,SAAS,CAAC,cAAM,OAAA,wBAAwB,CAAC,MAAM,CAAC,EAAhC,CAAgC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,8 +0,0 @@
1
- import { DOMConversionMap, NodeKey, TextNode, SerializedTextNode } from 'lexical';
2
- export declare class ExtendedTextNode extends TextNode {
3
- constructor(text: string, key?: NodeKey);
4
- static getType(): string;
5
- static clone(node: ExtendedTextNode): ExtendedTextNode;
6
- static importDOM(): DOMConversionMap | null;
7
- static importJSON(serializedNode: SerializedTextNode): TextNode;
8
- }