@bigbinary/neeto-editor 1.47.112 → 1.47.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/Attachments.js +1 -2
  2. package/dist/Attachments.js.map +1 -1
  3. package/dist/Editor.js +11 -6
  4. package/dist/Editor.js.map +1 -1
  5. package/dist/EditorContent.js +4 -2
  6. package/dist/EditorContent.js.map +1 -1
  7. package/dist/FormikEditor.js +5 -6
  8. package/dist/FormikEditor.js.map +1 -1
  9. package/dist/Menu.js +8 -8
  10. package/dist/{chunk-kSsvM8aH.js → chunk--BjpQHaY.js} +2 -3
  11. package/dist/chunk--BjpQHaY.js.map +1 -0
  12. package/dist/{chunk-C26VPEID.js → chunk-3JO2B_HR.js} +2 -3
  13. package/dist/{chunk-C26VPEID.js.map → chunk-3JO2B_HR.js.map} +1 -1
  14. package/dist/{chunk-BDcN2CWH.js → chunk-BKsyn0lE.js} +6 -2
  15. package/dist/chunk-BKsyn0lE.js.map +1 -0
  16. package/dist/{chunk-BOSqhXe9.js → chunk-BLXUWWgi.js} +1 -5
  17. package/dist/{chunk-BOSqhXe9.js.map → chunk-BLXUWWgi.js.map} +1 -1
  18. package/dist/{chunk-0yZ5QmzV.js → chunk-BO6bjSuY.js} +6 -3
  19. package/dist/chunk-BO6bjSuY.js.map +1 -0
  20. package/dist/{chunk-Zi-ccf09.js → chunk-C9Hjlrrk.js} +2 -2
  21. package/dist/chunk-C9Hjlrrk.js.map +1 -0
  22. package/dist/{chunk-DVrXh89W.js → chunk-CNWsmIz_.js} +1 -2
  23. package/dist/chunk-CNWsmIz_.js.map +1 -0
  24. package/dist/{chunk-DRyQ5gRT.js → chunk-Dj7lS7Cs.js} +2 -9
  25. package/dist/{chunk-DRyQ5gRT.js.map → chunk-Dj7lS7Cs.js.map} +1 -1
  26. package/dist/{chunk-B5ZO6MSb.js → chunk-DtQctlVh.js} +2 -4
  27. package/dist/{chunk-B5ZO6MSb.js.map → chunk-DtQctlVh.js.map} +1 -1
  28. package/dist/cjs/Attachments.cjs.js +1 -2
  29. package/dist/cjs/Attachments.cjs.js.map +1 -1
  30. package/dist/cjs/Editor.cjs.js +82 -77
  31. package/dist/cjs/Editor.cjs.js.map +1 -1
  32. package/dist/cjs/EditorContent.cjs.js +4 -2
  33. package/dist/cjs/EditorContent.cjs.js.map +1 -1
  34. package/dist/cjs/FormikEditor.cjs.js +5 -6
  35. package/dist/cjs/FormikEditor.cjs.js.map +1 -1
  36. package/dist/cjs/Menu.cjs.js +8 -8
  37. package/dist/cjs/{chunk-ByqRrEfj.cjs.js → chunk-BYyLrDTW.cjs.js} +2 -3
  38. package/dist/cjs/{chunk-ByqRrEfj.cjs.js.map → chunk-BYyLrDTW.cjs.js.map} +1 -1
  39. package/dist/cjs/{chunk-BE_JvlHl.cjs.js → chunk-B_ZuTQG9.cjs.js} +11 -11
  40. package/dist/cjs/chunk-B_ZuTQG9.cjs.js.map +1 -0
  41. package/dist/cjs/{chunk-UnFuCCxl.cjs.js → chunk-BrQjqeiG.cjs.js} +15 -11
  42. package/dist/cjs/chunk-BrQjqeiG.cjs.js.map +1 -0
  43. package/dist/cjs/{chunk-BJo6VB1g.cjs.js → chunk-CIuJ_EMY.cjs.js} +1 -2
  44. package/dist/cjs/chunk-CIuJ_EMY.cjs.js.map +1 -0
  45. package/dist/cjs/{chunk-Cv7rmxCK.cjs.js → chunk-Cv0ocaVh.cjs.js} +1 -5
  46. package/dist/cjs/{chunk-Cv7rmxCK.cjs.js.map → chunk-Cv0ocaVh.cjs.js.map} +1 -1
  47. package/dist/cjs/{chunk-LeproQrc.cjs.js → chunk-Cvxaj__T.cjs.js} +2 -3
  48. package/dist/cjs/chunk-Cvxaj__T.cjs.js.map +1 -0
  49. package/dist/cjs/{chunk-DQYVBQIk.cjs.js → chunk-DOxH3Agq.cjs.js} +159 -166
  50. package/dist/cjs/{chunk-DQYVBQIk.cjs.js.map → chunk-DOxH3Agq.cjs.js.map} +1 -1
  51. package/dist/cjs/{chunk-Gl_OXcUl.cjs.js → chunk-DRB71ojr.cjs.js} +6 -3
  52. package/dist/cjs/chunk-DRB71ojr.cjs.js.map +1 -0
  53. package/dist/cjs/{chunk-ColwAO4n.cjs.js → chunk-n7U2G1az.cjs.js} +2 -4
  54. package/dist/cjs/{chunk-ColwAO4n.cjs.js.map → chunk-n7U2G1az.cjs.js.map} +1 -1
  55. package/dist/cjs/index.cjs.js +4 -6
  56. package/dist/cjs/index.cjs.js.map +1 -1
  57. package/dist/cjs/v2/Attachments.cjs.js +1 -3
  58. package/dist/cjs/v2/Attachments.cjs.js.map +1 -1
  59. package/dist/cjs/v2/Editor.cjs.js +75 -77
  60. package/dist/cjs/v2/Editor.cjs.js.map +1 -1
  61. package/dist/cjs/v2/EditorContent.cjs.js +1 -3
  62. package/dist/cjs/v2/EditorContent.cjs.js.map +1 -1
  63. package/dist/cjs/v2/FormikEditor.cjs.js +4 -6
  64. package/dist/cjs/v2/FormikEditor.cjs.js.map +1 -1
  65. package/dist/cjs/v2/Menu.cjs.js +6 -7
  66. package/dist/cjs/v2/Menu.cjs.js.map +1 -1
  67. package/dist/cjs/v2/index.cjs.js +8 -11
  68. package/dist/cjs/v2/index.cjs.js.map +1 -1
  69. package/dist/editor-stats.html +19 -1
  70. package/dist/index.js +4 -6
  71. package/dist/index.js.map +1 -1
  72. package/dist/v2/Attachments.js +1 -3
  73. package/dist/v2/Attachments.js.map +1 -1
  74. package/dist/v2/Editor.js +4 -6
  75. package/dist/v2/Editor.js.map +1 -1
  76. package/dist/v2/EditorContent.js +1 -3
  77. package/dist/v2/EditorContent.js.map +1 -1
  78. package/dist/v2/FormikEditor.js +4 -6
  79. package/dist/v2/FormikEditor.js.map +1 -1
  80. package/dist/v2/Menu.js +6 -7
  81. package/dist/v2/Menu.js.map +1 -1
  82. package/dist/v2/index.js +8 -11
  83. package/dist/v2/index.js.map +1 -1
  84. package/dist/v2/styles.css +1 -1
  85. package/dist/v2/styles.js +4 -0
  86. package/dist/v2/styles.js.map +1 -0
  87. package/package.json +3 -1
  88. package/dist/chunk-0yZ5QmzV.js.map +0 -1
  89. package/dist/chunk-3C7ZroSh.js +0 -5
  90. package/dist/chunk-3C7ZroSh.js.map +0 -1
  91. package/dist/chunk-BDcN2CWH.js.map +0 -1
  92. package/dist/chunk-CVfGOKt4.js +0 -5
  93. package/dist/chunk-CVfGOKt4.js.map +0 -1
  94. package/dist/chunk-DVrXh89W.js.map +0 -1
  95. package/dist/chunk-Zi-ccf09.js.map +0 -1
  96. package/dist/chunk-kSsvM8aH.js.map +0 -1
  97. package/dist/cjs/chunk-BE_JvlHl.cjs.js.map +0 -1
  98. package/dist/cjs/chunk-BJo6VB1g.cjs.js.map +0 -1
  99. package/dist/cjs/chunk-BaJ2GldN.cjs.js +0 -7
  100. package/dist/cjs/chunk-BaJ2GldN.cjs.js.map +0 -1
  101. package/dist/cjs/chunk-DcAwRABD.cjs.js +0 -7
  102. package/dist/cjs/chunk-DcAwRABD.cjs.js.map +0 -1
  103. package/dist/cjs/chunk-Gl_OXcUl.cjs.js.map +0 -1
  104. package/dist/cjs/chunk-LeproQrc.cjs.js.map +0 -1
  105. package/dist/cjs/chunk-UnFuCCxl.cjs.js.map +0 -1
  106. package/dist/v2/_styles-bundle.js +0 -4
  107. 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 injectCss = require('./chunk-B6qYtOJe.cjs.js');
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 = menu.Extension.create({
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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
- menu.markInputRule({
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
- menu.markPasteRule({
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 menu.DecorationSet.create(state.doc, [])
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
- menu.Decoration.widget(head, () => createCursor(user), {
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
- menu.Decoration.inline(from, to, createSelection(user), {
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 menu.DecorationSet.create(state.doc, decorations)
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 = menu.Extension.create({
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 = menu.Extension.create({
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.getMarkAttributes(state, this.type);
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 = menu.Extension.create({
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 = menu.Node.create({
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 = menu.Extension.create({
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 menu.DecorationSet.create(doc, []);
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(menu.Decoration.node(pos, pos + node.nodeSize, {
2949
+ decorations.push(useEditorStore.Decoration.node(pos, pos + node.nodeSize, {
2954
2950
  class: this.options.className,
2955
2951
  }));
2956
2952
  });
2957
- return menu.DecorationSet.create(doc, decorations);
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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
- menu.markInputRule({
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
- menu.markPasteRule({
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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
- menu.wrappingInputRule({
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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
- menu.markInputRule({
3359
+ useEditorStore.markInputRule({
3364
3360
  find: starInputRegex$1,
3365
3361
  type: this.type,
3366
3362
  }),
3367
- menu.markInputRule({
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
- menu.markPasteRule({
3371
+ useEditorStore.markPasteRule({
3376
3372
  find: starPasteRegex$1,
3377
3373
  type: this.type,
3378
3374
  }),
3379
- menu.markPasteRule({
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.getMarkAttributes(state, this.type);
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.wrappingInputRule({
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 = menu.wrappingInputRule({
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 = menu.Node.create({
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
- menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
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
- menu.textblockTypeInputRule({
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
- menu.textblockTypeInputRule({
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 = menu.Extension.create({
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 = menu.keydownHandler({
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 menu.DecorationSet.create(state.doc, [menu.Decoration.widget(state.selection.head, node, { key: "gapcursor" })]);
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 = menu.Extension.create({
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 = menu.callOrReturn(menu.getExtensionField(extension, 'allowGapCursor', context))) !== null && _a !== void 0 ? _a : null,
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
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 = menu.Node.create({
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}`, menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 menu.textblockTypeInputRule({
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 = menu.Extension.create({
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
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 (menu.isNodeSelection(selection)) {
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
- menu.nodeInputRule({
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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
- menu.markInputRule({
5105
+ useEditorStore.markInputRule({
5110
5106
  find: starInputRegex,
5111
5107
  type: this.type,
5112
5108
  }),
5113
- menu.markInputRule({
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
- menu.markPasteRule({
5117
+ useEditorStore.markPasteRule({
5122
5118
  find: starPasteRegex,
5123
5119
  type: this.type,
5124
5120
  }),
5125
- menu.markPasteRule({
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.getMarkAttributes(state, this.type);
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, attributesWithoutStart), 0]
5262
- : ['ol', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.wrappingInputRule({
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 = menu.wrappingInputRule({
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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
- menu.markInputRule({
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
- menu.markPasteRule({
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 = menu.Node.create({
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 = menu.Extension.create({
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 = menu.Node.create({
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", menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.wrappingInputRule({
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 = menu.wrappingInputRule({
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 = menu.Node.create({
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", menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.getNodeType(typeOrName, state.schema);
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] = menu.getNodeAtPosition(state, typeOrName, listItemPos.$pos.pos + 4);
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 = menu.getNodeType(typeOrName, state.schema);
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 (!menu.isNodeActive(editor.state, name) && hasListBefore(editor.state, name, parentListTypes)) {
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 (!menu.isNodeActive(editor.state, name)) {
5687
+ if (!useEditorStore.isNodeActive(editor.state, name)) {
5692
5688
  return false;
5693
5689
  }
5694
- if (!menu.isAtStartOfNode(editor.state)) {
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 (!menu.isNodeActive(editor.state, name)) {
5734
+ if (!useEditorStore.isNodeActive(editor.state, name)) {
5739
5735
  return false;
5740
5736
  }
5741
- if (!menu.isAtEndOfNode(editor.state, name)) {
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 = menu.Extension.create({
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 = menu.Node.create({
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", menu.mergeAttributes(this.options.HTMLAttributes, attributesWithoutStart), 0] : ["ol", menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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 = menu.wrappingInputRule({
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 = menu.wrappingInputRule({
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 = menu.Node.create({
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
- menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
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
- menu.wrappingInputRule({
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 = menu.Node.create({
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", menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { "data-type": this.name }), 0];
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
- menu.Extension.create({
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
- menu.findChildren(doc, node => node.type.name === name).forEach(block => {
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 = menu.Decoration.inline(from, to, {
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 menu.DecorationSet.create(doc, decorations);
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 = menu.findChildren(oldState.doc, node => node.type.name === name);
8800
- const newNodes = menu.findChildren(newState.doc, node => node.type.name === name);
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 = menu.escapeForRegEx(char);
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 menu.DecorationSet.create(state.doc, [
9089
- menu.Decoration.inline(range.from, range.to, {
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 = menu.combineTransactionSteps(oldState.doc, [...transactions]);
11714
- const changes = menu.getChangedRanges(transform);
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 = menu.findChildrenInRange(newState.doc, newRange, node => node.isTextblock);
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 (menu.getMarksBetween(link.from, link.to, newState.doc).some(item => item.mark.type === options.type)) {
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 = menu.getAttributes(view.state, options.type.name);
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 = menu.Mark.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, { ...HTMLAttributes, href: '' }), 0];
11928
+ return ['a', useEditorStore.mergeAttributes(this.options.HTMLAttributes, { ...HTMLAttributes, href: '' }), 0];
11936
11929
  }
11937
- return ['a', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
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
- menu.markPasteRule({
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 = menu.Node.create({
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
- menu.mergeAttributes(this.HTMLAttributes, options.HTMLAttributes),
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
- menu.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes),
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 = menu.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, 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
- menu.mergeAttributes({ 'data-type': this.name }, this.options.HTMLAttributes, HTMLAttributes),
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
- menu.Decoration.node(pos, pos + node.nodeSize, { class: "selectedCell" })
14878
+ useEditorStore.Decoration.node(pos, pos + node.nodeSize, { class: "selectedCell" })
14886
14879
  );
14887
14880
  });
14888
- return menu.DecorationSet.create(state.doc, cells);
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 = menu.keydownHandler({
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 menu.DecorationSet.empty;
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(menu.Decoration.widget(pos, dom));
15875
+ decorations.push(useEditorStore.Decoration.widget(pos, dom));
15883
15876
  }
15884
15877
  }
15885
- return menu.DecorationSet.create(state.doc, decorations);
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 = menu.findParentNodeClosestToPos(selection.ranges[0].$from, node => {
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 = menu.Node.create({
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
- menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
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: menu.callOrReturn(menu.getExtensionField(extension, 'tableRole', context)),
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 = menu.Node.create({
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
- menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
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
- menu.wrappingInputRule({
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 = menu.Node.create({
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', menu.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { 'data-type': this.name }), 0];
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-DQYVBQIk.cjs.js.map
17048
+ //# sourceMappingURL=chunk-DOxH3Agq.cjs.js.map