@bigbinary/neeto-editor 1.47.112 → 1.47.114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Attachments.js +1 -2
- package/dist/Attachments.js.map +1 -1
- package/dist/Editor.js +11 -6
- package/dist/Editor.js.map +1 -1
- package/dist/EditorContent.js +4 -2
- package/dist/EditorContent.js.map +1 -1
- package/dist/FormikEditor.js +5 -6
- package/dist/FormikEditor.js.map +1 -1
- package/dist/Menu.js +8 -8
- package/dist/{chunk-kSsvM8aH.js → chunk--BjpQHaY.js} +2 -3
- package/dist/chunk--BjpQHaY.js.map +1 -0
- package/dist/{chunk-C26VPEID.js → chunk-3JO2B_HR.js} +2 -3
- package/dist/{chunk-C26VPEID.js.map → chunk-3JO2B_HR.js.map} +1 -1
- package/dist/{chunk-BDcN2CWH.js → chunk-BKsyn0lE.js} +6 -2
- package/dist/chunk-BKsyn0lE.js.map +1 -0
- package/dist/{chunk-BOSqhXe9.js → chunk-BLXUWWgi.js} +1 -5
- package/dist/{chunk-BOSqhXe9.js.map → chunk-BLXUWWgi.js.map} +1 -1
- package/dist/{chunk-0yZ5QmzV.js → chunk-BO6bjSuY.js} +6 -3
- package/dist/chunk-BO6bjSuY.js.map +1 -0
- package/dist/{chunk-Zi-ccf09.js → chunk-C9Hjlrrk.js} +2 -2
- package/dist/chunk-C9Hjlrrk.js.map +1 -0
- package/dist/{chunk-DVrXh89W.js → chunk-CNWsmIz_.js} +1 -2
- package/dist/chunk-CNWsmIz_.js.map +1 -0
- package/dist/{chunk-DRyQ5gRT.js → chunk-Dj7lS7Cs.js} +2 -9
- package/dist/{chunk-DRyQ5gRT.js.map → chunk-Dj7lS7Cs.js.map} +1 -1
- package/dist/{chunk-B5ZO6MSb.js → chunk-DtQctlVh.js} +2 -4
- package/dist/{chunk-B5ZO6MSb.js.map → chunk-DtQctlVh.js.map} +1 -1
- package/dist/cjs/Attachments.cjs.js +1 -2
- package/dist/cjs/Attachments.cjs.js.map +1 -1
- package/dist/cjs/Editor.cjs.js +82 -77
- package/dist/cjs/Editor.cjs.js.map +1 -1
- package/dist/cjs/EditorContent.cjs.js +4 -2
- package/dist/cjs/EditorContent.cjs.js.map +1 -1
- package/dist/cjs/FormikEditor.cjs.js +5 -6
- package/dist/cjs/FormikEditor.cjs.js.map +1 -1
- package/dist/cjs/Menu.cjs.js +8 -8
- package/dist/cjs/{chunk-ByqRrEfj.cjs.js → chunk-BYyLrDTW.cjs.js} +2 -3
- package/dist/cjs/{chunk-ByqRrEfj.cjs.js.map → chunk-BYyLrDTW.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-BE_JvlHl.cjs.js → chunk-B_ZuTQG9.cjs.js} +11 -11
- package/dist/cjs/chunk-B_ZuTQG9.cjs.js.map +1 -0
- package/dist/cjs/{chunk-UnFuCCxl.cjs.js → chunk-BrQjqeiG.cjs.js} +15 -11
- package/dist/cjs/chunk-BrQjqeiG.cjs.js.map +1 -0
- package/dist/cjs/{chunk-BJo6VB1g.cjs.js → chunk-CIuJ_EMY.cjs.js} +1 -2
- package/dist/cjs/chunk-CIuJ_EMY.cjs.js.map +1 -0
- package/dist/cjs/{chunk-Cv7rmxCK.cjs.js → chunk-Cv0ocaVh.cjs.js} +1 -5
- package/dist/cjs/{chunk-Cv7rmxCK.cjs.js.map → chunk-Cv0ocaVh.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-LeproQrc.cjs.js → chunk-Cvxaj__T.cjs.js} +2 -3
- package/dist/cjs/chunk-Cvxaj__T.cjs.js.map +1 -0
- package/dist/cjs/{chunk-DQYVBQIk.cjs.js → chunk-DOxH3Agq.cjs.js} +159 -166
- package/dist/cjs/{chunk-DQYVBQIk.cjs.js.map → chunk-DOxH3Agq.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-Gl_OXcUl.cjs.js → chunk-DRB71ojr.cjs.js} +6 -3
- package/dist/cjs/chunk-DRB71ojr.cjs.js.map +1 -0
- package/dist/cjs/{chunk-ColwAO4n.cjs.js → chunk-n7U2G1az.cjs.js} +2 -4
- package/dist/cjs/{chunk-ColwAO4n.cjs.js.map → chunk-n7U2G1az.cjs.js.map} +1 -1
- package/dist/cjs/index.cjs.js +4 -6
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/v2/Attachments.cjs.js +1 -3
- package/dist/cjs/v2/Attachments.cjs.js.map +1 -1
- package/dist/cjs/v2/Editor.cjs.js +75 -77
- package/dist/cjs/v2/Editor.cjs.js.map +1 -1
- package/dist/cjs/v2/EditorContent.cjs.js +1 -3
- package/dist/cjs/v2/EditorContent.cjs.js.map +1 -1
- package/dist/cjs/v2/FormikEditor.cjs.js +4 -6
- package/dist/cjs/v2/FormikEditor.cjs.js.map +1 -1
- package/dist/cjs/v2/Menu.cjs.js +6 -7
- package/dist/cjs/v2/Menu.cjs.js.map +1 -1
- package/dist/cjs/v2/index.cjs.js +8 -11
- package/dist/cjs/v2/index.cjs.js.map +1 -1
- package/dist/editor-stats.html +1 -1
- package/dist/index.js +4 -6
- package/dist/index.js.map +1 -1
- package/dist/v2/Attachments.js +1 -3
- package/dist/v2/Attachments.js.map +1 -1
- package/dist/v2/Editor.js +4 -6
- package/dist/v2/Editor.js.map +1 -1
- package/dist/v2/EditorContent.js +1 -3
- package/dist/v2/EditorContent.js.map +1 -1
- package/dist/v2/FormikEditor.js +4 -6
- package/dist/v2/FormikEditor.js.map +1 -1
- package/dist/v2/Menu.js +6 -7
- package/dist/v2/Menu.js.map +1 -1
- package/dist/v2/index.js +8 -11
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/styles.css +1 -1
- package/dist/v2/styles.js +4 -0
- package/dist/v2/styles.js.map +1 -0
- package/package.json +3 -1
- package/dist/chunk-0yZ5QmzV.js.map +0 -1
- package/dist/chunk-3C7ZroSh.js +0 -5
- package/dist/chunk-3C7ZroSh.js.map +0 -1
- package/dist/chunk-BDcN2CWH.js.map +0 -1
- package/dist/chunk-CVfGOKt4.js +0 -5
- package/dist/chunk-CVfGOKt4.js.map +0 -1
- package/dist/chunk-DVrXh89W.js.map +0 -1
- package/dist/chunk-Zi-ccf09.js.map +0 -1
- package/dist/chunk-kSsvM8aH.js.map +0 -1
- package/dist/cjs/chunk-BE_JvlHl.cjs.js.map +0 -1
- package/dist/cjs/chunk-BJo6VB1g.cjs.js.map +0 -1
- package/dist/cjs/chunk-BaJ2GldN.cjs.js +0 -7
- package/dist/cjs/chunk-BaJ2GldN.cjs.js.map +0 -1
- package/dist/cjs/chunk-DcAwRABD.cjs.js +0 -7
- package/dist/cjs/chunk-DcAwRABD.cjs.js.map +0 -1
- package/dist/cjs/chunk-Gl_OXcUl.cjs.js.map +0 -1
- package/dist/cjs/chunk-LeproQrc.cjs.js.map +0 -1
- package/dist/cjs/chunk-UnFuCCxl.cjs.js.map +0 -1
- package/dist/v2/_styles-bundle.js +0 -4
- package/dist/v2/_styles-bundle.js.map +0 -1
|
@@ -12,8 +12,7 @@ var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
|
12
12
|
var reactQuery = require('@tanstack/react-query');
|
|
13
13
|
var axios = require('axios');
|
|
14
14
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
15
|
-
var
|
|
16
|
-
var menu = require('./chunk-Cv7rmxCK.cjs.js');
|
|
15
|
+
var useEditorStore = require('./chunk-Cv0ocaVh.cjs.js');
|
|
17
16
|
var index = require('./chunk-eyfbjfPH.cjs.js');
|
|
18
17
|
var Y = require('yjs');
|
|
19
18
|
var ReactDOM = require('react-dom');
|
|
@@ -204,14 +203,11 @@ var useEditorWarnings = function useEditorWarnings(_ref) {
|
|
|
204
203
|
}, [initialValue]);
|
|
205
204
|
};
|
|
206
205
|
|
|
207
|
-
var css$1 = "@charset \"UTF-8\";.tippy-box[data-theme~=neeto-editor-slash-commands-tippy]{border:1px solid rgb(var(--neeto-ui-gray-400))}.tippy-box[data-theme~=neeto-editor-slash-commands-tippy] .tippy-content{padding:0!important}.neeto-editor-slash-commands__wrapper{align-items:flex-start;display:flex;flex-direction:column;gap:4px;justify-content:flex-start;max-height:384px;max-width:100%;overflow-y:auto;padding:8px;width:256px}.neeto-editor-slash-commands__wrapper .neeto-editor-slash-commands__item{align-items:center;border:none;border-radius:var(--neeto-ui-rounded);box-shadow:none;color:rgb(var(--neeto-ui-gray-800));cursor:pointer;display:flex;flex-direction:row;gap:8px;justify-content:flex-start;outline:none;padding-block:8px;padding-inline:12px;transition:var(--neeto-ui-transition);width:100%}.neeto-editor-slash-commands__wrapper .neeto-editor-slash-commands__item.active,.neeto-editor-slash-commands__wrapper .neeto-editor-slash-commands__item:focus-visible,.neeto-editor-slash-commands__wrapper .neeto-editor-slash-commands__item:hover{background-color:rgb(var(--neeto-ui-gray-200));border:none;box-shadow:none;color:rgb(var(--neeto-ui-black));outline:none}.neeto-editor-slash-commands__wrapper .neeto-editor-slash-commands__item .neeto-editor-slash-commands__item-content{text-align:start}.neeto-editor-slash-commands__wrapper .neeto-editor-slash-commands__item .neeto-editor-slash-commands__item-content .neeto-editor-slash-commands__item-description,.neeto-editor-slash-commands__wrapper .neeto-editor-slash-commands__item .neeto-editor-slash-commands__item-content .neeto-editor-slash-commands__item-title{font-size:14px;font-weight:400;line-height:1.2;text-align:start}.tippy-box[data-theme~=neeto-editor-mentions-tooltip]{border:1px solid rgb(var(--neeto-ui-gray-400))}.tippy-box[data-theme~=neeto-editor-mentions-tooltip] .tippy-content{max-height:none;padding:0}.tippy-box[data-theme~=neeto-editor-mentions-tooltip] .tippy-content button.active{background-color:var(--neeto-ui-dropdown-item-focus-bg-color)}.ProseMirror.slash-active p.is-empty:not(.is-current-slash-placeholder):last-child:before{content:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0zLjgyMSAxNWgxLjIzVjYuMjQzaDMuMThWNS4xMzZILjY0MnYxLjEwN0gzLjgyVjE1Wm01LjkgMi41ODRjMS4zMDUgMCAxLjkxNC0uNDc5IDIuNTIyLTIuMTMzbDIuODc4LTcuODJoLTEuMjVsLTIuMDE4IDYuMDYzaC0uMTA5TDkuNzIxIDcuNjMxSDguNDQ5bDIuNzI4IDcuMzc2LS4xMzcuNDM3Yy0uMjY3Ljg0OC0uNjc3IDEuMTU2LTEuMzUzIDEuMTU2LS4xNjUgMC0uMzUtLjAwNy0uNDkzLS4wMzV2Ljk3OGMuMTY0LjAyNy4zNy4wNDEuNTI3LjA0MVptNi45NzItLjEyM2gxLjE5di0zLjYyM2guMTFjLjQwMi43ODYgMS4yODQgMS4yOTIgMi4yOTYgMS4yOTIgMS44NzMgMCAzLjA5LTEuNDk3IDMuMDktMy44MDh2LS4wMTNjMC0yLjI5Ny0xLjIyNC0zLjgwOC0zLjA5LTMuODA4LTEuMDI1IDAtMS44NDYuNDg1LTIuMjk3IDEuMzA2aC0uMTFWNy42M2gtMS4xODl2OS44M1ptMy4zMjMtMy4zODRjLTEuMzQgMC0yLjE2LTEuMDUzLTIuMTYtMi43NTV2LS4wMTNjMC0xLjcwMy44Mi0yLjc1NSAyLjE2LTIuNzU1IDEuMzQ2IDAgMi4xNDYgMS4wMzkgMi4xNDYgMi43NTV2LjAxM2MwIDEuNzE2LS44IDIuNzU1LTIuMTQ2IDIuNzU1Wm04LjIzIDEuMDUzYzEuNzM2IDAgMi43OS0uOTg1IDMuMDQyLTEuOTgybC4wMTQtLjA1NWgtMS4xOWwtLjAyNy4wNjFjLS4xOTguNDQ1LS44MTQuOTE2LTEuODEyLjkxNi0xLjMxMiAwLTIuMTUzLS44ODgtMi4xODctMi40MTNoNS4zMDV2LS40NjVjMC0yLjItMS4yMTctMy42OTEtMy4yMi0zLjY5MXMtMy4zMDIgMS41NTktMy4zMDIgMy44MzV2LjAwN2MwIDIuMzEgMS4yNzIgMy43ODcgMy4zNzcgMy43ODdabS0uMDgyLTYuNTdjMS4wODcgMCAxLjg5NC42OTEgMi4wMTcgMi4xNDdoLTQuMDc1Yy4xMy0xLjQwMS45NjQtMi4xNDYgMi4wNTgtMi4xNDZaIiBmaWxsPSIjODc5MjlEIi8+PHJlY3QgeD0iMzciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgcng9IjMiIGZpbGw9IiNFOUVCRUQiLz48cGF0aCBkPSJtNTAuNDI4IDUuOTE0LTYuODU2IDguMTcyIiBzdHJva2U9IiMyNTJDMzIiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNjQuNzI2IDE1LjA1NWMuMjMyIDAgLjQ1OC0uMDI4LjY5LS4wNjl2LTEuMDExYy0uMjE5LjAyLS4zMzUuMDI3LS41NDcuMDI3LS43NjYgMC0xLjA2Ni0uMzQ5LTEuMDY2LTEuMjE3di00LjE3aDEuNjEzdi0uOTg0aC0xLjYxM1Y1LjcyNGgtMS4yM1Y3LjYzSDYxLjQxdi45ODRoMS4xNjJ2NC40N2MwIDEuNDEuNjM2IDEuOTcgMi4xNTQgMS45N1ptNS4zODYuMDc1YzIuMDk5IDAgMy4zOTgtMS40NSAzLjM5OC0zLjgwOHYtLjAxM2MwLTIuMzY2LTEuMy0zLjgwOC0zLjM5OC0zLjgwOHMtMy4zOTcgMS40NDItMy4zOTcgMy44MDh2LjAxM2MwIDIuMzU5IDEuMjk5IDMuODA4IDMuMzk3IDMuODA4Wm0wLTEuMDUzYy0xLjM5NCAwLTIuMTgtMS4wMTgtMi4xOC0yLjc1NXYtLjAxM2MwLTEuNzQ0Ljc4Ni0yLjc1NSAyLjE4LTIuNzU1IDEuMzk1IDAgMi4xODEgMS4wMTEgMi4xODEgMi43NTV2LjAxM2MwIDEuNzM3LS43ODYgMi43NTUtMi4xOCAyLjc1NVptMTIuMTk2IDEuMDUzYzEuNzcgMCAyLjc2MS0uOTUgMy4wNjItMi4yODNsLjAxNC0uMDc1LTEuMTc2LjAwNi0uMDE0LjA0MWMtLjI3My44Mi0uOTAyIDEuMjU4LTEuODkzIDEuMjU4LTEuMzEzIDAtMi4xNi0xLjA4Ny0yLjE2LTIuNzgydi0uMDE0YzAtMS42Ni44MzQtMi43MjcgMi4xNi0yLjcyNyAxLjA2IDAgMS43MTYuNTg4IDEuOSAxLjMxMmwuMDA3LjAyaDEuMTgzbC0uMDA3LS4wNEM4NS4xNjUgOC41MzMgODQuMDkyIDcuNSA4Mi4zIDcuNWMtMi4wNjUgMC0zLjM3NyAxLjQ5LTMuMzc3IDMuNzh2LjAxNGMwIDIuMzM4IDEuMzIgMy44MzUgMy4zODQgMy44MzVabTQuODg3LS4xM2gxLjE5di00LjM2MWMwLTEuMjkyLjc0NS0yLjA4NSAxLjkyLTIuMDg1IDEuMTc2IDAgMS43MjMuNjM1IDEuNzIzIDEuOTYyVjE1aDEuMTl2LTQuNzcxYzAtMS43NS0uOTIzLTIuNzI4LTIuNTc3LTIuNzI4LTEuMDg3IDAtMS43NzguNDU4LTIuMTQ3IDEuMjM3aC0uMTFWNC43MDVoLTEuMTg5VjE1Wm0xMC4yLjEzYy45OSAwIDEuNzYzLS40MyAyLjIyOC0xLjIxN2guMTFWMTVoMS4xODlWOS45NTVjMC0xLjUzMS0xLjAwNS0yLjQ1NC0yLjgwMy0yLjQ1NC0xLjU3MiAwLTIuNjkzLjc4LTIuODg1IDEuOTM1bC0uMDA2LjA0aDEuMTg5bC4wMDctLjAyYy4xOTEtLjU3NC43NzItLjkwMiAxLjY1NC0uOTAyIDEuMSAwIDEuNjU0LjQ5MiAxLjY1NCAxLjQwMXYuNjdsLTIuMTEyLjEzYy0xLjcxNi4xMDItMi42ODYuODYxLTIuNjg2IDIuMTc0di4wMTNjMCAxLjM0IDEuMDYgMi4xODggMi40NiAyLjE4OFptLTEuMjQ1LTIuMjE1di0uMDE0YzAtLjczMS40OTMtMS4xMjggMS42MTQtMS4xOTZsMS45NjgtLjEyM3YuNjdjMCAxLjA1My0uODgxIDEuODQ2LTIuMDkxIDEuODQ2LS44NTUgMC0xLjQ5LS40MzgtMS40OS0xLjE4M1pNMTAzLjA5NiAxNWgxLjE4OXYtNC4zNjFjMC0xLjI5Mi43NDUtMi4wODUgMS45MjEtMi4wODUgMS4xNzYgMCAxLjcyMy42MzUgMS43MjMgMS45NjJWMTVoMS4xODl2LTQuNzcxYzAtMS43NS0uOTIzLTIuNzI4LTIuNTc3LTIuNzI4LTEuMDg3IDAtMS43NzcuNDU4LTIuMTQ2IDEuMjM3aC0uMTFWNy42MzFoLTEuMTg5VjE1Wm0xMS4yMTEgMi41OThjMi4wMDkgMCAzLjI4MS0xLjA1MyAzLjI4MS0yLjdWNy42M2gtMS4xOXYxLjIxN2gtLjA4MmMtLjQ1MS0uODM0LTEuMjU3LTEuMzQ3LTIuMjk2LTEuMzQ3LTEuOTI4IDAtMy4xMTggMS40OTctMy4xMTggMy41NjF2LjAxNGMwIDIuMDY1IDEuMTgzIDMuNTQxIDMuMDkgMy41NDEgMS4wMTIgMCAxLjg0Ni0uNDU4IDIuMzExLTEuMjcxaC4xMDl2MS40OWMwIDEuMDg3LS43ODYgMS43MDktMi4xMDUgMS43MDktMS4wNiAwLTEuNzE2LS4zOTctMS44NDYtLjk1N2wtLjAwNy0uMDA3aC0xLjIzbC0uMDE0LjAwN2MuMTg1IDEuMjEgMS4zMTkgMi4wMSAzLjA5NyAyLjAxWm0tLjA1NS00LjAzM2MtMS4zNjcgMC0yLjEzMy0xLjAyNi0yLjEzMy0yLjQ4OXYtLjAxNGMwLTEuNDYyLjc2Ni0yLjUwOCAyLjEzMy0yLjUwOCAxLjM2IDAgMi4xODcgMS4wNDYgMi4xODcgMi41MDh2LjAxNGMwIDEuNDYzLS44MiAyLjQ4OS0yLjE4NyAyLjQ4OVptOC41NTkgMS41NjVjMS43MzYgMCAyLjc4OS0uOTg1IDMuMDQyLTEuOTgybC4wMTMtLjA1NWgtMS4xODlsLS4wMjguMDYxYy0uMTk4LjQ0NS0uODEzLjkxNi0xLjgxMS45MTYtMS4zMTMgMC0yLjE1My0uODg4LTIuMTg4LTIuNDEzaDUuMzA1di0uNDY1YzAtMi4yLTEuMjE3LTMuNjkxLTMuMjItMy42OTFzLTMuMzAxIDEuNTU5LTMuMzAxIDMuODM1di4wMDdjMCAyLjMxIDEuMjcxIDMuNzg3IDMuMzc3IDMuNzg3Wm0tLjA4Mi02LjU3YzEuMDg2IDAgMS44OTMuNjkxIDIuMDE2IDIuMTQ3aC00LjA3NGMuMTMtMS40MDEuOTY0LTIuMTQ2IDIuMDU4LTIuMTQ2Wm0xMi42NzMgNi41N2MxLjg2NyAwIDMuMDktMS41MSAzLjA5LTMuODA4di0uMDEzYzAtMi4zMTEtMS4yMTctMy44MDgtMy4wOS0zLjgwOC0xLjAxMSAwLTEuODkzLjUwNi0yLjI5NyAxLjI5MmgtLjEwOVY0LjcwNWgtMS4xODlWMTVoMS4xODl2LTEuMTc2aC4xMDljLjQ1Mi44MiAxLjI3MiAxLjMwNiAyLjI5NyAxLjMwNlptLS4yNzMtMS4wNTNjLTEuMzQgMC0yLjE2LTEuMDUzLTIuMTYtMi43NTV2LS4wMTNjMC0xLjcwMy44Mi0yLjc1NSAyLjE2LTIuNzU1IDEuMzQ3IDAgMi4xNDYgMS4wMzkgMi4xNDYgMi43NTV2LjAxM2MwIDEuNzE2LS43OTkgMi43NTUtMi4xNDYgMi43NTVabTUuMjc3LjkyM2gxLjE5VjQuNzA1aC0xLjE5VjE1Wm02LjUwMS4xM2MyLjA5OSAwIDMuMzk4LTEuNDUgMy4zOTgtMy44MDh2LS4wMTNjMC0yLjM2Ni0xLjI5OS0zLjgwOC0zLjM5OC0zLjgwOC0yLjA5OCAwLTMuMzk3IDEuNDQyLTMuMzk3IDMuODA4di4wMTNjMCAyLjM1OSAxLjI5OSAzLjgwOCAzLjM5NyAzLjgwOFptMC0xLjA1M2MtMS4zOTQgMC0yLjE4LTEuMDE4LTIuMTgtMi43NTV2LS4wMTNjMC0xLjc0NC43ODYtMi43NTUgMi4xOC0yLjc1NSAxLjM5NSAwIDIuMTgxIDEuMDExIDIuMTgxIDIuNzU1di4wMTNjMCAxLjczNy0uNzg2IDIuNzU1LTIuMTgxIDIuNzU1Wm04LjI1OCAxLjA1M2MxLjc3MSAwIDIuNzYyLS45NSAzLjA2My0yLjI4M2wuMDEzLS4wNzUtMS4xNzYuMDA2LS4wMTMuMDQxYy0uMjc0LjgyLS45MDMgMS4yNTgtMS44OTQgMS4yNTgtMS4zMTIgMC0yLjE2LTEuMDg3LTIuMTYtMi43ODJ2LS4wMTRjMC0xLjY2LjgzNC0yLjcyNyAyLjE2LTIuNzI3IDEuMDYgMCAxLjcxNi41ODggMS45MDEgMS4zMTJsLjAwNi4wMmgxLjE4M2wtLjAwNy0uMDRjLS4yMTktMS4zMTMtMS4yOTItMi4zNDUtMy4wODMtMi4zNDUtMi4wNjQgMC0zLjM3NyAxLjQ5LTMuMzc3IDMuNzh2LjAxNGMwIDIuMzM4IDEuMzIgMy44MzUgMy4zODQgMy44MzVabTQuODg4LS4xM2gxLjE4OXYtMi43OTZsLjY5MS0uNjdMMTY0LjY5NCAxNWgxLjQ5N2wtMy40MjQtNC4yNzMgMy4yMTItMy4wOTZoLTEuNDQybC0zLjE4NSAzLjIyaC0uMTFWNC43MDVoLTEuMTg5VjE1Wm0xNC4wODkuMDU1Yy4yMzIgMCAuNDU4LS4wMjguNjktLjA2OXYtMS4wMTFjLS4yMTkuMDItLjMzNS4wMjctLjU0Ny4wMjctLjc2NSAwLTEuMDY2LS4zNDktMS4wNjYtMS4yMTd2LTQuMTdoMS42MTN2LS45ODRoLTEuNjEzVjUuNzI0aC0xLjIzMVY3LjYzaC0xLjE2MnYuOTg0aDEuMTYydjQuNDdjMCAxLjQxLjYzNiAxLjk3IDIuMTU0IDEuOTdabTMuMDk2IDIuNTI5YzEuMzA2IDAgMS45MTQtLjQ3OSAyLjUyMy0yLjEzM2wyLjg3OC03LjgyaC0xLjI1MWwtMi4wMTcgNi4wNjNoLS4xMDlsLTIuMDI0LTYuMDYzaC0xLjI3MWwyLjcyNyA3LjM3Ni0uMTM2LjQzN2MtLjI2Ny44NDgtLjY3NyAxLjE1Ni0xLjM1NCAxLjE1NmEyLjgyIDIuODIgMCAwIDEtLjQ5Mi0uMDM1di45NzhjLjE2NC4wMjcuMzY5LjA0MS41MjYuMDQxWm02Ljk3My0uMTIzaDEuMTg5di0zLjYyM2guMTFjLjQwMy43ODYgMS4yODUgMS4yOTIgMi4yOTcgMS4yOTIgMS44NzMgMCAzLjA4OS0xLjQ5NyAzLjA4OS0zLjgwOHYtLjAxM2MwLTIuMjk3LTEuMjIzLTMuODA4LTMuMDg5LTMuODA4LTEuMDI2IDAtMS44NDYuNDg1LTIuMjk3IDEuMzA2aC0uMTFWNy42M2gtMS4xODl2OS44M1ptMy4zMjItMy4zODRjLTEuMzQgMC0yLjE2LTEuMDUzLTIuMTYtMi43NTV2LS4wMTNjMC0xLjcwMy44Mi0yLjc1NSAyLjE2LTIuNzU1IDEuMzQ3IDAgMi4xNDcgMS4wMzkgMi4xNDcgMi43NTV2LjAxM2MwIDEuNzE2LS44IDIuNzU1LTIuMTQ3IDIuNzU1Wm04LjIzMSAxLjA1M2MxLjczNiAwIDIuNzg5LS45ODUgMy4wNDItMS45ODJsLjAxMy0uMDU1aC0xLjE4OWwtLjAyNy4wNjFjLS4xOTkuNDQ1LS44MTQuOTE2LTEuODEyLjkxNi0xLjMxMiAwLTIuMTUzLS44ODgtMi4xODctMi40MTNoNS4zMDR2LS40NjVjMC0yLjItMS4yMTctMy42OTEtMy4yMi0zLjY5MS0yLjAwMiAwLTMuMzAxIDEuNTU5LTMuMzAxIDMuODM1di4wMDdjMCAyLjMxIDEuMjcxIDMuNzg3IDMuMzc3IDMuNzg3Wm0tLjA4Mi02LjU3YzEuMDg3IDAgMS44OTMuNjkxIDIuMDE2IDIuMTQ3aC00LjA3NGMuMTMtMS40MDEuOTY0LTIuMTQ2IDIuMDU4LTIuMTQ2WiIgZmlsbD0iIzg3OTI5RCIvPjwvc3ZnPg==\");height:0;pointer-events:none;position:absolute;top:-2px;z-index:-1}.neeto-editor .hljs,.neeto-editor-content .hljs{background:#282c34;color:#abb2bf}.neeto-editor .hljs-comment,.neeto-editor .hljs-quote,.neeto-editor-content .hljs-comment,.neeto-editor-content .hljs-quote{color:#5c6370;font-style:italic}.neeto-editor .hljs-doctag,.neeto-editor .hljs-formula,.neeto-editor .hljs-keyword,.neeto-editor-content .hljs-doctag,.neeto-editor-content .hljs-formula,.neeto-editor-content .hljs-keyword{color:#c678dd}.neeto-editor .hljs-deletion,.neeto-editor .hljs-name,.neeto-editor .hljs-section,.neeto-editor .hljs-selector-tag,.neeto-editor .hljs-subst,.neeto-editor-content .hljs-deletion,.neeto-editor-content .hljs-name,.neeto-editor-content .hljs-section,.neeto-editor-content .hljs-selector-tag,.neeto-editor-content .hljs-subst{color:#e06c75}.neeto-editor .hljs-literal,.neeto-editor-content .hljs-literal{color:#56b6c2}.neeto-editor .hljs-addition,.neeto-editor .hljs-attribute,.neeto-editor .hljs-regexp,.neeto-editor .hljs-string,.neeto-editor-content .hljs-addition,.neeto-editor-content .hljs-attribute,.neeto-editor-content .hljs-meta .hljs-string,.neeto-editor-content .hljs-regexp,.neeto-editor-content .hljs-string{color:#98c379}.neeto-editor .hljs-attr,.neeto-editor .hljs-number,.neeto-editor .hljs-selector-attr,.neeto-editor .hljs-selector-class,.neeto-editor .hljs-selector-pseudo,.neeto-editor .hljs-template-variable,.neeto-editor .hljs-type,.neeto-editor .hljs-variable,.neeto-editor-content .hljs-attr,.neeto-editor-content .hljs-number,.neeto-editor-content .hljs-selector-attr,.neeto-editor-content .hljs-selector-class,.neeto-editor-content .hljs-selector-pseudo,.neeto-editor-content .hljs-template-variable,.neeto-editor-content .hljs-type,.neeto-editor-content .hljs-variable{color:#d19a66}.neeto-editor .hljs-bullet,.neeto-editor .hljs-link,.neeto-editor .hljs-meta,.neeto-editor .hljs-selector-id,.neeto-editor .hljs-symbol,.neeto-editor .hljs-title,.neeto-editor-content .hljs-bullet,.neeto-editor-content .hljs-link,.neeto-editor-content .hljs-meta,.neeto-editor-content .hljs-selector-id,.neeto-editor-content .hljs-symbol,.neeto-editor-content .hljs-title{color:#61aeee}.neeto-editor .hljs-built_in,.neeto-editor .hljs-class .hljs-title,.neeto-editor .hljs-title.class_,.neeto-editor-content .hljs-built_in,.neeto-editor-content .hljs-class .hljs-title,.neeto-editor-content .hljs-title.class_{color:#e6c07b}.neeto-editor .hljs-emphasis,.neeto-editor-content .hljs-emphasis{font-style:italic}.neeto-editor .hljs-strong,.neeto-editor-content .hljs-strong{font-weight:700}.neeto-editor .hljs-link,.neeto-editor-content .hljs-link{text-decoration:underline}.neeto-ui-theme--dark .hljs{background:#fafafa;color:#383a42}.neeto-ui-theme--dark .hljs-comment,.neeto-ui-theme--dark .hljs-quote{color:#a0a1a7;font-style:italic}.neeto-ui-theme--dark .hljs-doctag,.neeto-ui-theme--dark .hljs-formula,.neeto-ui-theme--dark .hljs-keyword{color:#a626a4}.neeto-ui-theme--dark .hljs-deletion,.neeto-ui-theme--dark .hljs-name,.neeto-ui-theme--dark .hljs-section,.neeto-ui-theme--dark .hljs-selector-tag,.neeto-ui-theme--dark .hljs-subst{color:#e45649}.neeto-ui-theme--dark .hljs-literal{color:#0184bb}.neeto-ui-theme--dark .hljs-addition,.neeto-ui-theme--dark .hljs-attribute,.neeto-ui-theme--dark .hljs-meta .hljs-string,.neeto-ui-theme--dark .hljs-regexp,.neeto-ui-theme--dark .hljs-string{color:#50a14f}.neeto-ui-theme--dark .hljs-attr,.neeto-ui-theme--dark .hljs-number,.neeto-ui-theme--dark .hljs-selector-attr,.neeto-ui-theme--dark .hljs-selector-class,.neeto-ui-theme--dark .hljs-selector-pseudo,.neeto-ui-theme--dark .hljs-template-variable,.neeto-ui-theme--dark .hljs-type,.neeto-ui-theme--dark .hljs-variable{color:#986801}.neeto-ui-theme--dark .hljs-bullet,.neeto-ui-theme--dark .hljs-link,.neeto-ui-theme--dark .hljs-meta,.neeto-ui-theme--dark .hljs-selector-id,.neeto-ui-theme--dark .hljs-symbol,.neeto-ui-theme--dark .hljs-title{color:#4078f2}.neeto-ui-theme--dark .hljs-built_in,.neeto-ui-theme--dark .hljs-class .hljs-title,.neeto-ui-theme--dark .hljs-title.class_{color:#c18401}.neeto-ui-theme--dark .hljs-emphasis{font-style:italic}.neeto-ui-theme--dark .hljs-strong{font-weight:700}.neeto-ui-theme--dark .hljs-link{text-decoration:underline}.neeto-ui-theme--light .hljs{background:#282c34;color:#abb2bf}.neeto-ui-theme--light .hljs-comment,.neeto-ui-theme--light .hljs-quote{color:#5c6370;font-style:italic}.neeto-ui-theme--light .hljs-doctag,.neeto-ui-theme--light .hljs-formula,.neeto-ui-theme--light .hljs-keyword{color:#c678dd}.neeto-ui-theme--light .hljs-deletion,.neeto-ui-theme--light .hljs-name,.neeto-ui-theme--light .hljs-section,.neeto-ui-theme--light .hljs-selector-tag,.neeto-ui-theme--light .hljs-subst{color:#e06c75}.neeto-ui-theme--light .hljs-literal{color:#56b6c2}.neeto-ui-theme--light .hljs-addition,.neeto-ui-theme--light .hljs-attribute,.neeto-ui-theme--light .hljs-meta .hljs-string,.neeto-ui-theme--light .hljs-regexp,.neeto-ui-theme--light .hljs-string{color:#98c379}.neeto-ui-theme--light .hljs-attr,.neeto-ui-theme--light .hljs-number,.neeto-ui-theme--light .hljs-selector-attr,.neeto-ui-theme--light .hljs-selector-class,.neeto-ui-theme--light .hljs-selector-pseudo,.neeto-ui-theme--light .hljs-template-variable,.neeto-ui-theme--light .hljs-type,.neeto-ui-theme--light .hljs-variable{color:#d19a66}.neeto-ui-theme--light .hljs-bullet,.neeto-ui-theme--light .hljs-link,.neeto-ui-theme--light .hljs-meta,.neeto-ui-theme--light .hljs-selector-id,.neeto-ui-theme--light .hljs-symbol,.neeto-ui-theme--light .hljs-title{color:#61aeee}.neeto-ui-theme--light .hljs-built_in,.neeto-ui-theme--light .hljs-class .hljs-title,.neeto-ui-theme--light .hljs-title.class_{color:#e6c07b}.neeto-ui-theme--light .hljs-emphasis{font-style:italic}.neeto-ui-theme--light .hljs-strong{font-weight:700}.neeto-ui-theme--light .hljs-link{text-decoration:underline}.neeto-ui-theme--light,:root{--neeto-editor-white:255,255,255;--neeto-editor-black:12,17,29;--neeto-editor-gray-800:16,24,40;--neeto-editor-gray-700:29,41,57;--neeto-editor-gray-600:52,64,84;--neeto-editor-gray-500:135,146,157;--neeto-editor-gray-400:194,200,204;--neeto-editor-gray-300:216,220,222;--neeto-editor-gray-200:233,235,237;--neeto-editor-gray-100:246,247,248;--neeto-editor-gray-50:250,250,250;--neeto-editor-primary-800:0,102,83;--neeto-editor-primary-600:0,122,100;--neeto-editor-primary-500:0,128,104;--neeto-editor-primary-100:225,243,238;--neeto-editor-primary-50:240,249,247;--neeto-editor-accent-800:9,90,186;--neeto-editor-accent-600:13,102,208;--neeto-editor-accent-500:20,115,230;--neeto-editor-accent-100:230,244,255;--neeto-editor-accent-50:239,248,255;--neeto-editor-success-800:1,121,93;--neeto-editor-success-600:1,141,109;--neeto-editor-success-500:2,162,124;--neeto-editor-success-100:235,255,250;--neeto-editor-error-800:187,18,26;--neeto-editor-error-600:201,37,45;--neeto-editor-error-500:215,55,63;--neeto-editor-error-100:254,236,240;--neeto-editor-info-800:9,90,186;--neeto-editor-info-600:13,102,208;--neeto-editor-info-500:20,115,230;--neeto-editor-info-100:226,242,255;--neeto-editor-warning-800:189,100,13;--neeto-editor-warning-600:203,111,16;--neeto-editor-warning-500:218,123,17;--neeto-editor-warning-100:251,242,225;--neeto-editor-pastel-silver:232,233,237;--neeto-editor-pastel-red:255,229,229;--neeto-editor-pastel-yellow:254,243,197;--neeto-editor-pastel-green:211,249,232;--neeto-editor-pastel-blue:236,244,255;--neeto-editor-pastel-purple:238,235,255;--neeto-editor-pastel-pink:253,226,241;--neeto-editor-rounded-none:0;--neeto-editor-rounded-sm:3px;--neeto-editor-rounded:5px;--neeto-editor-rounded-md:6px;--neeto-editor-rounded-lg:8px;--neeto-editor-rounded-xl:12px;--neeto-editor-rounded-full:999px;--neeto-editor-font-thin:100;--neeto-editor-font-extralight:200;--neeto-editor-font-light:300;--neeto-editor-font-normal:400;--neeto-editor-font-medium:500;--neeto-editor-font-semibold:600;--neeto-editor-font-bold:700;--neeto-editor-font-extrabold:800;--neeto-editor-font-black:900;--neeto-editor-content-h1-margin:1.5rem 0 0.25rem;--neeto-editor-content-h2-margin:1.5rem 0 0.25rem;--neeto-editor-content-h3-margin:1.5rem 0 0.25rem;--neeto-editor-content-h4-margin:1.5rem 0 0.25rem;--neeto-editor-content-h5-margin:1.5rem 0 0.25rem;--neeto-editor-content-h6-margin:1.5rem 0 0.25rem;--neeto-editor-content-heading-font-weight:600;--neeto-editor-content-heading-font-weight-bold:bold;--neeto-editor-content-heading-color:12,17,29,1;--neeto-editor-content-heading-line-height:1.25;--neeto-editor-content-paragraph-color:54,55,55,1;--neeto-editor-content-paragraph-font-weight:400;--neeto-editor-content-paragraph-line-height:1.6;--neeto-editor-content-paragraph-margin-bottom:0.5rem;--neeto-editor-content-list-padding-inline-start:2rem;--neeto-editor-content-list-margin-bottom:1rem;--neeto-editor-content-list-item-margin-bottom:0.5rem;--neeto-editor-content-list-item-margin-top:0.5rem;--neeto-editor-content-code-font-size:85%;--neeto-editor-content-code-background-color:40,44,52,1;--neeto-editor-content-code-line-number-color:89,99,110,1;--neeto-editor-content-code-color:171,178,191,1;--neeto-editor-content-inline-code-color:31,35,40,1;--neeto-editor-content-inline-code-background-color:239,242,246,1;--neeto-editor-content-code-padding:0.2em 0.4em;--neeto-editor-content-blockquote-color:89,99,110,1;--neeto-editor-content-blockquote-border-color:209,217,224,1;--neeto-editor-content-blockquote-border-inline-start-width:4px;--neeto-editor-content-blockquote-margin-bottom:1rem;--neeto-editor-content-blockquote-padding-inline-start:0.75rem;--neeto-editor-content-image-border-color:228,228,231;--neeto-editor-content-image-border-radius:8px;--neeto-editor-highlight-text-1:#32302c;--neeto-editor-highlight-text-2:#787774;--neeto-editor-highlight-text-3:#9f6b53;--neeto-editor-highlight-text-4:#d9730d;--neeto-editor-highlight-text-5:#cb912f;--neeto-editor-highlight-text-6:#448361;--neeto-editor-highlight-text-7:#337ea9;--neeto-editor-highlight-text-8:#9065b0;--neeto-editor-highlight-text-9:#c14c8a;--neeto-editor-highlight-text-10:#d44c47;--neeto-editor-highlight-text-11:#6364dc;--neeto-editor-highlight-text-12:#d99641;--neeto-editor-highlight-text-13:#5a8cd7;--neeto-editor-highlight-text-14:#48a869;--neeto-editor-highlight-text-15:#dc3232;--neeto-editor-highlight-text-16:#af50dc;--neeto-editor-highlight-bg-1:#ff0;--neeto-editor-highlight-bg-2:#e3e3de;--neeto-editor-highlight-bg-3:#dfcece;--neeto-editor-highlight-bg-4:#f9e0c8;--neeto-editor-highlight-bg-5:#f7e7b6;--neeto-editor-highlight-bg-6:#d0e0cd;--neeto-editor-highlight-bg-7:#c0dfec;--neeto-editor-highlight-bg-8:#e3cef3;--neeto-editor-highlight-bg-9:#f4cdde;--neeto-editor-highlight-bg-10:#f9c7ca;--neeto-editor-highlight-bg-11:#b69cff;--neeto-editor-highlight-bg-12:#d9730d;--neeto-editor-highlight-bg-13:#4a85e8;--neeto-editor-highlight-bg-14:#00ff01;--neeto-editor-highlight-bg-15:red;--neeto-editor-highlight-bg-16:#f0f}.neeto-ui-theme--dark{--neeto-editor-white:18,18,18;--neeto-editor-black:224,224,224;--neeto-editor-gray-50:10,10,10;--neeto-editor-gray-100:30,30,30;--neeto-editor-gray-200:44,44,44;--neeto-editor-gray-300:57,57,57;--neeto-editor-gray-400:73,73,73;--neeto-editor-gray-500:92,92,92;--neeto-editor-gray-600:124,124,124;--neeto-editor-gray-700:162,162,162;--neeto-editor-gray-800:200,200,200;--neeto-editor-primary-800:0,245,200;--neeto-editor-primary-600:0,224,183;--neeto-editor-primary-500:0,204,167;--neeto-editor-primary-100:0,61,49;--neeto-editor-primary-50:0,41,33;--neeto-editor-accent-800:142,189,245;--neeto-editor-accent-600:105,167,242;--neeto-editor-accent-500:67,144,239;--neeto-editor-accent-100:10,56,113;--neeto-editor-accent-50:7,37,75;--neeto-editor-error-800:247,109,116;--neeto-editor-error-600:236,91,98;--neeto-editor-error-500:227,72,80;--neeto-editor-error-100:129,33,38;--neeto-editor-success-800:0,245,200;--neeto-editor-success-600:0,224,183;--neeto-editor-success-500:0,204,167;--neeto-editor-success-100:0,61,49;--neeto-editor-warning-800:249,164,63;--neeto-editor-warning-600:242,148,35;--neeto-editor-warning-500:230,134,25;--neeto-editor-warning-100:131,74,11;--neeto-editor-info-800:142,189,245;--neeto-editor-info-600:105,167,242;--neeto-editor-info-500:67,144,239;--neeto-editor-info-100:10,56,113;--neeto-editor-pastel-silver:167,168,170;--neeto-editor-pastel-red:183,164,165;--neeto-editor-pastel-yellow:182,175,143;--neeto-editor-pastel-green:152,179,167;--neeto-editor-pastel-blue:170,175,183;--neeto-editor-pastel-purple:171,169,183;--neeto-editor-pastel-pink:181,162,174;--neeto-editor-content-heading-color:224,224,224,1;--neeto-editor-content-paragraph-color:224,224,224,1;--neeto-editor-content-code-background-color:246,248,250,1;--neeto-editor-content-code-line-number-color:89,99,110,1;--neeto-editor-content-code-color:31,35,40,1;--neeto-editor-content-inline-code-color:212,223,243,1;--neeto-editor-content-inline-code-background-color:67,73,84,1;--neeto-editor-content-blockquote-color:145,152,161,1;--neeto-editor-content-blockquote-border-color:61,68,77,1;--neeto-editor-highlight-text-1:#cdcdcd;--neeto-editor-highlight-text-2:#b4b4b4;--neeto-editor-highlight-text-3:#c89678;--neeto-editor-highlight-text-4:#f0b464;--neeto-editor-highlight-text-5:#e6be78;--neeto-editor-highlight-text-6:#78be96;--neeto-editor-highlight-text-7:#64b4dc;--neeto-editor-highlight-text-8:#be96e6;--neeto-editor-highlight-text-9:#dc78be;--neeto-editor-highlight-text-10:#e6786e;--neeto-editor-highlight-text-11:#9b9cff;--neeto-editor-highlight-text-12:#f5b464;--neeto-editor-highlight-text-13:#78aaf5;--neeto-editor-highlight-text-14:#64c887;--neeto-editor-highlight-text-15:#fa6e6e;--neeto-editor-highlight-text-16:#dc82ff;--neeto-editor-highlight-bg-1:#646400;--neeto-editor-highlight-bg-2:#41413c;--neeto-editor-highlight-bg-3:#413737;--neeto-editor-highlight-bg-4:#504130;--neeto-editor-highlight-bg-5:#554e2d;--neeto-editor-highlight-bg-6:#2d412a;--neeto-editor-highlight-bg-7:#234452;--neeto-editor-highlight-bg-8:#413055;--neeto-editor-highlight-bg-9:#552d44;--neeto-editor-highlight-bg-10:#553030;--neeto-editor-highlight-bg-11:#32145a;--neeto-editor-highlight-bg-12:#643c0a;--neeto-editor-highlight-bg-13:#193c6e;--neeto-editor-highlight-bg-14:#00500a;--neeto-editor-highlight-bg-15:#6e0f0f;--neeto-editor-highlight-bg-16:#640a64}.neeto-ui-theme--dark .neeto-editor-content.neeto-editor-size--small,.neeto-ui-theme--dark .neeto-editor-size--small.neeto-editor{--neeto-editor-content-heading-color:224,224,224,1;--neeto-editor-content-paragraph-color:224,224,224,1}.neeto-ui-theme--light .neeto-editor,.neeto-ui-theme--light .neeto-editor-content{--neeto-editor-content-heading-color:12,17,29,1;--neeto-editor-content-paragraph-color:54,55,55,1}.neeto-ui-theme--light .neeto-editor-content.neeto-editor-size--small,.neeto-ui-theme--light .neeto-editor-size--small.neeto-editor{--neeto-editor-content-heading-color:31,35,40,1;--neeto-editor-content-paragraph-color:31,35,40,1}.neeto-editor,.neeto-editor-content{-moz-tab-size:2;-o-tab-size:2;tab-size:2;white-space:pre-wrap;word-break:break-word}.neeto-editor hr,.neeto-editor-content hr{border-color:#363737;border-color:rgba(var(--neeto-editor-content-paragraph-color));margin:.5rem 0;opacity:.2}.neeto-editor .table-responsive,.neeto-editor-content .table-responsive{-webkit-overflow-scrolling:touch;margin:1rem 0;overflow-x:auto}.neeto-editor .table-responsive.neeto-editor-table--left table td,.neeto-editor .table-responsive.neeto-editor-table--left table th,.neeto-editor-content .table-responsive.neeto-editor-table--left table td,.neeto-editor-content .table-responsive.neeto-editor-table--left table th{text-align:start!important}.neeto-editor .table-responsive.neeto-editor-table--center table td,.neeto-editor .table-responsive.neeto-editor-table--center table th,.neeto-editor-content .table-responsive.neeto-editor-table--center table td,.neeto-editor-content .table-responsive.neeto-editor-table--center table th{text-align:center!important}.neeto-editor .table-responsive.neeto-editor-table--right table td,.neeto-editor .table-responsive.neeto-editor-table--right table th,.neeto-editor-content .table-responsive.neeto-editor-table--right table td,.neeto-editor-content .table-responsive.neeto-editor-table--right table th{text-align:end!important}.neeto-editor-content.neeto-editor-size--small,.neeto-editor-size--small.neeto-editor{--neeto-editor-content-heading-color:31,35,40,1;--neeto-editor-content-paragraph-color:31,35,40,1;--neeto-editor-content-h1-font-size:1.75rem;--neeto-editor-content-h2-font-size:1.3125rem;--neeto-editor-content-h3-font-size:1.09375rem;--neeto-editor-content-h4-font-size:0.875rem;--neeto-editor-content-h5-font-size:0.765625rem;--neeto-editor-content-h6-font-size:0.74375rem;--neeto-editor-content-paragraph-font-size:0.875rem;--neeto-editor-content-paragraph-line-height:1.5;--neeto-editor-content-list-padding-inline-start:1.5rem;--neeto-editor-content-list-item-margin-bottom:0.25rem;--neeto-editor-content-list-item-margin-top:0.25rem}.neeto-editor-content.neeto-editor-size--medium,.neeto-editor-size--medium.neeto-editor{--neeto-editor-content-h1-font-size:2rem;--neeto-editor-content-h2-font-size:1.5rem;--neeto-editor-content-h3-font-size:1.25rem;--neeto-editor-content-h4-font-size:1rem;--neeto-editor-content-h5-font-size:0.875rem;--neeto-editor-content-h6-font-size:0.75rem;--neeto-editor-content-paragraph-font-size:1rem}@media only screen and (max-width:767px){.neeto-editor-content.neeto-editor-size--medium,.neeto-editor-size--medium.neeto-editor{--neeto-editor-content-h1-font-size:1.375rem;--neeto-editor-content-h2-font-size:1.25rem;--neeto-editor-content-h3-font-size:1.125rem}}.neeto-editor-content.neeto-editor-size--large,.neeto-editor-size--large.neeto-editor{--neeto-editor-content-h1-font-size:2.375rem;--neeto-editor-content-h2-font-size:1.93rem;--neeto-editor-content-h3-font-size:1.633rem;--neeto-editor-content-h4-font-size:1.336rem;--neeto-editor-content-h5-font-size:0.986rem;--neeto-editor-content-h6-font-size:0.796rem;--neeto-editor-content-paragraph-font-size:1.125rem}@media only screen and (max-width:767px){.neeto-editor-content.neeto-editor-size--large,.neeto-editor-size--large.neeto-editor{--neeto-editor-content-h1-font-size:2.125rem;--neeto-editor-content-h2-font-size:1.7266rem;--neeto-editor-content-h3-font-size:1.4609rem;--neeto-editor-content-h4-font-size:1.1953rem;--neeto-editor-content-h5-font-size:0.875rem;--neeto-editor-content-h6-font-size:0.75rem;--neeto-editor-content-paragraph-font-size:1rem}}.neeto-editor h1,.neeto-editor h2,.neeto-editor h3,.neeto-editor h4,.neeto-editor h5,.neeto-editor h6,.neeto-editor-content h1,.neeto-editor-content h2,.neeto-editor-content h3,.neeto-editor-content h4,.neeto-editor-content h5,.neeto-editor-content h6{color:#0c111d;color:rgba(var(--neeto-editor-content-heading-color));font-weight:600;font-weight:var(--neeto-editor-content-heading-font-weight)}.neeto-editor h1 strong,.neeto-editor h2 strong,.neeto-editor h3 strong,.neeto-editor h4 strong,.neeto-editor h5 strong,.neeto-editor h6 strong,.neeto-editor-content h1 strong,.neeto-editor-content h2 strong,.neeto-editor-content h3 strong,.neeto-editor-content h4 strong,.neeto-editor-content h5 strong,.neeto-editor-content h6 strong{font-weight:700!important;font-weight:var(--neeto-editor-content-heading-font-weight-bold)!important}.neeto-editor h1,.neeto-editor-content h1{font-size:var(--neeto-editor-content-h1-font-size);margin:1.5rem 0 .25rem;margin:var(--neeto-editor-content-h1-margin)}.neeto-editor h2,.neeto-editor-content h2{font-size:var(--neeto-editor-content-h2-font-size);margin:1.5rem 0 .25rem;margin:var(--neeto-editor-content-h2-margin)}.neeto-editor h3,.neeto-editor-content h3{font-size:var(--neeto-editor-content-h3-font-size);margin:1.5rem 0 .25rem;margin:var(--neeto-editor-content-h3-margin)}.neeto-editor h4,.neeto-editor-content h4{font-size:var(--neeto-editor-content-h4-font-size);margin:1.5rem 0 .25rem;margin:var(--neeto-editor-content-h4-margin)}.neeto-editor h5,.neeto-editor-content h5{font-size:var(--neeto-editor-content-h5-font-size);margin:1.5rem 0 .25rem;margin:var(--neeto-editor-content-h5-margin)}.neeto-editor h6,.neeto-editor-content h6{font-size:var(--neeto-editor-content-h6-font-size);margin:1.5rem 0 .25rem;margin:var(--neeto-editor-content-h6-margin)}.neeto-editor .header-wrapper,.neeto-editor-content .header-wrapper{position:relative}.neeto-editor .header-wrapper__link,.neeto-editor-content .header-wrapper__link{position:absolute;top:50%}.neeto-editor .header-wrapper h1,.neeto-editor .header-wrapper h2,.neeto-editor .header-wrapper h3,.neeto-editor .header-wrapper h4,.neeto-editor .header-wrapper h5,.neeto-editor .header-wrapper h6,.neeto-editor-content .header-wrapper h1,.neeto-editor-content .header-wrapper h2,.neeto-editor-content .header-wrapper h3,.neeto-editor-content .header-wrapper h4,.neeto-editor-content .header-wrapper h5,.neeto-editor-content .header-wrapper h6{line-height:1.25;line-height:var(--neeto-editor-content-heading-line-height);transition:color .15s ease-in}.neeto-editor .header-wrapper .header-link-icon-wrapper,.neeto-editor-content .header-wrapper .header-link-icon-wrapper{align-items:center;display:flex;height:100%;inset-inline-start:-1.5625rem;opacity:0;position:absolute;transition:opacity .15s ease-in;width:1.5625rem}.neeto-editor .header-wrapper .header-link-icon-wrapper svg,.neeto-editor-content .header-wrapper .header-link-icon-wrapper svg{fill:#006653;fill:rgb(var(--neeto-editor-primary-800));transition:fill .15s ease-in}.neeto-editor .header-wrapper:hover .header-link-icon-wrapper,.neeto-editor-content .header-wrapper:hover .header-link-icon-wrapper{opacity:1}.neeto-editor .header-wrapper:hover svg,.neeto-editor-content .header-wrapper:hover svg{fill:#095aba;fill:rgb(var(--neeto-editor-accent-800))}.neeto-editor p,.neeto-editor-content p{color:#363737;color:rgba(var(--neeto-editor-content-paragraph-color));font-size:var(--neeto-editor-content-paragraph-font-size);font-weight:400;font-weight:var(--neeto-editor-content-paragraph-font-weight);line-height:1.6;line-height:var(--neeto-editor-content-paragraph-line-height);margin-bottom:.5rem;margin-bottom:var(--neeto-editor-content-paragraph-margin-bottom);margin-top:0;min-height:1.3rem}.neeto-editor p:empty:after,.neeto-editor-content p:empty:after{content:\" \"}.neeto-editor p:empty,.neeto-editor-content p:empty{line-height:1;margin-bottom:0;min-height:1rem}.neeto-editor p:last-child,.neeto-editor-content p:last-child{margin-bottom:0}.neeto-editor p strong,.neeto-editor-content p strong{font-weight:600!important}.neeto-editor div,.neeto-editor-content div{color:#363737;color:rgba(var(--neeto-editor-content-paragraph-color));font-size:var(--neeto-editor-content-paragraph-font-size);font-weight:400;font-weight:var(--neeto-editor-content-paragraph-font-weight);line-height:1.6;line-height:var(--neeto-editor-content-paragraph-line-height)}.neeto-editor code,.neeto-editor-content code{background-color:#282c34;background-color:rgba(var(--neeto-editor-content-code-background-color));border-color:#282c34;border-color:rgba(var(--neeto-editor-content-code-background-color));border-radius:3px;border-radius:var(--neeto-editor-rounded-sm);color:#abb2bf;color:rgba(var(--neeto-editor-content-code-color));font-family:SFMono-Regular,Menlo,Consolas,PT Mono,Liberation Mono,Courier,monospace;font-size:85%;font-size:var(--neeto-editor-content-code-font-size);padding:.2em .4em;padding:var(--neeto-editor-content-code-padding)}.neeto-editor code *,.neeto-editor-content code *{font-size:inherit!important}.neeto-editor h1 code,.neeto-editor h2 code,.neeto-editor h3 code,.neeto-editor h4 code,.neeto-editor h5 code,.neeto-editor h6 code,.neeto-editor li code,.neeto-editor p code,.neeto-editor table td code,.neeto-editor table th code,.neeto-editor-content h1 code,.neeto-editor-content h2 code,.neeto-editor-content h3 code,.neeto-editor-content h4 code,.neeto-editor-content h5 code,.neeto-editor-content h6 code,.neeto-editor-content li code,.neeto-editor-content p code,.neeto-editor-content table td code,.neeto-editor-content table th code{background-color:#eff2f6;background-color:rgba(var(--neeto-editor-content-inline-code-background-color));border-radius:3px;border-radius:var(--neeto-editor-rounded-sm);color:#1f2328;color:rgba(var(--neeto-editor-content-inline-code-color));font-size:85%;font-size:var(--neeto-editor-content-code-font-size)}.neeto-editor pre,.neeto-editor-content pre{background-color:#282c34;background-color:rgba(var(--neeto-editor-content-code-background-color));border-color:#282c34;border-color:rgba(var(--neeto-editor-content-code-background-color));border-radius:8px;border-radius:var(--neeto-editor-rounded-lg);counter-reset:line-number;font-size:var(--neeto-editor-content-paragraph-font-size);line-height:1.5;margin-bottom:1rem;margin-top:1rem;max-width:100%;padding:0;position:relative}.neeto-editor pre,.neeto-editor pre div,.neeto-editor-content pre,.neeto-editor-content pre div{color:#abb2bf;color:rgba(var(--neeto-editor-content-code-color))}.neeto-editor pre .neeto-editor-codeblock-options,.neeto-editor-content pre .neeto-editor-codeblock-options{align-items:center;display:flex;gap:.25rem;inset-inline-end:.25rem;opacity:0;position:absolute;top:.25rem;visibility:hidden}.neeto-editor pre .neeto-editor-codeblock-options__menu,.neeto-editor-content pre .neeto-editor-codeblock-options__menu{display:flex;flex-direction:column;gap:.25rem}.neeto-editor pre .neeto-editor-codeblock-options__input,.neeto-editor-content pre .neeto-editor-codeblock-options__input{margin:.25rem}.neeto-editor pre:hover .neeto-editor-codeblock-options,.neeto-editor-content pre:hover .neeto-editor-codeblock-options{opacity:1;visibility:visible}.neeto-editor pre:hover .copy-button,.neeto-editor-content pre:hover .copy-button{opacity:1;visibility:visible}.neeto-editor pre .copy-button,.neeto-editor-content pre .copy-button{inset-inline-end:.25rem;opacity:0;position:absolute;top:.25rem;visibility:hidden}.neeto-editor pre[data-linenumbers] .highlight-line,.neeto-editor-content pre[data-linenumbers] .highlight-line{padding-inline-start:3.125rem;position:relative}.neeto-editor pre[data-linenumbers] .highlight-line:before,.neeto-editor-content pre[data-linenumbers] .highlight-line:before{align-items:center;color:#59636e;color:rgba(var(--neeto-editor-content-code-line-number-color));content:counter(line-number);counter-increment:line-number;display:flex;font-size:85%;font-weight:400;height:100%;inset-inline-start:0;justify-content:flex-end;padding-inline-end:1rem;padding-inline-start:.625rem;position:absolute;width:3.125rem}.neeto-editor pre[data-linenumbers] .highlight-line:last-child:before,.neeto-editor-content pre[data-linenumbers] .highlight-line:last-child:before{content:\"\"}.neeto-editor pre>code,.neeto-editor-content pre>code{background-color:transparent;border-radius:0;border-radius:8px;border-radius:var(--neeto-editor-rounded-lg);border-width:0;color:inherit;display:block;font-size:85%;font-size:var(--neeto-editor-content-code-font-size);font-weight:400;line-height:inherit;overflow-x:auto;padding:.75rem;white-space:pre!important;width:100%}.neeto-editor pre[data-linenumbers]>code,.neeto-editor-content pre[data-linenumbers]>code{padding-inline-start:0}.neeto-editor blockquote,.neeto-editor-content blockquote{border-inline-start-color:#d1d9e0;border-inline-start-color:rgba(var(--neeto-editor-content-blockquote-border-color));border-inline-start-width:4px;border-inline-start-width:var(--neeto-editor-content-blockquote-border-inline-start-width);color:#59636e;color:rgba(var(--neeto-editor-content-blockquote-color));font-weight:500;font-weight:var(--neeto-editor-font-medium);margin-bottom:1rem;margin-bottom:var(--neeto-editor-content-blockquote-margin-bottom);padding-inline-start:.75rem;padding-inline-start:var(--neeto-editor-content-blockquote-padding-inline-start);quotes:\"“\" \"”\" \"‘\" \"’\"}.neeto-editor blockquote div,.neeto-editor blockquote p,.neeto-editor-content blockquote div,.neeto-editor-content blockquote p{color:inherit}.neeto-editor blockquote>p:before,.neeto-editor-content blockquote>p:before{content:\"\"!important}.neeto-editor blockquote>p:after,.neeto-editor-content blockquote>p:after{content:\"\"!important}.neeto-editor ol,.neeto-editor ul,.neeto-editor-content ol,.neeto-editor-content ul{list-style:revert;margin-bottom:1rem;margin-bottom:var(--neeto-editor-content-list-margin-bottom);padding-inline-start:2rem;padding-inline-start:var(--neeto-editor-content-list-padding-inline-start)}.neeto-editor ol li,.neeto-editor ul li,.neeto-editor-content ol li,.neeto-editor-content ul li{color:#363737;color:rgba(var(--neeto-editor-content-paragraph-color));font-size:var(--neeto-editor-content-paragraph-font-size);font-weight:400;font-weight:var(--neeto-editor-content-paragraph-font-weight);line-height:1.6;line-height:var(--neeto-editor-content-paragraph-line-height)}.neeto-editor ol li:before,.neeto-editor ul li:before,.neeto-editor-content ol li:before,.neeto-editor-content ul li:before{background-color:#363737;background-color:rgba(var(--neeto-editor-content-paragraph-color))}.neeto-editor ol li>p,.neeto-editor ul li>p,.neeto-editor-content ol li>p,.neeto-editor-content ul li>p{margin-bottom:.5rem!important;margin-bottom:var(--neeto-editor-content-list-item-margin-bottom)!important;margin-top:.5rem!important;margin-top:var(--neeto-editor-content-list-item-margin-top)!important}.neeto-editor ol+p,.neeto-editor ul+p,.neeto-editor-content ol+p,.neeto-editor-content ul+p{margin-top:.5rem!important;margin-top:var(--neeto-editor-content-list-item-margin-top)!important}.neeto-editor a[href],.neeto-editor-content a[href]{color:#095aba;color:rgb(var(--neeto-editor-accent-800));font-weight:inherit}.neeto-editor .neeto-editor__video-wrapper,.neeto-editor-content .neeto-editor__video-wrapper{display:flex;margin:1rem 0;padding-inline-start:3px}.neeto-editor .neeto-editor__video-wrapper.neeto-editor__video--bordered iframe,.neeto-editor .neeto-editor__video-wrapper.neeto-editor__video--bordered video,.neeto-editor-content .neeto-editor__video-wrapper.neeto-editor__video--bordered iframe,.neeto-editor-content .neeto-editor__video-wrapper.neeto-editor__video--bordered video{border:1px solid #e4e4e7;border-color:rgba(var(--neeto-editor-content-image-border-color));border-radius:8px;border-radius:var(--neeto-editor-content-image-border-radius)}.neeto-editor .neeto-editor__video-wrapper .neeto-editor__video-iframe,.neeto-editor-content .neeto-editor__video-wrapper .neeto-editor__video-iframe{display:inline-block;height:auto!important;max-width:100%;vertical-align:top}.neeto-editor .neeto-editor__video-wrapper .neeto-editor__video-iframe iframe,.neeto-editor-content .neeto-editor__video-wrapper .neeto-editor__video-iframe iframe{aspect-ratio:16/9;width:100%}.neeto-editor .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-1-1 iframe,.neeto-editor-content .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-1-1 iframe{aspect-ratio:1/1;width:100%}.neeto-editor .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-16-9 iframe,.neeto-editor-content .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-16-9 iframe{aspect-ratio:16/9;width:100%}.neeto-editor .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-9-16 iframe,.neeto-editor-content .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-9-16 iframe{aspect-ratio:9/16;width:100%}.neeto-editor .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-4-3 iframe,.neeto-editor-content .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-4-3 iframe{aspect-ratio:4/3;width:100%}.neeto-editor .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-3-2 iframe,.neeto-editor-content .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-3-2 iframe{aspect-ratio:3/2;width:100%}.neeto-editor .neeto-editor__video--left,.neeto-editor-content .neeto-editor__video--left{justify-content:flex-start}.neeto-editor .neeto-editor__video--right,.neeto-editor-content .neeto-editor__video--right{justify-content:flex-end}.neeto-editor .neeto-editor__video--center,.neeto-editor-content .neeto-editor__video--center{justify-content:center}.neeto-editor mark,.neeto-editor-content mark{border-radius:3px;border-radius:var(--neeto-editor-rounded-sm);padding:0}.neeto-editor [data-type=mention],.neeto-editor-content [data-type=mention]{color:#095aba;color:rgb(var(--neeto-editor-accent-800))}.neeto-editor [data-type=special-mention],.neeto-editor-content [data-type=special-mention]{color:#095aba;color:rgb(var(--neeto-editor-accent-800))}.neeto-editor table,.neeto-editor-content table{border:1px solid #d8dcde;border:1px solid rgba(var(--neeto-editor-gray-300));border-collapse:separate;border-radius:3px;border-radius:var(--neeto-editor-rounded-sm);border-spacing:0;min-width:300px;overflow:hidden;table-layout:fixed}.neeto-editor table td,.neeto-editor table th,.neeto-editor-content table td,.neeto-editor-content table th{border-inline-start:1px solid #d8dcde;border-inline-start:1px solid rgba(var(--neeto-editor-gray-300));border-top:1px solid #d8dcde;border-top:1px solid rgba(var(--neeto-editor-gray-300));padding-block:8px;padding-inline:12px;position:relative;text-align:start}.neeto-editor table td:first-child,.neeto-editor table th:first-child,.neeto-editor-content table td:first-child,.neeto-editor-content table th:first-child{border-inline-start:none}.neeto-editor table th,.neeto-editor-content table th{background:#f6f7f8;background:rgb(var(--neeto-editor-gray-100));border-top:none}.neeto-editor table td,.neeto-editor-content table td{background:#fff;background:rgb(var(--neeto-editor-white))}.neeto-editor-content--hidden{display:none}.neeto-editor__image-wrapper{color:inherit!important;display:flex;font-weight:400!important;margin:1rem 0;padding-inline-start:3px;text-decoration:none}.neeto-editor__image-wrapper.neeto-editor__image--bordered img,.neeto-editor__image-wrapper.neeto-editor__image--bordered video{border:1px solid #e4e4e7;border-color:rgba(var(--neeto-editor-content-image-border-color));border-radius:8px;border-radius:var(--neeto-editor-content-image-border-radius)}.neeto-editor__image-wrapper figure{cursor:pointer;display:inline-block;margin:0;max-width:100%;overflow:hidden;position:relative;vertical-align:top}.neeto-editor__image-wrapper .neeto-editor__image{display:inline-block;height:auto!important;max-width:100%;min-height:52px;vertical-align:top}.neeto-editor__image-wrapper .neeto-editor__image img,.neeto-editor__image-wrapper .neeto-editor__image video{display:inline-block;height:auto;vertical-align:top!important;width:100%}.neeto-editor__image-wrapper .neeto-editor__image img.hidden,.neeto-editor__image-wrapper .neeto-editor__image video.hidden{display:none}.neeto-editor__image-wrapper .neeto-editor__image img{cursor:zoom-in}.neeto-editor__image-wrapper .neeto-editor__image-placeholder{align-items:center;border:1px solid;border-radius:8px;display:flex;height:200px;justify-content:center;width:400px}.neeto-editor__image-wrapper figcaption div{color:#344054;color:rgb(var(--neeto-editor-gray-600));font-size:.875rem;font-weight:400;font-weight:var(--neeto-editor-font-normal);line-height:1.4;text-align:center}.neeto-editor__image-wrapper figcaption div a{display:inline-block;margin:0;text-align:center}.neeto-editor__image-wrapper figcaption.is-empty div:before{color:#87929d;color:rgb(var(--neeto-editor-gray-500));content:\"Add a caption\";inset:0;position:absolute}.neeto-editor__image-wrapper:has(img:not([src])),.neeto-editor__image-wrapper:has(video:not([src]):not(:has(source[src]))){display:none}.neeto-editor figcaption,.neeto-editor-content figcaption{color:#6b7280;font-size:.875rem;font-weight:400;line-height:1.4;max-width:100%;text-align:center}.neeto-editor__image--left{justify-content:flex-start}.neeto-editor__image--center{justify-content:center}.neeto-editor__image--right{justify-content:flex-end}.selected-text{background-color:#d8dcde;background-color:rgb(var(--neeto-editor-gray-300));padding-block:2px;padding-inline:0}.ne-image-preview-wrapper{align-items:center;background:rgba(16,24,40,.5);background:rgba(var(--neeto-editor-gray-800),.5);display:none;height:100%;inset-inline-start:0;justify-content:center;position:fixed;top:0;width:100%;z-index:999999}.ne-image-preview-wrapper.active{display:flex}.ne-image-preview-wrapper .ne-image-preview{background:#fff;background:rgb(var(--neeto-editor-white));display:flex;flex-direction:column;gap:10px;max-height:90vh;max-width:60vw;opacity:0;transition:opacity .1s ease-in-out}.ne-image-preview-wrapper .ne-image-preview img{background:#fff;background:rgb(var(--neeto-editor-white));max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;overflow:hidden;padding:10px;width:-moz-fit-content;width:fit-content}.ne-image-preview-wrapper .ne-image-preview.image-loaded{align-items:center;background:transparent;border-radius:10px;display:flex;opacity:1}.ne-image-preview-wrapper .ne-image-preview__caption{color:#101828;color:rgb(var(--neeto-editor-gray-800));line-height:1.5;margin-top:auto;text-align:center;width:100%}.ne-image-preview-wrapper .close-button{align-items:center;background-color:#fff;background-color:rgb(var(--neeto-editor-white));border-radius:999px;border-radius:var(--neeto-editor-rounded-full);cursor:pointer;display:flex;height:30px;inset-inline-end:12px;justify-content:center;position:absolute;top:12px;width:30px}.ne-image-preview-wrapper .image-preview{max-height:70%;max-width:70%}.ne-image-preview-wrapper__spinner{position:absolute}.ne-image-preview-wrapper__spinner i{background-color:#d8dcde;background-color:rgb(var(--neeto-editor-gray-300))}.neeto-editor{background-color:rgb(var(--neeto-ui-white));border-radius:var(--neeto-ui-rounded);color:rgb(var(--neeto-ui-black));max-width:100%!important;padding:16px;white-space:pre-wrap}.neeto-editor:focus{outline:none}.neeto-editor a{pointer-events:none}.neeto-editor [data-variable]{color:rgb(var(--neeto-ui-gray-600));padding-block:4px;padding-inline:6px}.neeto-editor .ProseMirror-separator{display:none}.neeto-editor.fixed-menu-active{border:thin solid rgb(var(--neeto-ui-gray-400));border-top:none;border-top-left-radius:0;border-top-right-radius:0}.neeto-editor.attachments-active{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.neeto-editor .is-empty{position:relative}.neeto-editor p.is-empty{line-height:1;margin-bottom:0;min-height:1rem}.neeto-editor.placeholder-active .is-editor-empty:first-child:before{color:#ced4da;content:attr(data-placeholder);float:inline-start;height:0;pointer-events:none}.neeto-editor.placeholder-active p.is-current-slash-placeholder:before{color:#ced4da;content:attr(data-placeholder);float:inline-start;height:0;pointer-events:none}.neeto-editor .ProseMirror-selectednode{outline:3px solid rgb(var(--neeto-ui-pastel-blue))}.neeto-editor .has-focus{background:var(--focus-background-color);transition:background-color .2s ease}.neeto-editor [data-variable]{background-color:rgb(var(--neeto-ui-gray-200));border-radius:var(--neeto-ui-rounded-sm);color:rgb(var(--neeto-ui-gray-800));display:inline-flex;line-height:1;padding:4px}.neeto-editor-character-count{color:rgb(var(--neeto-ui-gray-600));font-size:12px;padding:4px;text-align:end;width:100%}.neeto-editor-error{border-color:rgb(var(--neeto-ui-error-500));border-radius:var(--neeto-ui-rounded);border-width:1px;color:rgb(var(--neeto-ui-error-500))}.neeto-editor-error:focus-within{border-color:rgb(var(--neeto-ui-error-600))}.ne_variable-tag{border-radius:6px!important}.neeto-editor-mentions__wrapper{padding-block:4px;padding-inline:0}.neeto-editor-mentions__item{padding-block:8px;padding-inline:12px}@media screen and (max-width:767px){.ne-media-uploader-modal{width:95vw!important}}.ne-media-uploader{display:flex;flex-direction:column;min-height:184px;width:100%}.ne-media-uploader__header{align-items:center;display:flex;justify-content:flex-start;min-height:56px;padding-block:16px 0;padding-inline:16px}.ne-media-uploader__header-title{color:rgb(var(--neeto-ui-gray-800));font-size:1.125rem;font-weight:600;line-height:1.5;margin:0;text-align:start}.ne-media-uploader .neeto-ui-tab__wrapper{margin-top:1rem;padding:0 16px}.ne-media-uploader .ne-tab__wrapper .ne-tab{min-width:88px}.ne-media-uploader .ne-media-uploader__content{display:flex;flex-grow:1;padding:16px}.ne-media-uploader .ne-media-uploader__image-uploader{flex-grow:1;width:100%}.ne-media-uploader .ne-media-uploader__dnd{align-items:center;border:1px dashed rgb(var(--neeto-ui-primary-600));border-radius:var(--neeto-ui-rounded);box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;gap:2px;justify-content:center;padding:16px;width:100%}.ne-media-uploader .ne-media-uploader__dnd:focus{outline:none}.ne-media-uploader .ne-media-uploader__dnd-icon{color:rgb(var(--neeto-ui-primary-600));margin-bottom:6px}.ne-media-uploader .ne-media-uploader__dnd-input{display:none}.ne-media-uploader .ne-media-uploader__dnd:hover{background-color:rgb(var(--neeto-ui-gray-100))}.ne-media-uploader .ne-media-uploader__dnd:hover{cursor:pointer}.ne-media-uploader .ne-media-uploader__dnd.is-dragging-over-files{background-color:rgba(var(--neeto-ui-gray-300),.5);border:3px dashed rgb(var(--neeto-ui-gray-500));color:rgb(var(--neeto-ui-gray-600))}.ne-media-uploader .ne-media-uploader__wrapper{display:flex;flex-wrap:wrap;gap:8px;width:100%}.ne-media-uploader .ne-media-uploader__wrapper .ne-media-uploader__media{align-self:start;background-color:rgb(var(--neeto-ui-white));border:1px solid rgb(var(--neeto-ui-gray-200));border-radius:var(--neeto-ui-rounded-sm);display:flex;flex-direction:column;gap:10px;justify-content:space-between;margin-bottom:auto;margin-top:auto;padding-block:4px;padding-inline:8px;position:relative;width:105px}.ne-media-uploader .ne-media-uploader__wrapper .ne-media-uploader__media__cancel-button-wrapper{inset-inline-end:4px;position:absolute;top:4px}.ne-media-uploader .ne-media-uploader__wrapper .ne-media-uploader__media__info{align-items:flex-start;display:flex;flex-direction:column;gap:4px;justify-content:space-between;margin-top:4px}.ne-media-uploader .ne-media-uploader__wrapper .ne-media-uploader__media__info__icon{margin-top:12px;width:45px}.ne-media-uploader .ne-media-uploader__wrapper .ne-media-uploader__media__info p{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ne-media-uploader .ne-media-uploader__wrapper .ne-media-uploader__media__progress{align-self:flex-end;background-color:rgb(var(--neeto-ui-gray-200));border-radius:var(--neeto-ui-rounded-sm);overflow:hidden;width:100%}.ne-media-uploader .ne-media-uploader__wrapper .ne-media-uploader__media__progress-bar{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-color:rgb(var(--neeto-ui-primary-600));border-radius:var(--neeto-ui-rounded-sm);display:flex;height:4px;transition:var(--neeto-ui-transition)}.ne-media-uploader .neeto-editor-unsplash-wrapper{width:100%}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-container{max-height:50vh;overflow-x:hidden;overflow-y:auto}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-search{margin-bottom:16px;padding-inline:8px}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery{inset-inline-end:-8px;width:100%}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery__loader{display:flex;justify-content:center}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery__item{float:left;padding-inline-end:16px;padding-bottom:16px;width:33.3%}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery__item-placeholder{position:relative;width:100%}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery__item-placeholder .neeto-editor-unsplash-gallery__item-inner{background-color:rgb(var(--neeto-ui-gray-100));border-radius:var(--neeto-ui-rounded-sm);height:100%;position:absolute;width:100%}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery__item-placeholder .neeto-editor-unsplash-gallery__item-inner img{animation:fade-in 1.2s cubic-bezier(.39,.575,.565,1) 1s both;border-radius:var(--neeto-ui-rounded);cursor:pointer;height:100%;-o-object-fit:cover;object-fit:cover;position:relative;width:100%}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery__item-placeholder .neeto-editor-unsplash-gallery__item-inner a{bottom:8px;color:rgb(var(--neeto-ui-white));font-size:12px;font-weight:var(--neeto-ui-font-normal);inset-inline-start:8px;line-height:1;margin:auto;opacity:0;position:absolute;text-transform:capitalize;transition:var(--neeto-ui-transition)}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery__item-placeholder .neeto-editor-unsplash-gallery__item-inner a:hover{text-decoration:underline}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery__item-placeholder .neeto-editor-unsplash-gallery__item-inner:hover a{opacity:1}.ne-media-uploader .neeto-editor-unsplash-wrapper .neeto-editor-unsplash-gallery__text{color:rgb(var(--neeto-ui-gray-700));font-size:var(--neeto-ui-text-xs);margin-top:12px;text-align:center}.neeto-editor-url-form__wrapper{align-items:flex-start;display:flex;flex-direction:column;flex-grow:1}.neeto-editor-url-form__wrapper .neeto-ui-input__wrapper{flex-grow:0;margin-bottom:16px;width:100%}@media screen and (max-width:767px){.ne-embed-modal-wrapper{width:95vw!important}}.ne-video-embed-form{width:100%}.ne-video-embed-form__content{margin-bottom:1rem;width:100%}.ne-video-embed-form__footer{align-items:center;display:flex;gap:.5rem;justify-content:flex-start}.image-preview-neeto-ui-modal{backdrop-filter:none!important;background-color:transparent!important;height:auto!important;margin:auto 0}.image-preview-neeto-ui-modal__close-btn{border-radius:100%;float:right;margin:10px 0}.image-preview-neeto-ui-modal img{border:10px solid rgb(var(--neeto-ui-gray-100));border-radius:10px;height:auto;max-height:90vh;opacity:1;transition:opacity 2s ease-in-out;width:100%}.image-preview-neeto-ui-modal .display-none{display:none}.image-preview-neeto-ui-modal .spinner-wrapper{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.image-preview-neeto-ui-modal .spinner-wrapper .spinner{--neeto-ui-spinner-size:32px}.neeto-editor-emoji{font-family:Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Noto Color Emoji,Segoe UI Symbol,Android Emoji,EmojiSymbols}.emoji-mart.emoji-mart-light{border:none;color:rgb(var(--neeto-ui-gray-800));font-size:14px}.emoji-mart.emoji-mart-light .emoji-mart-bar .emoji-mart-anchors .emoji-mart-anchor{color:rgb(var(--neeto-ui-gray-500))}.emoji-mart.emoji-mart-light .emoji-mart-bar .emoji-mart-anchors .emoji-mart-anchor svg{margin:auto}.emoji-mart.emoji-mart-light .emoji-mart-bar .emoji-mart-anchors .emoji-mart-anchor .emoji-mart-anchor-bar{background-color:rgb(var(--neeto-ui-gray-700))!important}.emoji-mart.emoji-mart-light .emoji-mart-bar .emoji-mart-anchors .emoji-mart-anchor.emoji-mart-anchor-selected{color:rgb(var(--neeto-ui-gray-700))!important}.emoji-mart.emoji-mart-light .emoji-mart-search input{border-radius:var(--neeto-ui-rounded-sm)}.emoji-mart.emoji-mart-light .emoji-mart-category .emoji-mart-category-label span{padding-top:8px}.emoji-mart.emoji-mart-light .emoji-mart-category .emoji-mart-emoji span{cursor:pointer}.emoji-mart.emoji-mart-light .emoji-mart-category .emoji-mart-emoji:hover:before{background-color:rgb(var(--neeto-ui-gray-200));border-radius:var(--neeto-ui-rounded-sm)}.emoji-mart.emoji-mart-light .emoji-mart-scroll{height:264px;padding-bottom:0}.neeto-editor-emoji-suggestion{align-items:center;display:flex;flex-direction:row;font-family:Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Noto Color Emoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;gap:2px;justify-content:flex-start;padding:4px}.neeto-editor-emoji-suggestion p{color:rgb(var(--neeto-ui-black));font-size:var(--neeto-ui-text-xs)}.neeto-editor-emoji-suggestion span{font-size:10px;height:16px!important;width:16px!important}.neeto-editor-emoji-suggestion .neeto-editor-emoji-suggestion__item{border-radius:var(--neeto-ui-rounded-sm);cursor:pointer;font-size:var(--neeto-ui-text-2xl);line-height:1;padding:6px;transition:var(--neeto-ui-transition)}.neeto-editor-emoji-suggestion .neeto-editor-emoji-suggestion__item:hover{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-editor-emoji-suggestion .neeto-editor-emoji-suggestion__item--selected{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-editor-table{margin:1rem 0 0;max-width:100%;overflow-x:auto;position:relative;width:-moz-fit-content;width:fit-content}.neeto-editor-table table td p,.neeto-editor-table table th p{margin:0}.neeto-editor-table table .column-resize-handle{background-color:rgb(var(--neeto-ui-gray-300));bottom:0;inset-inline-end:-2px;position:absolute;top:0;width:4px}.neeto-editor-table table .selectedCell:after{background:rgba(var(--neeto-ui-primary-500),.1);content:\"\";inset:0;position:absolute}.neeto-editor-table__wrapper{display:flex;gap:2px;max-width:100%;overflow-x:auto}.neeto-editor-table__add-column,.neeto-editor-table__add-row{align-items:center;background:rgba(var(--neeto-ui-gray-200));border-radius:var(--neeto-ui-rounded-sm);cursor:pointer;display:flex;justify-content:center;opacity:0;transition:var(--neeto-ui-transition);visibility:hidden}.neeto-editor-table__add-column p,.neeto-editor-table__add-row p{color:rgb(var(--neeto-ui-gray-500))!important;font-size:var(--neeto-ui-text-base)!important;font-weight:var(--neeto-ui-font-light)!important;line-height:16px!important}.neeto-editor-table__add-column:hover,.neeto-editor-table__add-row:hover{background:rgba(var(--neeto-ui-gray-300))}.neeto-editor-table:hover .neeto-editor-table__add-column,.neeto-editor-table:hover .neeto-editor-table__add-row{opacity:1;visibility:visible}.neeto-editor-table__add-row{margin-block:2px;margin-inline:0 20px;padding-block-end:2px}.neeto-editor-table__add-column{flex-direction:column;padding-inline:4px}.neeto-editor-table .neeto-editor .table-responsive.neeto-editor-table--left table td,.neeto-editor-table .neeto-editor .table-responsive.neeto-editor-table--left table th,.neeto-editor-table .neeto-editor-content .table-responsive.neeto-editor-table--left table td,.neeto-editor-table .neeto-editor-content .table-responsive.neeto-editor-table--left table th,.neeto-editor-table.neeto-editor-table--left table td,.neeto-editor-table.neeto-editor-table--left table th{text-align:start!important}.neeto-editor-table .neeto-editor .table-responsive.neeto-editor-table--center table td,.neeto-editor-table .neeto-editor .table-responsive.neeto-editor-table--center table th,.neeto-editor-table .neeto-editor-content .table-responsive.neeto-editor-table--center table td,.neeto-editor-table .neeto-editor-content .table-responsive.neeto-editor-table--center table th,.neeto-editor-table.neeto-editor-table--center table td,.neeto-editor-table.neeto-editor-table--center table th{text-align:center!important}.neeto-editor-table .neeto-editor .table-responsive.neeto-editor-table--right table td,.neeto-editor-table .neeto-editor .table-responsive.neeto-editor-table--right table th,.neeto-editor-table .neeto-editor-content .table-responsive.neeto-editor-table--right table td,.neeto-editor-table .neeto-editor-content .table-responsive.neeto-editor-table--right table th,.neeto-editor-table.neeto-editor-table--right table td,.neeto-editor-table.neeto-editor-table--right table th{text-align:end!important}.ProseMirror.resize-cursor{cursor:col-resize}.ProseMirror ul[data-type=todoList],.neeto-editor ul[data-type=todoList],.neeto-editor-content ul[data-type=todoList]{list-style:none;margin-inline-start:0;padding:0}.ProseMirror ul[data-type=todoList] li,.neeto-editor ul[data-type=todoList] li,.neeto-editor-content ul[data-type=todoList] li{align-items:flex-start;display:flex;position:relative}.ProseMirror ul[data-type=todoList] li>label,.neeto-editor ul[data-type=todoList] li>label,.neeto-editor-content ul[data-type=todoList] li>label{flex:0 0 auto;margin-inline-end:.5rem;pointer-events:none;-moz-user-select:none;user-select:none;z-index:1}.ProseMirror ul[data-type=todoList] li>div,.neeto-editor ul[data-type=todoList] li>div,.neeto-editor-content ul[data-type=todoList] li>div{flex:1 1 auto;min-height:1.5rem}.ProseMirror ul[data-type=todoList] input[type=checkbox],.neeto-editor ul[data-type=todoList] input[type=checkbox],.neeto-editor-content ul[data-type=todoList] input[type=checkbox]{border-color:rgb(var(--neeto-ui-gray-800));border-radius:0;border-width:1px;color:rgb(var(--neeto-ui-primary-500));cursor:pointer;pointer-events:auto;position:relative;top:-2px;z-index:2}.ProseMirror ul[data-type=todoList] input[type=checkbox]:checked,.neeto-editor ul[data-type=todoList] input[type=checkbox]:checked,.neeto-editor-content ul[data-type=todoList] input[type=checkbox]:checked{border-color:rgb(var(--neeto-ui-primary-500))}.ProseMirror ul[data-type=todoList] ul[data-type=todoList],.neeto-editor ul[data-type=todoList] ul[data-type=todoList],.neeto-editor-content ul[data-type=todoList] ul[data-type=todoList]{margin:0}.ProseMirror ul[data-type=todoList] li[data-checked=true]>div p,.neeto-editor ul[data-type=todoList] li[data-checked=true]>div p,.neeto-editor-content ul[data-type=todoList] li[data-checked=true]>div p{opacity:.65;text-decoration:line-through}.ne-link-popover{background-color:rgb(var(--neeto-ui-white));border:1px solid var(--neeto-ui-popover-light-theme-border-color);border-radius:5px;box-shadow:var(--neeto-ui-tooltip-light-theme-box-shadow);color:rgb(var(--neeto-ui-gray-800));padding-block:10px;padding-inline:16px;position:fixed;transition:opacity .3s ease,transform .3s ease,visibility 0s .3s;z-index:99999}.ne-link-popover__url-input{margin:8px 0}.ne-link-popover__checkbox{margin:16px 0}.ne-link-popover__option-button{margin:0 4px}.ne-link-popover__edit-prompt-buttons{display:flex;gap:8px;margin-top:8px}.ne-link-popover a{color:rgb(var(--neeto-ui-gray-800));float:left;font-size:var(--neeto-ui-text-sm);font-weight:var(--neeto-ui-font-medium);margin-inline-end:8px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ne-link-popover a[data-neeto-kb-article=true][data-article-deleted=true]{color:rgb(var(--neeto-ui-error-600))!important}.ne-link-popover__kb-article-link{color:rgb(var(--neeto-ui-accent-500))!important;flex:1;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ne-link-popover__kb-article-link--deleted{color:rgb(var(--neeto-ui-error-600))!important}.ne-link-popover__kb-article-link:hover{text-decoration:underline}.ne-link-arrow{border:6px solid transparent;border-top-color:rgba(0,0,0,.2);content:\"\";inset-inline-start:0;position:fixed;top:0;z-index:99999}.ne-article-picker-popover{background-color:rgb(var(--neeto-ui-white));border:1px solid var(--neeto-ui-popover-light-theme-border-color);border-radius:5px;box-shadow:var(--neeto-ui-tooltip-light-theme-box-shadow);color:rgb(var(--neeto-ui-gray-800));padding-block:10px;padding-inline:16px;position:fixed;z-index:99999}.tiptap .collaboration-cursor__caret{border-inline-end:1px solid #0d0d0d;border-inline-start:1px solid #0d0d0d;margin-inline-end:-1px;margin-inline-start:-1px;pointer-events:none;position:relative;word-break:normal}.tiptap .collaboration-cursor__label{border-radius:3px 3px 3px 0;color:#0d0d0d;font-size:12px;font-style:normal;font-weight:600;inset-inline-start:-1px;line-height:normal;padding:.1rem .3rem;position:absolute;top:-1.4em;-moz-user-select:none;user-select:none;white-space:nowrap}.ne-codeblock-nodeview-wrapper pre{padding-inline-end:.75rem;padding-inline-start:.75rem}.ne-codeblock-nodeview-wrapper pre:before{content:none}.ne-codeblock-nodeview-wrapper .highlighted-line{background-color:rgba(255,255,0,.2);inset-inline-end:0;inset-inline-start:0;pointer-events:none;position:absolute;z-index:0}.ne-codeblock-nodeview-wrapper .selected-text{background:inherit}.neeto-ui-dropdown__popup .neeto-ui-dropdown__popup-menu.neeto-editor-highlight-dropdown{padding:12px;width:280px}.neeto-editor-highlight-dropdown{display:flex;flex-direction:column;gap:16px}.neeto-editor-highlight-dropdown__section{width:100%}.neeto-editor-highlight-dropdown__section-title{color:rgb(var(--neeto-ui-gray-600));margin-bottom:8px}.neeto-editor-highlight-dropdown__color-grid{display:flex;flex-wrap:wrap;gap:6px}.neeto-editor-highlight-dropdown__color-dot{border:none;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);cursor:pointer;height:26px;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:26px}.neeto-editor-highlight-dropdown__color-dot:hover{transform:scale(1.07)}.neeto-editor-highlight-dropdown__color-dot.neeto-editor-highlight-dropdown__color-dot--selected{outline:2px solid rgb(var(--neeto-ui-gray-400));outline-offset:2px}.neeto-editor__callout{border-radius:8px;margin:16px 0;padding:16px;position:relative}.neeto-editor__callout .callout-container{align-items:flex-start;display:flex;gap:12px}.neeto-editor__callout .callout-container .callout-emoji{flex-shrink:0;line-height:1}.neeto-editor__callout .callout-container .callout-content{flex-grow:1;min-width:0;outline:none}.neeto-editor__callout .callout-container .callout-content p{margin:0}.neeto-editor__callout .callout-container .callout-content h1:first-child,.neeto-editor__callout .callout-container .callout-content h2:first-child,.neeto-editor__callout .callout-container .callout-content h3:first-child,.neeto-editor__callout .callout-container .callout-content h4:first-child,.neeto-editor__callout .callout-container .callout-content h5:first-child,.neeto-editor__callout .callout-container .callout-content h6:first-child{margin-top:0}.neeto-editor__callout .callout-container .callout-content>p:first-child{margin-top:0}.neeto-editor__callout--default{background-color:#f6f7f8;background-color:rgb(var(--neeto-editor-gray-100))}.neeto-editor__callout--info{background-color:#e2f2ff;background-color:rgb(var(--neeto-editor-info-100))}.neeto-editor__callout--warning{background-color:#fbf2e1;background-color:rgb(var(--neeto-editor-warning-100))}.neeto-editor__callout--error{background-color:#feecf0;background-color:rgb(var(--neeto-editor-error-100))}.neeto-editor__callout--success{background-color:#ebfffa;background-color:rgb(var(--neeto-editor-success-100))}.neeto-ui-dropdown__popup .neeto-ui-dropdown__popup-menu.neeto-editor-callout-dropdown{padding:8px;width:200px}.neeto-editor-callout-dropdown{display:flex;flex-direction:column;gap:8px}.neeto-editor-callout-dropdown .neeto-editor-callout-dropdown__section{width:100%}.neeto-editor-callout-dropdown .neeto-editor-callout-dropdown__section .neeto-editor-callout-dropdown__section-title{color:rgb(var(--neeto-ui-gray-600));font-size:10px;font-weight:500;letter-spacing:.5px;margin-bottom:4px;padding:0 4px;text-transform:uppercase}.neeto-editor-callout-dropdown .neeto-editor-callout-dropdown__section .neeto-editor-callout-dropdown__options-grid{display:flex;flex-direction:column;gap:2px}.neeto-editor-callout-dropdown__type-option{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:12px;padding-block:6px;padding-inline:8px;text-align:start;transition:all .15s ease;width:100%}.neeto-editor-callout-dropdown__type-option .neeto-editor-callout-dropdown__type-emoji{align-items:center;display:flex;flex-shrink:0;font-size:14px;height:16px;justify-content:center;margin-inline-end:8px;width:16px}.neeto-editor-callout-dropdown__type-option .neeto-editor-callout-dropdown__type-label{color:rgb(var(--neeto-ui-gray-800));flex:1;font-weight:500}.neeto-editor-callout-dropdown__type-option:hover{background-color:rgb(var(--neeto-ui-gray-50))}.neeto-editor-callout-dropdown__type-option--selected{background-color:rgb(var(--neeto-ui-primary-50));border:1px solid rgb(var(--neeto-ui-primary-200))}.neeto-editor-callout-dropdown__type-option--selected .neeto-editor-callout-dropdown__type-label{color:rgb(var(--neeto-ui-primary-900))}.neeto-editor-callout-dropdown__current-emoji{display:inline-block}.ProseMirror{height:100%;overflow-y:auto;white-space:break-spaces}.ProseMirror a{color:rgb(var(--neeto-ui-accent-500));text-decoration:underline}.ProseMirror a[data-neeto-kb-article=true][data-article-deleted=true]{color:#dc2626!important;cursor:not-allowed}.ProseMirror a[data-neeto-kb-article=true][data-article-deleted=true]:hover{opacity:.7}.ProseMirror:focus{outline:none}";
|
|
208
|
-
injectCss.n(css$1,{});
|
|
209
|
-
|
|
210
206
|
/**
|
|
211
207
|
* This extension allows you to count the characters and words of your document.
|
|
212
208
|
* @see https://tiptap.dev/api/extensions/character-count
|
|
213
209
|
*/
|
|
214
|
-
const CharacterCount =
|
|
210
|
+
const CharacterCount = useEditorStore.Extension.create({
|
|
215
211
|
name: 'characterCount',
|
|
216
212
|
addOptions() {
|
|
217
213
|
return {
|
|
@@ -306,7 +302,7 @@ const pasteRegex$2 = /(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g;
|
|
|
306
302
|
* This extension allows you to mark text as inline code.
|
|
307
303
|
* @see https://tiptap.dev/api/marks/code
|
|
308
304
|
*/
|
|
309
|
-
const Code =
|
|
305
|
+
const Code = useEditorStore.Mark.create({
|
|
310
306
|
name: 'code',
|
|
311
307
|
addOptions() {
|
|
312
308
|
return {
|
|
@@ -322,7 +318,7 @@ const Code = menu.Mark.create({
|
|
|
322
318
|
];
|
|
323
319
|
},
|
|
324
320
|
renderHTML({ HTMLAttributes }) {
|
|
325
|
-
return ['code',
|
|
321
|
+
return ['code', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
326
322
|
},
|
|
327
323
|
addCommands() {
|
|
328
324
|
return {
|
|
@@ -344,7 +340,7 @@ const Code = menu.Mark.create({
|
|
|
344
340
|
},
|
|
345
341
|
addInputRules() {
|
|
346
342
|
return [
|
|
347
|
-
|
|
343
|
+
useEditorStore.markInputRule({
|
|
348
344
|
find: inputRegex$7,
|
|
349
345
|
type: this.type,
|
|
350
346
|
}),
|
|
@@ -352,7 +348,7 @@ const Code = menu.Mark.create({
|
|
|
352
348
|
},
|
|
353
349
|
addPasteRules() {
|
|
354
350
|
return [
|
|
355
|
-
|
|
351
|
+
useEditorStore.markPasteRule({
|
|
356
352
|
find: pasteRegex$2,
|
|
357
353
|
type: this.type,
|
|
358
354
|
}),
|
|
@@ -2336,7 +2332,7 @@ const createDecorations = (
|
|
|
2336
2332
|
ystate.binding.mapping.size === 0
|
|
2337
2333
|
) {
|
|
2338
2334
|
// do not render cursors while snapshot is active
|
|
2339
|
-
return
|
|
2335
|
+
return useEditorStore.DecorationSet.create(state.doc, [])
|
|
2340
2336
|
}
|
|
2341
2337
|
awareness.getStates().forEach((aw, clientId) => {
|
|
2342
2338
|
if (!awarenessFilter(y.clientID, clientId, aw)) {
|
|
@@ -2371,7 +2367,7 @@ const createDecorations = (
|
|
|
2371
2367
|
anchor = min(anchor, maxsize);
|
|
2372
2368
|
head = min(head, maxsize);
|
|
2373
2369
|
decorations.push(
|
|
2374
|
-
|
|
2370
|
+
useEditorStore.Decoration.widget(head, () => createCursor(user), {
|
|
2375
2371
|
key: clientId + '',
|
|
2376
2372
|
side: 10
|
|
2377
2373
|
})
|
|
@@ -2379,7 +2375,7 @@ const createDecorations = (
|
|
|
2379
2375
|
const from = min(anchor, head);
|
|
2380
2376
|
const to = max(anchor, head);
|
|
2381
2377
|
decorations.push(
|
|
2382
|
-
|
|
2378
|
+
useEditorStore.Decoration.inline(from, to, createSelection(user), {
|
|
2383
2379
|
inclusiveEnd: true,
|
|
2384
2380
|
inclusiveStart: false
|
|
2385
2381
|
})
|
|
@@ -2387,7 +2383,7 @@ const createDecorations = (
|
|
|
2387
2383
|
}
|
|
2388
2384
|
}
|
|
2389
2385
|
});
|
|
2390
|
-
return
|
|
2386
|
+
return useEditorStore.DecorationSet.create(state.doc, decorations)
|
|
2391
2387
|
};
|
|
2392
2388
|
|
|
2393
2389
|
/**
|
|
@@ -2618,7 +2614,7 @@ const yUndoPlugin = ({ protectedNodes = defaultProtectedNodes, trackedOrigins =
|
|
|
2618
2614
|
* This extension allows you to collaborate with others in real-time.
|
|
2619
2615
|
* @see https://tiptap.dev/api/extensions/collaboration
|
|
2620
2616
|
*/
|
|
2621
|
-
const Collaboration =
|
|
2617
|
+
const Collaboration = useEditorStore.Extension.create({
|
|
2622
2618
|
name: 'collaboration',
|
|
2623
2619
|
priority: 1000,
|
|
2624
2620
|
addOptions() {
|
|
@@ -2723,7 +2719,7 @@ const defaultOnUpdate = () => null;
|
|
|
2723
2719
|
* This extension allows you to add collaboration cursors to your editor.
|
|
2724
2720
|
* @see https://tiptap.dev/api/extensions/collaboration-cursor
|
|
2725
2721
|
*/
|
|
2726
|
-
const CollaborationCursor =
|
|
2722
|
+
const CollaborationCursor = useEditorStore.Extension.create({
|
|
2727
2723
|
name: 'collaborationCursor',
|
|
2728
2724
|
priority: 999,
|
|
2729
2725
|
addOptions() {
|
|
@@ -2798,7 +2794,7 @@ const CollaborationCursor = menu.Extension.create({
|
|
|
2798
2794
|
* for the `textColor` and `backgroundColor` extensions.
|
|
2799
2795
|
* @see https://www.tiptap.dev/api/marks/text-style
|
|
2800
2796
|
*/
|
|
2801
|
-
const TextStyle$2 =
|
|
2797
|
+
const TextStyle$2 = useEditorStore.Mark.create({
|
|
2802
2798
|
name: 'textStyle',
|
|
2803
2799
|
priority: 101,
|
|
2804
2800
|
addOptions() {
|
|
@@ -2821,12 +2817,12 @@ const TextStyle$2 = menu.Mark.create({
|
|
|
2821
2817
|
];
|
|
2822
2818
|
},
|
|
2823
2819
|
renderHTML({ HTMLAttributes }) {
|
|
2824
|
-
return ['span',
|
|
2820
|
+
return ['span', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
2825
2821
|
},
|
|
2826
2822
|
addCommands() {
|
|
2827
2823
|
return {
|
|
2828
2824
|
removeEmptyTextStyle: () => ({ state, commands }) => {
|
|
2829
|
-
const attributes =
|
|
2825
|
+
const attributes = useEditorStore.getMarkAttributes(state, this.type);
|
|
2830
2826
|
const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
|
|
2831
2827
|
if (hasStyles) {
|
|
2832
2828
|
return true;
|
|
@@ -2841,7 +2837,7 @@ const TextStyle$2 = menu.Mark.create({
|
|
|
2841
2837
|
* This extension allows you to color your text.
|
|
2842
2838
|
* @see https://tiptap.dev/api/extensions/color
|
|
2843
2839
|
*/
|
|
2844
|
-
const Color =
|
|
2840
|
+
const Color = useEditorStore.Extension.create({
|
|
2845
2841
|
name: 'color',
|
|
2846
2842
|
addOptions() {
|
|
2847
2843
|
return {
|
|
@@ -2890,7 +2886,7 @@ const Color = menu.Extension.create({
|
|
|
2890
2886
|
* The default document node which represents the top level node of the editor.
|
|
2891
2887
|
* @see https://tiptap.dev/api/nodes/document
|
|
2892
2888
|
*/
|
|
2893
|
-
const Document =
|
|
2889
|
+
const Document = useEditorStore.Node.create({
|
|
2894
2890
|
name: 'doc',
|
|
2895
2891
|
topNode: true,
|
|
2896
2892
|
content: 'block+',
|
|
@@ -2900,7 +2896,7 @@ const Document = menu.Node.create({
|
|
|
2900
2896
|
* This extension allows you to add a class to the focused node.
|
|
2901
2897
|
* @see https://www.tiptap.dev/api/extensions/focus
|
|
2902
2898
|
*/
|
|
2903
|
-
const FocusClasses =
|
|
2899
|
+
const FocusClasses = useEditorStore.Extension.create({
|
|
2904
2900
|
name: 'focus',
|
|
2905
2901
|
addOptions() {
|
|
2906
2902
|
return {
|
|
@@ -2918,7 +2914,7 @@ const FocusClasses = menu.Extension.create({
|
|
|
2918
2914
|
const { anchor } = selection;
|
|
2919
2915
|
const decorations = [];
|
|
2920
2916
|
if (!isEditable || !isFocused) {
|
|
2921
|
-
return
|
|
2917
|
+
return useEditorStore.DecorationSet.create(doc, []);
|
|
2922
2918
|
}
|
|
2923
2919
|
// Maximum Levels
|
|
2924
2920
|
let maxLevels = 0;
|
|
@@ -2950,11 +2946,11 @@ const FocusClasses = menu.Extension.create({
|
|
|
2950
2946
|
if (outOfScope) {
|
|
2951
2947
|
return this.options.mode === 'deepest';
|
|
2952
2948
|
}
|
|
2953
|
-
decorations.push(
|
|
2949
|
+
decorations.push(useEditorStore.Decoration.node(pos, pos + node.nodeSize, {
|
|
2954
2950
|
class: this.options.className,
|
|
2955
2951
|
}));
|
|
2956
2952
|
});
|
|
2957
|
-
return
|
|
2953
|
+
return useEditorStore.DecorationSet.create(doc, decorations);
|
|
2958
2954
|
},
|
|
2959
2955
|
},
|
|
2960
2956
|
}),
|
|
@@ -2974,7 +2970,7 @@ const pasteRegex$1 = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g;
|
|
|
2974
2970
|
* This extension allows you to highlight text.
|
|
2975
2971
|
* @see https://www.tiptap.dev/api/marks/highlight
|
|
2976
2972
|
*/
|
|
2977
|
-
const Highlight =
|
|
2973
|
+
const Highlight = useEditorStore.Mark.create({
|
|
2978
2974
|
name: 'highlight',
|
|
2979
2975
|
addOptions() {
|
|
2980
2976
|
return {
|
|
@@ -3010,7 +3006,7 @@ const Highlight = menu.Mark.create({
|
|
|
3010
3006
|
];
|
|
3011
3007
|
},
|
|
3012
3008
|
renderHTML({ HTMLAttributes }) {
|
|
3013
|
-
return ['mark',
|
|
3009
|
+
return ['mark', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3014
3010
|
},
|
|
3015
3011
|
addCommands() {
|
|
3016
3012
|
return {
|
|
@@ -3032,7 +3028,7 @@ const Highlight = menu.Mark.create({
|
|
|
3032
3028
|
},
|
|
3033
3029
|
addInputRules() {
|
|
3034
3030
|
return [
|
|
3035
|
-
|
|
3031
|
+
useEditorStore.markInputRule({
|
|
3036
3032
|
find: inputRegex$6,
|
|
3037
3033
|
type: this.type,
|
|
3038
3034
|
}),
|
|
@@ -3040,7 +3036,7 @@ const Highlight = menu.Mark.create({
|
|
|
3040
3036
|
},
|
|
3041
3037
|
addPasteRules() {
|
|
3042
3038
|
return [
|
|
3043
|
-
|
|
3039
|
+
useEditorStore.markPasteRule({
|
|
3044
3040
|
find: pasteRegex$1,
|
|
3045
3041
|
type: this.type,
|
|
3046
3042
|
}),
|
|
@@ -3052,7 +3048,7 @@ const Highlight = menu.Mark.create({
|
|
|
3052
3048
|
* This extension allows you to create list items.
|
|
3053
3049
|
* @see https://www.tiptap.dev/api/nodes/list-item
|
|
3054
3050
|
*/
|
|
3055
|
-
const ListItem$3 =
|
|
3051
|
+
const ListItem$3 = useEditorStore.Node.create({
|
|
3056
3052
|
name: 'listItem',
|
|
3057
3053
|
addOptions() {
|
|
3058
3054
|
return {
|
|
@@ -3071,7 +3067,7 @@ const ListItem$3 = menu.Node.create({
|
|
|
3071
3067
|
];
|
|
3072
3068
|
},
|
|
3073
3069
|
renderHTML({ HTMLAttributes }) {
|
|
3074
|
-
return ['li',
|
|
3070
|
+
return ['li', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3075
3071
|
},
|
|
3076
3072
|
addKeyboardShortcuts() {
|
|
3077
3073
|
return {
|
|
@@ -3086,7 +3082,7 @@ const ListItem$3 = menu.Node.create({
|
|
|
3086
3082
|
* This extension allows you to create table cells.
|
|
3087
3083
|
* @see https://www.tiptap.dev/api/nodes/table-cell
|
|
3088
3084
|
*/
|
|
3089
|
-
const TableCell =
|
|
3085
|
+
const TableCell = useEditorStore.Node.create({
|
|
3090
3086
|
name: 'tableCell',
|
|
3091
3087
|
addOptions() {
|
|
3092
3088
|
return {
|
|
@@ -3122,7 +3118,7 @@ const TableCell = menu.Node.create({
|
|
|
3122
3118
|
];
|
|
3123
3119
|
},
|
|
3124
3120
|
renderHTML({ HTMLAttributes }) {
|
|
3125
|
-
return ['td',
|
|
3121
|
+
return ['td', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3126
3122
|
},
|
|
3127
3123
|
});
|
|
3128
3124
|
|
|
@@ -3130,7 +3126,7 @@ const TableCell = menu.Node.create({
|
|
|
3130
3126
|
* This extension allows you to create table headers.
|
|
3131
3127
|
* @see https://www.tiptap.dev/api/nodes/table-header
|
|
3132
3128
|
*/
|
|
3133
|
-
const TableHeader =
|
|
3129
|
+
const TableHeader = useEditorStore.Node.create({
|
|
3134
3130
|
name: 'tableHeader',
|
|
3135
3131
|
addOptions() {
|
|
3136
3132
|
return {
|
|
@@ -3166,7 +3162,7 @@ const TableHeader = menu.Node.create({
|
|
|
3166
3162
|
];
|
|
3167
3163
|
},
|
|
3168
3164
|
renderHTML({ HTMLAttributes }) {
|
|
3169
|
-
return ['th',
|
|
3165
|
+
return ['th', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3170
3166
|
},
|
|
3171
3167
|
});
|
|
3172
3168
|
|
|
@@ -3174,7 +3170,7 @@ const TableHeader = menu.Node.create({
|
|
|
3174
3170
|
* This extension allows you to create table rows.
|
|
3175
3171
|
* @see https://www.tiptap.dev/api/nodes/table-row
|
|
3176
3172
|
*/
|
|
3177
|
-
const TableRow =
|
|
3173
|
+
const TableRow = useEditorStore.Node.create({
|
|
3178
3174
|
name: 'tableRow',
|
|
3179
3175
|
addOptions() {
|
|
3180
3176
|
return {
|
|
@@ -3189,7 +3185,7 @@ const TableRow = menu.Node.create({
|
|
|
3189
3185
|
];
|
|
3190
3186
|
},
|
|
3191
3187
|
renderHTML({ HTMLAttributes }) {
|
|
3192
|
-
return ['tr',
|
|
3188
|
+
return ['tr', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3193
3189
|
},
|
|
3194
3190
|
});
|
|
3195
3191
|
|
|
@@ -3197,7 +3193,7 @@ const TableRow = menu.Node.create({
|
|
|
3197
3193
|
* This extension allows you to create underline text.
|
|
3198
3194
|
* @see https://www.tiptap.dev/api/marks/underline
|
|
3199
3195
|
*/
|
|
3200
|
-
const Underline =
|
|
3196
|
+
const Underline = useEditorStore.Mark.create({
|
|
3201
3197
|
name: 'underline',
|
|
3202
3198
|
addOptions() {
|
|
3203
3199
|
return {
|
|
@@ -3217,7 +3213,7 @@ const Underline = menu.Mark.create({
|
|
|
3217
3213
|
];
|
|
3218
3214
|
},
|
|
3219
3215
|
renderHTML({ HTMLAttributes }) {
|
|
3220
|
-
return ['u',
|
|
3216
|
+
return ['u', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3221
3217
|
},
|
|
3222
3218
|
addCommands() {
|
|
3223
3219
|
return {
|
|
@@ -3248,7 +3244,7 @@ const inputRegex$5 = /^\s*>\s$/;
|
|
|
3248
3244
|
* This extension allows you to create blockquotes.
|
|
3249
3245
|
* @see https://tiptap.dev/api/nodes/blockquote
|
|
3250
3246
|
*/
|
|
3251
|
-
const Blockquote =
|
|
3247
|
+
const Blockquote = useEditorStore.Node.create({
|
|
3252
3248
|
name: 'blockquote',
|
|
3253
3249
|
addOptions() {
|
|
3254
3250
|
return {
|
|
@@ -3264,7 +3260,7 @@ const Blockquote = menu.Node.create({
|
|
|
3264
3260
|
];
|
|
3265
3261
|
},
|
|
3266
3262
|
renderHTML({ HTMLAttributes }) {
|
|
3267
|
-
return ['blockquote',
|
|
3263
|
+
return ['blockquote', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3268
3264
|
},
|
|
3269
3265
|
addCommands() {
|
|
3270
3266
|
return {
|
|
@@ -3286,7 +3282,7 @@ const Blockquote = menu.Node.create({
|
|
|
3286
3282
|
},
|
|
3287
3283
|
addInputRules() {
|
|
3288
3284
|
return [
|
|
3289
|
-
|
|
3285
|
+
useEditorStore.wrappingInputRule({
|
|
3290
3286
|
find: inputRegex$5,
|
|
3291
3287
|
type: this.type,
|
|
3292
3288
|
}),
|
|
@@ -3314,7 +3310,7 @@ const underscorePasteRegex$1 = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g;
|
|
|
3314
3310
|
* This extension allows you to mark text as bold.
|
|
3315
3311
|
* @see https://tiptap.dev/api/marks/bold
|
|
3316
3312
|
*/
|
|
3317
|
-
const Bold =
|
|
3313
|
+
const Bold = useEditorStore.Mark.create({
|
|
3318
3314
|
name: 'bold',
|
|
3319
3315
|
addOptions() {
|
|
3320
3316
|
return {
|
|
@@ -3337,7 +3333,7 @@ const Bold = menu.Mark.create({
|
|
|
3337
3333
|
];
|
|
3338
3334
|
},
|
|
3339
3335
|
renderHTML({ HTMLAttributes }) {
|
|
3340
|
-
return ['strong',
|
|
3336
|
+
return ['strong', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3341
3337
|
},
|
|
3342
3338
|
addCommands() {
|
|
3343
3339
|
return {
|
|
@@ -3360,11 +3356,11 @@ const Bold = menu.Mark.create({
|
|
|
3360
3356
|
},
|
|
3361
3357
|
addInputRules() {
|
|
3362
3358
|
return [
|
|
3363
|
-
|
|
3359
|
+
useEditorStore.markInputRule({
|
|
3364
3360
|
find: starInputRegex$1,
|
|
3365
3361
|
type: this.type,
|
|
3366
3362
|
}),
|
|
3367
|
-
|
|
3363
|
+
useEditorStore.markInputRule({
|
|
3368
3364
|
find: underscoreInputRegex$1,
|
|
3369
3365
|
type: this.type,
|
|
3370
3366
|
}),
|
|
@@ -3372,11 +3368,11 @@ const Bold = menu.Mark.create({
|
|
|
3372
3368
|
},
|
|
3373
3369
|
addPasteRules() {
|
|
3374
3370
|
return [
|
|
3375
|
-
|
|
3371
|
+
useEditorStore.markPasteRule({
|
|
3376
3372
|
find: starPasteRegex$1,
|
|
3377
3373
|
type: this.type,
|
|
3378
3374
|
}),
|
|
3379
|
-
|
|
3375
|
+
useEditorStore.markPasteRule({
|
|
3380
3376
|
find: underscorePasteRegex$1,
|
|
3381
3377
|
type: this.type,
|
|
3382
3378
|
}),
|
|
@@ -3388,7 +3384,7 @@ const Bold = menu.Mark.create({
|
|
|
3388
3384
|
* This extension allows you to create list items.
|
|
3389
3385
|
* @see https://www.tiptap.dev/api/nodes/list-item
|
|
3390
3386
|
*/
|
|
3391
|
-
const ListItem$2 =
|
|
3387
|
+
const ListItem$2 = useEditorStore.Node.create({
|
|
3392
3388
|
name: 'listItem',
|
|
3393
3389
|
addOptions() {
|
|
3394
3390
|
return {
|
|
@@ -3407,7 +3403,7 @@ const ListItem$2 = menu.Node.create({
|
|
|
3407
3403
|
];
|
|
3408
3404
|
},
|
|
3409
3405
|
renderHTML({ HTMLAttributes }) {
|
|
3410
|
-
return ['li',
|
|
3406
|
+
return ['li', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3411
3407
|
},
|
|
3412
3408
|
addKeyboardShortcuts() {
|
|
3413
3409
|
return {
|
|
@@ -3423,7 +3419,7 @@ const ListItem$2 = menu.Node.create({
|
|
|
3423
3419
|
* for the `textColor` and `backgroundColor` extensions.
|
|
3424
3420
|
* @see https://www.tiptap.dev/api/marks/text-style
|
|
3425
3421
|
*/
|
|
3426
|
-
const TextStyle$1 =
|
|
3422
|
+
const TextStyle$1 = useEditorStore.Mark.create({
|
|
3427
3423
|
name: 'textStyle',
|
|
3428
3424
|
priority: 101,
|
|
3429
3425
|
addOptions() {
|
|
@@ -3446,12 +3442,12 @@ const TextStyle$1 = menu.Mark.create({
|
|
|
3446
3442
|
];
|
|
3447
3443
|
},
|
|
3448
3444
|
renderHTML({ HTMLAttributes }) {
|
|
3449
|
-
return ['span',
|
|
3445
|
+
return ['span', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3450
3446
|
},
|
|
3451
3447
|
addCommands() {
|
|
3452
3448
|
return {
|
|
3453
3449
|
removeEmptyTextStyle: () => ({ state, commands }) => {
|
|
3454
|
-
const attributes =
|
|
3450
|
+
const attributes = useEditorStore.getMarkAttributes(state, this.type);
|
|
3455
3451
|
const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
|
|
3456
3452
|
if (hasStyles) {
|
|
3457
3453
|
return true;
|
|
@@ -3472,7 +3468,7 @@ const inputRegex$4 = /^\s*([-+*])\s$/;
|
|
|
3472
3468
|
* @see https://tiptap.dev/api/nodes/bullet-list
|
|
3473
3469
|
* @see https://tiptap.dev/api/nodes/list-item.
|
|
3474
3470
|
*/
|
|
3475
|
-
const BulletList$1 =
|
|
3471
|
+
const BulletList$1 = useEditorStore.Node.create({
|
|
3476
3472
|
name: 'bulletList',
|
|
3477
3473
|
addOptions() {
|
|
3478
3474
|
return {
|
|
@@ -3492,7 +3488,7 @@ const BulletList$1 = menu.Node.create({
|
|
|
3492
3488
|
];
|
|
3493
3489
|
},
|
|
3494
3490
|
renderHTML({ HTMLAttributes }) {
|
|
3495
|
-
return ['ul',
|
|
3491
|
+
return ['ul', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
3496
3492
|
},
|
|
3497
3493
|
addCommands() {
|
|
3498
3494
|
return {
|
|
@@ -3510,12 +3506,12 @@ const BulletList$1 = menu.Node.create({
|
|
|
3510
3506
|
};
|
|
3511
3507
|
},
|
|
3512
3508
|
addInputRules() {
|
|
3513
|
-
let inputRule =
|
|
3509
|
+
let inputRule = useEditorStore.wrappingInputRule({
|
|
3514
3510
|
find: inputRegex$4,
|
|
3515
3511
|
type: this.type,
|
|
3516
3512
|
});
|
|
3517
3513
|
if (this.options.keepMarks || this.options.keepAttributes) {
|
|
3518
|
-
inputRule =
|
|
3514
|
+
inputRule = useEditorStore.wrappingInputRule({
|
|
3519
3515
|
find: inputRegex$4,
|
|
3520
3516
|
type: this.type,
|
|
3521
3517
|
keepMarks: this.options.keepMarks,
|
|
@@ -3542,7 +3538,7 @@ const tildeInputRegex = /^~~~([a-z]+)?[\s\n]$/;
|
|
|
3542
3538
|
* This extension allows you to create code blocks.
|
|
3543
3539
|
* @see https://tiptap.dev/api/nodes/code-block
|
|
3544
3540
|
*/
|
|
3545
|
-
const CodeBlock =
|
|
3541
|
+
const CodeBlock = useEditorStore.Node.create({
|
|
3546
3542
|
name: 'codeBlock',
|
|
3547
3543
|
addOptions() {
|
|
3548
3544
|
return {
|
|
@@ -3590,7 +3586,7 @@ const CodeBlock = menu.Node.create({
|
|
|
3590
3586
|
renderHTML({ node, HTMLAttributes }) {
|
|
3591
3587
|
return [
|
|
3592
3588
|
'pre',
|
|
3593
|
-
|
|
3589
|
+
useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
|
|
3594
3590
|
[
|
|
3595
3591
|
'code',
|
|
3596
3592
|
{
|
|
@@ -3684,14 +3680,14 @@ const CodeBlock = menu.Node.create({
|
|
|
3684
3680
|
},
|
|
3685
3681
|
addInputRules() {
|
|
3686
3682
|
return [
|
|
3687
|
-
|
|
3683
|
+
useEditorStore.textblockTypeInputRule({
|
|
3688
3684
|
find: backtickInputRegex,
|
|
3689
3685
|
type: this.type,
|
|
3690
3686
|
getAttributes: match => ({
|
|
3691
3687
|
language: match[1],
|
|
3692
3688
|
}),
|
|
3693
3689
|
}),
|
|
3694
|
-
|
|
3690
|
+
useEditorStore.textblockTypeInputRule({
|
|
3695
3691
|
find: tildeInputRegex,
|
|
3696
3692
|
type: this.type,
|
|
3697
3693
|
getAttributes: match => ({
|
|
@@ -3888,7 +3884,7 @@ class DropCursorView {
|
|
|
3888
3884
|
* inbetween nodes.
|
|
3889
3885
|
* @see https://tiptap.dev/api/extensions/dropcursor
|
|
3890
3886
|
*/
|
|
3891
|
-
const Dropcursor =
|
|
3887
|
+
const Dropcursor = useEditorStore.Extension.create({
|
|
3892
3888
|
name: 'dropCursor',
|
|
3893
3889
|
addOptions() {
|
|
3894
3890
|
return {
|
|
@@ -4070,7 +4066,7 @@ function gapCursor() {
|
|
|
4070
4066
|
}
|
|
4071
4067
|
});
|
|
4072
4068
|
}
|
|
4073
|
-
const handleKeyDown$1 =
|
|
4069
|
+
const handleKeyDown$1 = useEditorStore.keydownHandler({
|
|
4074
4070
|
"ArrowLeft": arrow$1("horiz", -1),
|
|
4075
4071
|
"ArrowRight": arrow$1("horiz", 1),
|
|
4076
4072
|
"ArrowUp": arrow$1("vert", -1),
|
|
@@ -4131,7 +4127,7 @@ function drawGapCursor(state) {
|
|
|
4131
4127
|
return null;
|
|
4132
4128
|
let node = document.createElement("div");
|
|
4133
4129
|
node.className = "ProseMirror-gapcursor";
|
|
4134
|
-
return
|
|
4130
|
+
return useEditorStore.DecorationSet.create(state.doc, [useEditorStore.Decoration.widget(state.selection.head, node, { key: "gapcursor" })]);
|
|
4135
4131
|
}
|
|
4136
4132
|
|
|
4137
4133
|
/**
|
|
@@ -4140,7 +4136,7 @@ function drawGapCursor(state) {
|
|
|
4140
4136
|
* where no content is present, for example inbetween nodes.
|
|
4141
4137
|
* @see https://tiptap.dev/api/extensions/gapcursor
|
|
4142
4138
|
*/
|
|
4143
|
-
const Gapcursor =
|
|
4139
|
+
const Gapcursor = useEditorStore.Extension.create({
|
|
4144
4140
|
name: 'gapCursor',
|
|
4145
4141
|
addProseMirrorPlugins() {
|
|
4146
4142
|
return [
|
|
@@ -4155,7 +4151,7 @@ const Gapcursor = menu.Extension.create({
|
|
|
4155
4151
|
storage: extension.storage,
|
|
4156
4152
|
};
|
|
4157
4153
|
return {
|
|
4158
|
-
allowGapCursor: (_a =
|
|
4154
|
+
allowGapCursor: (_a = useEditorStore.callOrReturn(useEditorStore.getExtensionField(extension, 'allowGapCursor', context))) !== null && _a !== void 0 ? _a : null,
|
|
4159
4155
|
};
|
|
4160
4156
|
},
|
|
4161
4157
|
});
|
|
@@ -4164,7 +4160,7 @@ const Gapcursor = menu.Extension.create({
|
|
|
4164
4160
|
* This extension allows you to insert hard breaks.
|
|
4165
4161
|
* @see https://www.tiptap.dev/api/nodes/hard-break
|
|
4166
4162
|
*/
|
|
4167
|
-
const HardBreak =
|
|
4163
|
+
const HardBreak = useEditorStore.Node.create({
|
|
4168
4164
|
name: 'hardBreak',
|
|
4169
4165
|
addOptions() {
|
|
4170
4166
|
return {
|
|
@@ -4181,7 +4177,7 @@ const HardBreak = menu.Node.create({
|
|
|
4181
4177
|
];
|
|
4182
4178
|
},
|
|
4183
4179
|
renderHTML({ HTMLAttributes }) {
|
|
4184
|
-
return ['br',
|
|
4180
|
+
return ['br', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
|
|
4185
4181
|
},
|
|
4186
4182
|
renderText() {
|
|
4187
4183
|
return '\n';
|
|
@@ -4228,7 +4224,7 @@ const HardBreak = menu.Node.create({
|
|
|
4228
4224
|
* This extension allows you to create headings.
|
|
4229
4225
|
* @see https://www.tiptap.dev/api/nodes/heading
|
|
4230
4226
|
*/
|
|
4231
|
-
const Heading =
|
|
4227
|
+
const Heading = useEditorStore.Node.create({
|
|
4232
4228
|
name: 'heading',
|
|
4233
4229
|
addOptions() {
|
|
4234
4230
|
return {
|
|
@@ -4259,7 +4255,7 @@ const Heading = menu.Node.create({
|
|
|
4259
4255
|
const level = hasLevel
|
|
4260
4256
|
? node.attrs.level
|
|
4261
4257
|
: this.options.levels[0];
|
|
4262
|
-
return [`h${level}`,
|
|
4258
|
+
return [`h${level}`, useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
4263
4259
|
},
|
|
4264
4260
|
addCommands() {
|
|
4265
4261
|
return {
|
|
@@ -4287,7 +4283,7 @@ const Heading = menu.Node.create({
|
|
|
4287
4283
|
},
|
|
4288
4284
|
addInputRules() {
|
|
4289
4285
|
return this.options.levels.map(level => {
|
|
4290
|
-
return
|
|
4286
|
+
return useEditorStore.textblockTypeInputRule({
|
|
4291
4287
|
find: new RegExp(`^(#{1,${level}})\\s$`),
|
|
4292
4288
|
type: this.type,
|
|
4293
4289
|
getAttributes: {
|
|
@@ -4922,7 +4918,7 @@ const redo = buildCommand(true, true);
|
|
|
4922
4918
|
*
|
|
4923
4919
|
* `@tiptap/extension-collaboration` uses its own history implementation.
|
|
4924
4920
|
*/
|
|
4925
|
-
const History =
|
|
4921
|
+
const History = useEditorStore.Extension.create({
|
|
4926
4922
|
name: 'history',
|
|
4927
4923
|
addOptions() {
|
|
4928
4924
|
return {
|
|
@@ -4961,7 +4957,7 @@ const History = menu.Extension.create({
|
|
|
4961
4957
|
* This extension allows you to insert horizontal rules.
|
|
4962
4958
|
* @see https://www.tiptap.dev/api/nodes/horizontal-rule
|
|
4963
4959
|
*/
|
|
4964
|
-
const HorizontalRule =
|
|
4960
|
+
const HorizontalRule = useEditorStore.Node.create({
|
|
4965
4961
|
name: 'horizontalRule',
|
|
4966
4962
|
addOptions() {
|
|
4967
4963
|
return {
|
|
@@ -4973,7 +4969,7 @@ const HorizontalRule = menu.Node.create({
|
|
|
4973
4969
|
return [{ tag: 'hr' }];
|
|
4974
4970
|
},
|
|
4975
4971
|
renderHTML({ HTMLAttributes }) {
|
|
4976
|
-
return ['hr',
|
|
4972
|
+
return ['hr', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
|
|
4977
4973
|
},
|
|
4978
4974
|
addCommands() {
|
|
4979
4975
|
return {
|
|
@@ -4989,7 +4985,7 @@ const HorizontalRule = menu.Node.create({
|
|
|
4989
4985
|
type: this.name,
|
|
4990
4986
|
});
|
|
4991
4987
|
}
|
|
4992
|
-
else if (
|
|
4988
|
+
else if (useEditorStore.isNodeSelection(selection)) {
|
|
4993
4989
|
currentChain.insertContentAt($originTo.pos, {
|
|
4994
4990
|
type: this.name,
|
|
4995
4991
|
});
|
|
@@ -5033,7 +5029,7 @@ const HorizontalRule = menu.Node.create({
|
|
|
5033
5029
|
},
|
|
5034
5030
|
addInputRules() {
|
|
5035
5031
|
return [
|
|
5036
|
-
|
|
5032
|
+
useEditorStore.nodeInputRule({
|
|
5037
5033
|
find: /^(?:---|—-|___\s|\*\*\*\s)$/,
|
|
5038
5034
|
type: this.type,
|
|
5039
5035
|
}),
|
|
@@ -5061,7 +5057,7 @@ const underscorePasteRegex = /(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g;
|
|
|
5061
5057
|
* This extension allows you to create italic text.
|
|
5062
5058
|
* @see https://www.tiptap.dev/api/marks/italic
|
|
5063
5059
|
*/
|
|
5064
|
-
const Italic =
|
|
5060
|
+
const Italic = useEditorStore.Mark.create({
|
|
5065
5061
|
name: 'italic',
|
|
5066
5062
|
addOptions() {
|
|
5067
5063
|
return {
|
|
@@ -5083,7 +5079,7 @@ const Italic = menu.Mark.create({
|
|
|
5083
5079
|
];
|
|
5084
5080
|
},
|
|
5085
5081
|
renderHTML({ HTMLAttributes }) {
|
|
5086
|
-
return ['em',
|
|
5082
|
+
return ['em', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
5087
5083
|
},
|
|
5088
5084
|
addCommands() {
|
|
5089
5085
|
return {
|
|
@@ -5106,11 +5102,11 @@ const Italic = menu.Mark.create({
|
|
|
5106
5102
|
},
|
|
5107
5103
|
addInputRules() {
|
|
5108
5104
|
return [
|
|
5109
|
-
|
|
5105
|
+
useEditorStore.markInputRule({
|
|
5110
5106
|
find: starInputRegex,
|
|
5111
5107
|
type: this.type,
|
|
5112
5108
|
}),
|
|
5113
|
-
|
|
5109
|
+
useEditorStore.markInputRule({
|
|
5114
5110
|
find: underscoreInputRegex,
|
|
5115
5111
|
type: this.type,
|
|
5116
5112
|
}),
|
|
@@ -5118,11 +5114,11 @@ const Italic = menu.Mark.create({
|
|
|
5118
5114
|
},
|
|
5119
5115
|
addPasteRules() {
|
|
5120
5116
|
return [
|
|
5121
|
-
|
|
5117
|
+
useEditorStore.markPasteRule({
|
|
5122
5118
|
find: starPasteRegex,
|
|
5123
5119
|
type: this.type,
|
|
5124
5120
|
}),
|
|
5125
|
-
|
|
5121
|
+
useEditorStore.markPasteRule({
|
|
5126
5122
|
find: underscorePasteRegex,
|
|
5127
5123
|
type: this.type,
|
|
5128
5124
|
}),
|
|
@@ -5134,7 +5130,7 @@ const Italic = menu.Mark.create({
|
|
|
5134
5130
|
* This extension allows you to create list items.
|
|
5135
5131
|
* @see https://www.tiptap.dev/api/nodes/list-item
|
|
5136
5132
|
*/
|
|
5137
|
-
const ListItem$1 =
|
|
5133
|
+
const ListItem$1 = useEditorStore.Node.create({
|
|
5138
5134
|
name: 'listItem',
|
|
5139
5135
|
addOptions() {
|
|
5140
5136
|
return {
|
|
@@ -5153,7 +5149,7 @@ const ListItem$1 = menu.Node.create({
|
|
|
5153
5149
|
];
|
|
5154
5150
|
},
|
|
5155
5151
|
renderHTML({ HTMLAttributes }) {
|
|
5156
|
-
return ['li',
|
|
5152
|
+
return ['li', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
5157
5153
|
},
|
|
5158
5154
|
addKeyboardShortcuts() {
|
|
5159
5155
|
return {
|
|
@@ -5169,7 +5165,7 @@ const ListItem$1 = menu.Node.create({
|
|
|
5169
5165
|
* for the `textColor` and `backgroundColor` extensions.
|
|
5170
5166
|
* @see https://www.tiptap.dev/api/marks/text-style
|
|
5171
5167
|
*/
|
|
5172
|
-
const TextStyle =
|
|
5168
|
+
const TextStyle = useEditorStore.Mark.create({
|
|
5173
5169
|
name: 'textStyle',
|
|
5174
5170
|
priority: 101,
|
|
5175
5171
|
addOptions() {
|
|
@@ -5192,12 +5188,12 @@ const TextStyle = menu.Mark.create({
|
|
|
5192
5188
|
];
|
|
5193
5189
|
},
|
|
5194
5190
|
renderHTML({ HTMLAttributes }) {
|
|
5195
|
-
return ['span',
|
|
5191
|
+
return ['span', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
5196
5192
|
},
|
|
5197
5193
|
addCommands() {
|
|
5198
5194
|
return {
|
|
5199
5195
|
removeEmptyTextStyle: () => ({ state, commands }) => {
|
|
5200
|
-
const attributes =
|
|
5196
|
+
const attributes = useEditorStore.getMarkAttributes(state, this.type);
|
|
5201
5197
|
const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
|
|
5202
5198
|
if (hasStyles) {
|
|
5203
5199
|
return true;
|
|
@@ -5218,7 +5214,7 @@ const inputRegex$3 = /^(\d+)\.\s$/;
|
|
|
5218
5214
|
* @see https://www.tiptap.dev/api/nodes/ordered-list
|
|
5219
5215
|
* @see https://www.tiptap.dev/api/nodes/list-item
|
|
5220
5216
|
*/
|
|
5221
|
-
const OrderedList$1 =
|
|
5217
|
+
const OrderedList$1 = useEditorStore.Node.create({
|
|
5222
5218
|
name: 'orderedList',
|
|
5223
5219
|
addOptions() {
|
|
5224
5220
|
return {
|
|
@@ -5258,8 +5254,8 @@ const OrderedList$1 = menu.Node.create({
|
|
|
5258
5254
|
renderHTML({ HTMLAttributes }) {
|
|
5259
5255
|
const { start, ...attributesWithoutStart } = HTMLAttributes;
|
|
5260
5256
|
return start === 1
|
|
5261
|
-
? ['ol',
|
|
5262
|
-
: ['ol',
|
|
5257
|
+
? ['ol', useEditorStore.mergeAttributes(this.options.HTMLAttributes, attributesWithoutStart), 0]
|
|
5258
|
+
: ['ol', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
5263
5259
|
},
|
|
5264
5260
|
addCommands() {
|
|
5265
5261
|
return {
|
|
@@ -5277,14 +5273,14 @@ const OrderedList$1 = menu.Node.create({
|
|
|
5277
5273
|
};
|
|
5278
5274
|
},
|
|
5279
5275
|
addInputRules() {
|
|
5280
|
-
let inputRule =
|
|
5276
|
+
let inputRule = useEditorStore.wrappingInputRule({
|
|
5281
5277
|
find: inputRegex$3,
|
|
5282
5278
|
type: this.type,
|
|
5283
5279
|
getAttributes: match => ({ start: +match[1] }),
|
|
5284
5280
|
joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1],
|
|
5285
5281
|
});
|
|
5286
5282
|
if (this.options.keepMarks || this.options.keepAttributes) {
|
|
5287
|
-
inputRule =
|
|
5283
|
+
inputRule = useEditorStore.wrappingInputRule({
|
|
5288
5284
|
find: inputRegex$3,
|
|
5289
5285
|
type: this.type,
|
|
5290
5286
|
keepMarks: this.options.keepMarks,
|
|
@@ -5304,7 +5300,7 @@ const OrderedList$1 = menu.Node.create({
|
|
|
5304
5300
|
* This extension allows you to create paragraphs.
|
|
5305
5301
|
* @see https://www.tiptap.dev/api/nodes/paragraph
|
|
5306
5302
|
*/
|
|
5307
|
-
const Paragraph =
|
|
5303
|
+
const Paragraph = useEditorStore.Node.create({
|
|
5308
5304
|
name: 'paragraph',
|
|
5309
5305
|
priority: 1000,
|
|
5310
5306
|
addOptions() {
|
|
@@ -5320,7 +5316,7 @@ const Paragraph = menu.Node.create({
|
|
|
5320
5316
|
];
|
|
5321
5317
|
},
|
|
5322
5318
|
renderHTML({ HTMLAttributes }) {
|
|
5323
|
-
return ['p',
|
|
5319
|
+
return ['p', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
5324
5320
|
},
|
|
5325
5321
|
addCommands() {
|
|
5326
5322
|
return {
|
|
@@ -5348,7 +5344,7 @@ const pasteRegex = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g;
|
|
|
5348
5344
|
* This extension allows you to create strike text.
|
|
5349
5345
|
* @see https://www.tiptap.dev/api/marks/strike
|
|
5350
5346
|
*/
|
|
5351
|
-
const Strike =
|
|
5347
|
+
const Strike = useEditorStore.Mark.create({
|
|
5352
5348
|
name: 'strike',
|
|
5353
5349
|
addOptions() {
|
|
5354
5350
|
return {
|
|
@@ -5374,7 +5370,7 @@ const Strike = menu.Mark.create({
|
|
|
5374
5370
|
];
|
|
5375
5371
|
},
|
|
5376
5372
|
renderHTML({ HTMLAttributes }) {
|
|
5377
|
-
return ['s',
|
|
5373
|
+
return ['s', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
5378
5374
|
},
|
|
5379
5375
|
addCommands() {
|
|
5380
5376
|
return {
|
|
@@ -5396,7 +5392,7 @@ const Strike = menu.Mark.create({
|
|
|
5396
5392
|
},
|
|
5397
5393
|
addInputRules() {
|
|
5398
5394
|
return [
|
|
5399
|
-
|
|
5395
|
+
useEditorStore.markInputRule({
|
|
5400
5396
|
find: inputRegex$2,
|
|
5401
5397
|
type: this.type,
|
|
5402
5398
|
}),
|
|
@@ -5404,7 +5400,7 @@ const Strike = menu.Mark.create({
|
|
|
5404
5400
|
},
|
|
5405
5401
|
addPasteRules() {
|
|
5406
5402
|
return [
|
|
5407
|
-
|
|
5403
|
+
useEditorStore.markPasteRule({
|
|
5408
5404
|
find: pasteRegex,
|
|
5409
5405
|
type: this.type,
|
|
5410
5406
|
}),
|
|
@@ -5416,7 +5412,7 @@ const Strike = menu.Mark.create({
|
|
|
5416
5412
|
* This extension allows you to create text nodes.
|
|
5417
5413
|
* @see https://www.tiptap.dev/api/nodes/text
|
|
5418
5414
|
*/
|
|
5419
|
-
const Text$1 =
|
|
5415
|
+
const Text$1 = useEditorStore.Node.create({
|
|
5420
5416
|
name: 'text',
|
|
5421
5417
|
group: 'inline',
|
|
5422
5418
|
});
|
|
@@ -5426,7 +5422,7 @@ const Text$1 = menu.Node.create({
|
|
|
5426
5422
|
*
|
|
5427
5423
|
* It’s a good starting point for building your own editor.
|
|
5428
5424
|
*/
|
|
5429
|
-
const StarterKit =
|
|
5425
|
+
const StarterKit = useEditorStore.Extension.create({
|
|
5430
5426
|
name: 'starterKit',
|
|
5431
5427
|
addExtensions() {
|
|
5432
5428
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
@@ -5497,7 +5493,7 @@ var __export = (target, all) => {
|
|
|
5497
5493
|
var ListItemName = "listItem";
|
|
5498
5494
|
var TextStyleName = "textStyle";
|
|
5499
5495
|
var bulletListInputRegex = /^\s*([-+*])\s$/;
|
|
5500
|
-
var BulletList =
|
|
5496
|
+
var BulletList = useEditorStore.Node.create({
|
|
5501
5497
|
name: "bulletList",
|
|
5502
5498
|
addOptions() {
|
|
5503
5499
|
return {
|
|
@@ -5515,7 +5511,7 @@ var BulletList = menu.Node.create({
|
|
|
5515
5511
|
return [{ tag: "ul" }];
|
|
5516
5512
|
},
|
|
5517
5513
|
renderHTML({ HTMLAttributes }) {
|
|
5518
|
-
return ["ul",
|
|
5514
|
+
return ["ul", useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
5519
5515
|
},
|
|
5520
5516
|
addCommands() {
|
|
5521
5517
|
return {
|
|
@@ -5533,12 +5529,12 @@ var BulletList = menu.Node.create({
|
|
|
5533
5529
|
};
|
|
5534
5530
|
},
|
|
5535
5531
|
addInputRules() {
|
|
5536
|
-
let inputRule =
|
|
5532
|
+
let inputRule = useEditorStore.wrappingInputRule({
|
|
5537
5533
|
find: bulletListInputRegex,
|
|
5538
5534
|
type: this.type
|
|
5539
5535
|
});
|
|
5540
5536
|
if (this.options.keepMarks || this.options.keepAttributes) {
|
|
5541
|
-
inputRule =
|
|
5537
|
+
inputRule = useEditorStore.wrappingInputRule({
|
|
5542
5538
|
find: bulletListInputRegex,
|
|
5543
5539
|
type: this.type,
|
|
5544
5540
|
keepMarks: this.options.keepMarks,
|
|
@@ -5552,7 +5548,7 @@ var BulletList = menu.Node.create({
|
|
|
5552
5548
|
return [inputRule];
|
|
5553
5549
|
}
|
|
5554
5550
|
});
|
|
5555
|
-
var ListItem =
|
|
5551
|
+
var ListItem = useEditorStore.Node.create({
|
|
5556
5552
|
name: "listItem",
|
|
5557
5553
|
addOptions() {
|
|
5558
5554
|
return {
|
|
@@ -5571,7 +5567,7 @@ var ListItem = menu.Node.create({
|
|
|
5571
5567
|
];
|
|
5572
5568
|
},
|
|
5573
5569
|
renderHTML({ HTMLAttributes }) {
|
|
5574
|
-
return ["li",
|
|
5570
|
+
return ["li", useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
5575
5571
|
},
|
|
5576
5572
|
addKeyboardShortcuts() {
|
|
5577
5573
|
return {
|
|
@@ -5598,7 +5594,7 @@ __export(listHelpers_exports, {
|
|
|
5598
5594
|
});
|
|
5599
5595
|
var findListItemPos = (typeOrName, state) => {
|
|
5600
5596
|
const { $from } = state.selection;
|
|
5601
|
-
const nodeType =
|
|
5597
|
+
const nodeType = useEditorStore.getNodeType(typeOrName, state.schema);
|
|
5602
5598
|
let currentNode = null;
|
|
5603
5599
|
let currentDepth = $from.depth;
|
|
5604
5600
|
let currentPos = $from.pos;
|
|
@@ -5622,7 +5618,7 @@ var getNextListDepth = (typeOrName, state) => {
|
|
|
5622
5618
|
if (!listItemPos) {
|
|
5623
5619
|
return false;
|
|
5624
5620
|
}
|
|
5625
|
-
const [, depth] =
|
|
5621
|
+
const [, depth] = useEditorStore.getNodeAtPosition(state, typeOrName, listItemPos.$pos.pos + 4);
|
|
5626
5622
|
return depth;
|
|
5627
5623
|
};
|
|
5628
5624
|
|
|
@@ -5654,7 +5650,7 @@ var listItemHasSubList = (typeOrName, state, node) => {
|
|
|
5654
5650
|
if (!node) {
|
|
5655
5651
|
return false;
|
|
5656
5652
|
}
|
|
5657
|
-
const nodeType =
|
|
5653
|
+
const nodeType = useEditorStore.getNodeType(typeOrName, state.schema);
|
|
5658
5654
|
let hasSubList = false;
|
|
5659
5655
|
node.descendants((child) => {
|
|
5660
5656
|
if (child.type === nodeType) {
|
|
@@ -5672,7 +5668,7 @@ var handleBackspace = (editor, name, parentListTypes) => {
|
|
|
5672
5668
|
if (editor.state.selection.from !== editor.state.selection.to) {
|
|
5673
5669
|
return false;
|
|
5674
5670
|
}
|
|
5675
|
-
if (!
|
|
5671
|
+
if (!useEditorStore.isNodeActive(editor.state, name) && hasListBefore(editor.state, name, parentListTypes)) {
|
|
5676
5672
|
const { $anchor } = editor.state.selection;
|
|
5677
5673
|
const $listPos = editor.state.doc.resolve($anchor.before() - 1);
|
|
5678
5674
|
const listDescendants = [];
|
|
@@ -5688,10 +5684,10 @@ var handleBackspace = (editor, name, parentListTypes) => {
|
|
|
5688
5684
|
const $lastItemPos = editor.state.doc.resolve($listPos.start() + lastItem.pos + 1);
|
|
5689
5685
|
return editor.chain().cut({ from: $anchor.start() - 1, to: $anchor.end() + 1 }, $lastItemPos.end()).joinForward().run();
|
|
5690
5686
|
}
|
|
5691
|
-
if (!
|
|
5687
|
+
if (!useEditorStore.isNodeActive(editor.state, name)) {
|
|
5692
5688
|
return false;
|
|
5693
5689
|
}
|
|
5694
|
-
if (!
|
|
5690
|
+
if (!useEditorStore.isAtStartOfNode(editor.state)) {
|
|
5695
5691
|
return false;
|
|
5696
5692
|
}
|
|
5697
5693
|
const listItemPos = findListItemPos(name, editor.state);
|
|
@@ -5735,10 +5731,10 @@ var nextListIsHigher = (typeOrName, state) => {
|
|
|
5735
5731
|
|
|
5736
5732
|
// src/keymap/listHelpers/handleDelete.ts
|
|
5737
5733
|
var handleDelete = (editor, name) => {
|
|
5738
|
-
if (!
|
|
5734
|
+
if (!useEditorStore.isNodeActive(editor.state, name)) {
|
|
5739
5735
|
return false;
|
|
5740
5736
|
}
|
|
5741
|
-
if (!
|
|
5737
|
+
if (!useEditorStore.isAtEndOfNode(editor.state, name)) {
|
|
5742
5738
|
return false;
|
|
5743
5739
|
}
|
|
5744
5740
|
const { selection } = editor.state;
|
|
@@ -5770,7 +5766,7 @@ var hasListItemAfter = (typeOrName, state) => {
|
|
|
5770
5766
|
};
|
|
5771
5767
|
|
|
5772
5768
|
// src/keymap/list-keymap.ts
|
|
5773
|
-
var ListKeymap =
|
|
5769
|
+
var ListKeymap = useEditorStore.Extension.create({
|
|
5774
5770
|
name: "listKeymap",
|
|
5775
5771
|
addOptions() {
|
|
5776
5772
|
return {
|
|
@@ -5842,7 +5838,7 @@ var ListKeymap = menu.Extension.create({
|
|
|
5842
5838
|
var ListItemName2 = "listItem";
|
|
5843
5839
|
var TextStyleName2 = "textStyle";
|
|
5844
5840
|
var orderedListInputRegex = /^(\d+)\.\s$/;
|
|
5845
|
-
var OrderedList =
|
|
5841
|
+
var OrderedList = useEditorStore.Node.create({
|
|
5846
5842
|
name: "orderedList",
|
|
5847
5843
|
addOptions() {
|
|
5848
5844
|
return {
|
|
@@ -5879,7 +5875,7 @@ var OrderedList = menu.Node.create({
|
|
|
5879
5875
|
},
|
|
5880
5876
|
renderHTML({ HTMLAttributes }) {
|
|
5881
5877
|
const { start, ...attributesWithoutStart } = HTMLAttributes;
|
|
5882
|
-
return start === 1 ? ["ol",
|
|
5878
|
+
return start === 1 ? ["ol", useEditorStore.mergeAttributes(this.options.HTMLAttributes, attributesWithoutStart), 0] : ["ol", useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
5883
5879
|
},
|
|
5884
5880
|
addCommands() {
|
|
5885
5881
|
return {
|
|
@@ -5897,14 +5893,14 @@ var OrderedList = menu.Node.create({
|
|
|
5897
5893
|
};
|
|
5898
5894
|
},
|
|
5899
5895
|
addInputRules() {
|
|
5900
|
-
let inputRule =
|
|
5896
|
+
let inputRule = useEditorStore.wrappingInputRule({
|
|
5901
5897
|
find: orderedListInputRegex,
|
|
5902
5898
|
type: this.type,
|
|
5903
5899
|
getAttributes: (match) => ({ start: +match[1] }),
|
|
5904
5900
|
joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1]
|
|
5905
5901
|
});
|
|
5906
5902
|
if (this.options.keepMarks || this.options.keepAttributes) {
|
|
5907
|
-
inputRule =
|
|
5903
|
+
inputRule = useEditorStore.wrappingInputRule({
|
|
5908
5904
|
find: orderedListInputRegex,
|
|
5909
5905
|
type: this.type,
|
|
5910
5906
|
keepMarks: this.options.keepMarks,
|
|
@@ -5918,7 +5914,7 @@ var OrderedList = menu.Node.create({
|
|
|
5918
5914
|
}
|
|
5919
5915
|
});
|
|
5920
5916
|
var inputRegex$1 = /^\s*(\[([( |x])?\])\s$/;
|
|
5921
|
-
var TaskItem$1 =
|
|
5917
|
+
var TaskItem$1 = useEditorStore.Node.create({
|
|
5922
5918
|
name: "taskItem",
|
|
5923
5919
|
addOptions() {
|
|
5924
5920
|
return {
|
|
@@ -5958,7 +5954,7 @@ var TaskItem$1 = menu.Node.create({
|
|
|
5958
5954
|
renderHTML({ node, HTMLAttributes }) {
|
|
5959
5955
|
return [
|
|
5960
5956
|
"li",
|
|
5961
|
-
|
|
5957
|
+
useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
|
|
5962
5958
|
"data-type": this.name
|
|
5963
5959
|
}),
|
|
5964
5960
|
[
|
|
@@ -6056,7 +6052,7 @@ var TaskItem$1 = menu.Node.create({
|
|
|
6056
6052
|
},
|
|
6057
6053
|
addInputRules() {
|
|
6058
6054
|
return [
|
|
6059
|
-
|
|
6055
|
+
useEditorStore.wrappingInputRule({
|
|
6060
6056
|
find: inputRegex$1,
|
|
6061
6057
|
type: this.type,
|
|
6062
6058
|
getAttributes: (match) => ({
|
|
@@ -6066,7 +6062,7 @@ var TaskItem$1 = menu.Node.create({
|
|
|
6066
6062
|
];
|
|
6067
6063
|
}
|
|
6068
6064
|
});
|
|
6069
|
-
var TaskList$1 =
|
|
6065
|
+
var TaskList$1 = useEditorStore.Node.create({
|
|
6070
6066
|
name: "taskList",
|
|
6071
6067
|
addOptions() {
|
|
6072
6068
|
return {
|
|
@@ -6087,7 +6083,7 @@ var TaskList$1 = menu.Node.create({
|
|
|
6087
6083
|
];
|
|
6088
6084
|
},
|
|
6089
6085
|
renderHTML({ HTMLAttributes }) {
|
|
6090
|
-
return ["ul",
|
|
6086
|
+
return ["ul", useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { "data-type": this.name }), 0];
|
|
6091
6087
|
},
|
|
6092
6088
|
addCommands() {
|
|
6093
6089
|
return {
|
|
@@ -6104,7 +6100,7 @@ var TaskList$1 = menu.Node.create({
|
|
|
6104
6100
|
});
|
|
6105
6101
|
|
|
6106
6102
|
// src/kit/index.ts
|
|
6107
|
-
|
|
6103
|
+
useEditorStore.Extension.create({
|
|
6108
6104
|
name: "listKit",
|
|
6109
6105
|
addExtensions() {
|
|
6110
6106
|
const extensions = [];
|
|
@@ -8757,7 +8753,7 @@ function registered(aliasOrLanguage) {
|
|
|
8757
8753
|
}
|
|
8758
8754
|
function getDecorations({ doc, name, lowlight, defaultLanguage, }) {
|
|
8759
8755
|
const decorations = [];
|
|
8760
|
-
|
|
8756
|
+
useEditorStore.findChildren(doc, node => node.type.name === name).forEach(block => {
|
|
8761
8757
|
let from = block.pos + 1;
|
|
8762
8758
|
const language = block.node.attrs.language || defaultLanguage;
|
|
8763
8759
|
const languages = lowlight.listLanguages();
|
|
@@ -8767,7 +8763,7 @@ function getDecorations({ doc, name, lowlight, defaultLanguage, }) {
|
|
|
8767
8763
|
parseNodes(nodes).forEach(node => {
|
|
8768
8764
|
const to = from + node.text.length;
|
|
8769
8765
|
if (node.classes.length) {
|
|
8770
|
-
const decoration =
|
|
8766
|
+
const decoration = useEditorStore.Decoration.inline(from, to, {
|
|
8771
8767
|
class: node.classes.join(' '),
|
|
8772
8768
|
});
|
|
8773
8769
|
decorations.push(decoration);
|
|
@@ -8775,7 +8771,7 @@ function getDecorations({ doc, name, lowlight, defaultLanguage, }) {
|
|
|
8775
8771
|
from = to;
|
|
8776
8772
|
});
|
|
8777
8773
|
});
|
|
8778
|
-
return
|
|
8774
|
+
return useEditorStore.DecorationSet.create(doc, decorations);
|
|
8779
8775
|
}
|
|
8780
8776
|
function isFunction(param) {
|
|
8781
8777
|
return typeof param === 'function';
|
|
@@ -8796,8 +8792,8 @@ function LowlightPlugin({ name, lowlight, defaultLanguage, }) {
|
|
|
8796
8792
|
apply: (transaction, decorationSet, oldState, newState) => {
|
|
8797
8793
|
const oldNodeName = oldState.selection.$head.parent.type.name;
|
|
8798
8794
|
const newNodeName = newState.selection.$head.parent.type.name;
|
|
8799
|
-
const oldNodes =
|
|
8800
|
-
const newNodes =
|
|
8795
|
+
const oldNodes = useEditorStore.findChildren(oldState.doc, node => node.type.name === name);
|
|
8796
|
+
const newNodes = useEditorStore.findChildren(newState.doc, node => node.type.name === name);
|
|
8801
8797
|
if (transaction.docChanged
|
|
8802
8798
|
// Apply decorations if:
|
|
8803
8799
|
// selection includes named node,
|
|
@@ -8870,7 +8866,7 @@ const CodeBlockLowlight = CodeBlock.extend({
|
|
|
8870
8866
|
function findSuggestionMatch(config) {
|
|
8871
8867
|
var _a;
|
|
8872
8868
|
const { char, allowSpaces, allowedPrefixes, startOfLine, $position, } = config;
|
|
8873
|
-
const escapedChar =
|
|
8869
|
+
const escapedChar = useEditorStore.escapeForRegEx(char);
|
|
8874
8870
|
const suffix = new RegExp(`\\s${escapedChar}$`);
|
|
8875
8871
|
const prefix = startOfLine ? '^' : '';
|
|
8876
8872
|
const regexp = allowSpaces
|
|
@@ -9085,8 +9081,8 @@ function Suggestion({ pluginKey = SuggestionPluginKey, editor, char = '@', allow
|
|
|
9085
9081
|
if (!active) {
|
|
9086
9082
|
return null;
|
|
9087
9083
|
}
|
|
9088
|
-
return
|
|
9089
|
-
|
|
9084
|
+
return useEditorStore.DecorationSet.create(state.doc, [
|
|
9085
|
+
useEditorStore.Decoration.inline(range.from, range.to, {
|
|
9090
9086
|
nodeName: decorationTag,
|
|
9091
9087
|
class: decorationClass,
|
|
9092
9088
|
'data-decoration-id': decorationId,
|
|
@@ -9098,9 +9094,6 @@ function Suggestion({ pluginKey = SuggestionPluginKey, editor, char = '@', allow
|
|
|
9098
9094
|
return plugin;
|
|
9099
9095
|
}
|
|
9100
9096
|
|
|
9101
|
-
var css = ".neeto-editor-image__skeleton{height:100%;width:100%}.neeto-editor-image__skeleton .skeleton{background-color:rgb(var(--neeto-ui-gray-700));height:100%;width:100%}";
|
|
9102
|
-
injectCss.n(css,{});
|
|
9103
|
-
|
|
9104
9097
|
var __extends$1 = (undefined && undefined.__extends) || (function () {
|
|
9105
9098
|
var extendStatics = function (d, b) {
|
|
9106
9099
|
extendStatics = Object.setPrototypeOf ||
|
|
@@ -11710,11 +11703,11 @@ function autolink(options) {
|
|
|
11710
11703
|
return;
|
|
11711
11704
|
}
|
|
11712
11705
|
const { tr } = newState;
|
|
11713
|
-
const transform =
|
|
11714
|
-
const changes =
|
|
11706
|
+
const transform = useEditorStore.combineTransactionSteps(oldState.doc, [...transactions]);
|
|
11707
|
+
const changes = useEditorStore.getChangedRanges(transform);
|
|
11715
11708
|
changes.forEach(({ newRange }) => {
|
|
11716
11709
|
// Now let’s see if we can add new links.
|
|
11717
|
-
const nodesInChangedRanges =
|
|
11710
|
+
const nodesInChangedRanges = useEditorStore.findChildrenInRange(newState.doc, newRange, node => node.isTextblock);
|
|
11718
11711
|
let textBlock;
|
|
11719
11712
|
let textBeforeWhitespace;
|
|
11720
11713
|
if (nodesInChangedRanges.length > 1) {
|
|
@@ -11761,7 +11754,7 @@ function autolink(options) {
|
|
|
11761
11754
|
.filter(link => options.validate(link.value))
|
|
11762
11755
|
// Add link mark.
|
|
11763
11756
|
.forEach(link => {
|
|
11764
|
-
if (
|
|
11757
|
+
if (useEditorStore.getMarksBetween(link.from, link.to, newState.doc).some(item => item.mark.type === options.type)) {
|
|
11765
11758
|
return;
|
|
11766
11759
|
}
|
|
11767
11760
|
tr.addMark(link.from, link.to, options.type.create({
|
|
@@ -11799,7 +11792,7 @@ function clickHandler(options) {
|
|
|
11799
11792
|
if (!els.find(value => value.nodeName === 'A')) {
|
|
11800
11793
|
return false;
|
|
11801
11794
|
}
|
|
11802
|
-
const attrs =
|
|
11795
|
+
const attrs = useEditorStore.getAttributes(view.state, options.type.name);
|
|
11803
11796
|
const link = event.target;
|
|
11804
11797
|
const href = (_a = link === null || link === void 0 ? void 0 : link.href) !== null && _a !== void 0 ? _a : attrs.href;
|
|
11805
11798
|
const target = (_b = link === null || link === void 0 ? void 0 : link.target) !== null && _b !== void 0 ? _b : attrs.target;
|
|
@@ -11861,7 +11854,7 @@ function isAllowedUri(uri, protocols) {
|
|
|
11861
11854
|
* This extension allows you to create links.
|
|
11862
11855
|
* @see https://www.tiptap.dev/api/marks/link
|
|
11863
11856
|
*/
|
|
11864
|
-
const Link =
|
|
11857
|
+
const Link = useEditorStore.Mark.create({
|
|
11865
11858
|
name: 'link',
|
|
11866
11859
|
priority: 1000,
|
|
11867
11860
|
keepOnSplit: false,
|
|
@@ -11932,9 +11925,9 @@ const Link = menu.Mark.create({
|
|
|
11932
11925
|
// prevent XSS attacks
|
|
11933
11926
|
if (!isAllowedUri(HTMLAttributes.href, this.options.protocols)) {
|
|
11934
11927
|
// strip out the href
|
|
11935
|
-
return ['a',
|
|
11928
|
+
return ['a', useEditorStore.mergeAttributes(this.options.HTMLAttributes, { ...HTMLAttributes, href: '' }), 0];
|
|
11936
11929
|
}
|
|
11937
|
-
return ['a',
|
|
11930
|
+
return ['a', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
|
|
11938
11931
|
},
|
|
11939
11932
|
addCommands() {
|
|
11940
11933
|
return {
|
|
@@ -11957,7 +11950,7 @@ const Link = menu.Mark.create({
|
|
|
11957
11950
|
},
|
|
11958
11951
|
addPasteRules() {
|
|
11959
11952
|
return [
|
|
11960
|
-
|
|
11953
|
+
useEditorStore.markPasteRule({
|
|
11961
11954
|
find: text => {
|
|
11962
11955
|
const foundLinks = [];
|
|
11963
11956
|
if (text) {
|
|
@@ -12019,7 +12012,7 @@ const MentionPluginKey = new index.PluginKey('mention');
|
|
|
12019
12012
|
* This extension allows you to insert mentions into the editor.
|
|
12020
12013
|
* @see https://www.tiptap.dev/api/extensions/mention
|
|
12021
12014
|
*/
|
|
12022
|
-
const Mention =
|
|
12015
|
+
const Mention = useEditorStore.Node.create({
|
|
12023
12016
|
name: 'mention',
|
|
12024
12017
|
addOptions() {
|
|
12025
12018
|
return {
|
|
@@ -12033,7 +12026,7 @@ const Mention = menu.Node.create({
|
|
|
12033
12026
|
var _a;
|
|
12034
12027
|
return [
|
|
12035
12028
|
'span',
|
|
12036
|
-
|
|
12029
|
+
useEditorStore.mergeAttributes(this.HTMLAttributes, options.HTMLAttributes),
|
|
12037
12030
|
`${options.suggestion.char}${(_a = node.attrs.label) !== null && _a !== void 0 ? _a : node.attrs.id}`,
|
|
12038
12031
|
];
|
|
12039
12032
|
},
|
|
@@ -12118,7 +12111,7 @@ const Mention = menu.Node.create({
|
|
|
12118
12111
|
console.warn('renderLabel is deprecated use renderText and renderHTML instead');
|
|
12119
12112
|
return [
|
|
12120
12113
|
'span',
|
|
12121
|
-
|
|
12114
|
+
useEditorStore.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes),
|
|
12122
12115
|
this.options.renderLabel({
|
|
12123
12116
|
options: this.options,
|
|
12124
12117
|
node,
|
|
@@ -12126,7 +12119,7 @@ const Mention = menu.Node.create({
|
|
|
12126
12119
|
];
|
|
12127
12120
|
}
|
|
12128
12121
|
const mergedOptions = { ...this.options };
|
|
12129
|
-
mergedOptions.HTMLAttributes =
|
|
12122
|
+
mergedOptions.HTMLAttributes = useEditorStore.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes);
|
|
12130
12123
|
const html = this.options.renderHTML({
|
|
12131
12124
|
options: mergedOptions,
|
|
12132
12125
|
node,
|
|
@@ -12134,7 +12127,7 @@ const Mention = menu.Node.create({
|
|
|
12134
12127
|
if (typeof html === 'string') {
|
|
12135
12128
|
return [
|
|
12136
12129
|
'span',
|
|
12137
|
-
|
|
12130
|
+
useEditorStore.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes),
|
|
12138
12131
|
html,
|
|
12139
12132
|
];
|
|
12140
12133
|
}
|
|
@@ -14882,10 +14875,10 @@ function drawCellSelection(state) {
|
|
|
14882
14875
|
const cells = [];
|
|
14883
14876
|
state.selection.forEachCell((node, pos) => {
|
|
14884
14877
|
cells.push(
|
|
14885
|
-
|
|
14878
|
+
useEditorStore.Decoration.node(pos, pos + node.nodeSize, { class: "selectedCell" })
|
|
14886
14879
|
);
|
|
14887
14880
|
});
|
|
14888
|
-
return
|
|
14881
|
+
return useEditorStore.DecorationSet.create(state.doc, cells);
|
|
14889
14882
|
}
|
|
14890
14883
|
function isCellBoundarySelection({ $from, $to }) {
|
|
14891
14884
|
if ($from.pos == $to.pos || $from.pos < $from.pos - 6)
|
|
@@ -15308,7 +15301,7 @@ function insertCells(state, dispatch, tableStart, rect, cells) {
|
|
|
15308
15301
|
}
|
|
15309
15302
|
|
|
15310
15303
|
// src/input.ts
|
|
15311
|
-
var handleKeyDown =
|
|
15304
|
+
var handleKeyDown = useEditorStore.keydownHandler({
|
|
15312
15305
|
ArrowLeft: arrow("horiz", -1),
|
|
15313
15306
|
ArrowRight: arrow("horiz", 1),
|
|
15314
15307
|
ArrowUp: arrow("vert", -1),
|
|
@@ -15867,7 +15860,7 @@ function handleDecorations(state, cell) {
|
|
|
15867
15860
|
const $cell = state.doc.resolve(cell);
|
|
15868
15861
|
const table = $cell.node(-1);
|
|
15869
15862
|
if (!table) {
|
|
15870
|
-
return
|
|
15863
|
+
return useEditorStore.DecorationSet.empty;
|
|
15871
15864
|
}
|
|
15872
15865
|
const map = TableMap.get(table);
|
|
15873
15866
|
const start = $cell.start(-1);
|
|
@@ -15879,10 +15872,10 @@ function handleDecorations(state, cell) {
|
|
|
15879
15872
|
const pos = start + cellPos + table.nodeAt(cellPos).nodeSize - 1;
|
|
15880
15873
|
const dom = document.createElement("div");
|
|
15881
15874
|
dom.className = "column-resize-handle";
|
|
15882
|
-
decorations.push(
|
|
15875
|
+
decorations.push(useEditorStore.Decoration.widget(pos, dom));
|
|
15883
15876
|
}
|
|
15884
15877
|
}
|
|
15885
|
-
return
|
|
15878
|
+
return useEditorStore.DecorationSet.create(state.doc, decorations);
|
|
15886
15879
|
}
|
|
15887
15880
|
function selectedRect(state) {
|
|
15888
15881
|
const sel = state.selection;
|
|
@@ -16628,7 +16621,7 @@ const deleteTableWhenAllCellsSelected = ({ editor }) => {
|
|
|
16628
16621
|
return false;
|
|
16629
16622
|
}
|
|
16630
16623
|
let cellCount = 0;
|
|
16631
|
-
const table =
|
|
16624
|
+
const table = useEditorStore.findParentNodeClosestToPos(selection.ranges[0].$from, node => {
|
|
16632
16625
|
return node.type.name === 'table';
|
|
16633
16626
|
});
|
|
16634
16627
|
table === null || table === void 0 ? void 0 : table.node.descendants(node => {
|
|
@@ -16651,7 +16644,7 @@ const deleteTableWhenAllCellsSelected = ({ editor }) => {
|
|
|
16651
16644
|
* This extension allows you to create tables.
|
|
16652
16645
|
* @see https://www.tiptap.dev/api/nodes/table
|
|
16653
16646
|
*/
|
|
16654
|
-
const Table =
|
|
16647
|
+
const Table = useEditorStore.Node.create({
|
|
16655
16648
|
name: 'table',
|
|
16656
16649
|
// @ts-ignore
|
|
16657
16650
|
addOptions() {
|
|
@@ -16677,7 +16670,7 @@ const Table = menu.Node.create({
|
|
|
16677
16670
|
const { colgroup, tableWidth, tableMinWidth } = createColGroup(node, this.options.cellMinWidth);
|
|
16678
16671
|
const table = [
|
|
16679
16672
|
'table',
|
|
16680
|
-
|
|
16673
|
+
useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
|
|
16681
16674
|
style: tableWidth
|
|
16682
16675
|
? `width: ${tableWidth}`
|
|
16683
16676
|
: `min-width: ${tableMinWidth}`,
|
|
@@ -16809,7 +16802,7 @@ const Table = menu.Node.create({
|
|
|
16809
16802
|
storage: extension.storage,
|
|
16810
16803
|
};
|
|
16811
16804
|
return {
|
|
16812
|
-
tableRole:
|
|
16805
|
+
tableRole: useEditorStore.callOrReturn(useEditorStore.getExtensionField(extension, 'tableRole', context)),
|
|
16813
16806
|
};
|
|
16814
16807
|
},
|
|
16815
16808
|
});
|
|
@@ -16822,7 +16815,7 @@ const inputRegex = /^\s*(\[([( |x])?\])\s$/;
|
|
|
16822
16815
|
* This extension allows you to create task items.
|
|
16823
16816
|
* @see https://www.tiptap.dev/api/nodes/task-item
|
|
16824
16817
|
*/
|
|
16825
|
-
const TaskItem =
|
|
16818
|
+
const TaskItem = useEditorStore.Node.create({
|
|
16826
16819
|
name: 'taskItem',
|
|
16827
16820
|
addOptions() {
|
|
16828
16821
|
return {
|
|
@@ -16861,7 +16854,7 @@ const TaskItem = menu.Node.create({
|
|
|
16861
16854
|
renderHTML({ node, HTMLAttributes }) {
|
|
16862
16855
|
return [
|
|
16863
16856
|
'li',
|
|
16864
|
-
|
|
16857
|
+
useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
|
|
16865
16858
|
'data-type': this.name,
|
|
16866
16859
|
}),
|
|
16867
16860
|
[
|
|
@@ -16960,7 +16953,7 @@ const TaskItem = menu.Node.create({
|
|
|
16960
16953
|
},
|
|
16961
16954
|
addInputRules() {
|
|
16962
16955
|
return [
|
|
16963
|
-
|
|
16956
|
+
useEditorStore.wrappingInputRule({
|
|
16964
16957
|
find: inputRegex,
|
|
16965
16958
|
type: this.type,
|
|
16966
16959
|
getAttributes: match => ({
|
|
@@ -16975,7 +16968,7 @@ const TaskItem = menu.Node.create({
|
|
|
16975
16968
|
* This extension allows you to create task lists.
|
|
16976
16969
|
* @see https://www.tiptap.dev/api/nodes/task-list
|
|
16977
16970
|
*/
|
|
16978
|
-
const TaskList =
|
|
16971
|
+
const TaskList = useEditorStore.Node.create({
|
|
16979
16972
|
name: 'taskList',
|
|
16980
16973
|
addOptions() {
|
|
16981
16974
|
return {
|
|
@@ -16996,7 +16989,7 @@ const TaskList = menu.Node.create({
|
|
|
16996
16989
|
];
|
|
16997
16990
|
},
|
|
16998
16991
|
renderHTML({ HTMLAttributes }) {
|
|
16999
|
-
return ['ul',
|
|
16992
|
+
return ['ul', useEditorStore.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { 'data-type': this.name }), 0];
|
|
17000
16993
|
},
|
|
17001
16994
|
addCommands() {
|
|
17002
16995
|
return {
|
|
@@ -17052,4 +17045,4 @@ exports.scrollHandler = scrollHandler;
|
|
|
17052
17045
|
exports.useDeletedArticles = useDeletedArticles;
|
|
17053
17046
|
exports.useEditorWarnings = useEditorWarnings;
|
|
17054
17047
|
exports.useFetchKbArticles = useFetchKbArticles;
|
|
17055
|
-
//# sourceMappingURL=chunk-
|
|
17048
|
+
//# sourceMappingURL=chunk-DOxH3Agq.cjs.js.map
|