@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
@@ -8,7 +8,7 @@ import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardBut
8
8
  import { isNil } from 'ramda';
9
9
  import { createRoot } from 'react-dom/client';
10
10
  import { a as EDITOR_SIZES } from './chunk-DDwycKmK.js';
11
- import './chunk-3C7ZroSh.js';
11
+ import { n } from './chunk-C2dztUxs.js';
12
12
  import '@bigbinary/neeto-cist';
13
13
  import './chunk-CF5f8-fy.js';
14
14
  import { c as convertPlainTextToHtml, s as substituteVariables, a as applySyntaxHighlightingAndLineNumbers, b as applyLineHighlighting } from './chunk-D_B4kuIc.js';
@@ -20,7 +20,6 @@ import Spinner from '@bigbinary/neetoui/Spinner';
20
20
  import { createPortal } from 'react-dom';
21
21
  import { useTranslation } from 'react-i18next';
22
22
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
23
- import './chunk-C2dztUxs.js';
24
23
  import 'i18next';
25
24
  import 'yup';
26
25
  import './chunk-9TNlsObP.js';
@@ -28,6 +27,9 @@ import './chunk-BFTU3MAI.js';
28
27
  import 'react-dom/server';
29
28
  import '@babel/runtime/helpers/toConsumableArray';
30
29
 
30
+ var css = "@charset \"UTF-8\";.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 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-content ul[data-type=todoList] li{align-items:flex-start;display:flex;position:relative}.ProseMirror 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-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-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-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-content ul[data-type=todoList] ul[data-type=todoList]{margin:0}.ProseMirror 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}.neeto-editor-content .hljs{background:#282c34;color:#abb2bf}.neeto-editor-content .hljs-comment,.neeto-editor-content .hljs-quote{color:#5c6370;font-style:italic}.neeto-editor-content .hljs-doctag,.neeto-editor-content .hljs-formula,.neeto-editor-content .hljs-keyword{color:#c678dd}.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-content .hljs-literal{color:#56b6c2}.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-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-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-content .hljs-built_in,.neeto-editor-content .hljs-class .hljs-title,.neeto-editor-content .hljs-title.class_{color:#e6c07b}.neeto-editor-content .hljs-emphasis{font-style:italic}.neeto-editor-content .hljs-strong{font-weight:700}.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-editor-content-heading-color:224,224,224,1;--neeto-editor-content-paragraph-color:224,224,224,1}.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-editor-content-heading-color:31,35,40,1;--neeto-editor-content-paragraph-color:31,35,40,1}.neeto-editor-content{-moz-tab-size:2;-o-tab-size:2;tab-size:2;white-space:pre-wrap;word-break:break-word}.neeto-editor-content hr{border-color:#363737;border-color:rgba(var(--neeto-editor-content-paragraph-color));margin:.5rem 0;opacity:.2}.neeto-editor-content .table-responsive{-webkit-overflow-scrolling:touch;margin:1rem 0;overflow-x:auto}.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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-content .header-wrapper{position:relative}.neeto-editor-content .header-wrapper__link{position:absolute;top:50%}.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-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-content .header-wrapper .header-link-icon-wrapper svg{fill:#006653;fill:rgb(var(--neeto-editor-primary-800));transition:fill .15s ease-in}.neeto-editor-content .header-wrapper:hover .header-link-icon-wrapper{opacity:1}.neeto-editor-content .header-wrapper:hover svg{fill:#095aba;fill:rgb(var(--neeto-editor-accent-800))}.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-content p:empty:after{content:\" \"}.neeto-editor-content p:empty{line-height:1;margin-bottom:0;min-height:1rem}.neeto-editor-content p:last-child{margin-bottom:0}.neeto-editor-content p strong{font-weight:600!important}.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-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-content code *{font-size:inherit!important}.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-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-content pre,.neeto-editor-content pre div{color:#abb2bf;color:rgba(var(--neeto-editor-content-code-color))}.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-content pre .neeto-editor-codeblock-options__menu{display:flex;flex-direction:column;gap:.25rem}.neeto-editor-content pre .neeto-editor-codeblock-options__input{margin:.25rem}.neeto-editor-content pre:hover .neeto-editor-codeblock-options{opacity:1;visibility:visible}.neeto-editor-content pre:hover .copy-button{opacity:1;visibility:visible}.neeto-editor-content pre .copy-button{inset-inline-end:.25rem;opacity:0;position:absolute;top:.25rem;visibility:hidden}.neeto-editor-content pre[data-linenumbers] .highlight-line{padding-inline-start:3.125rem;position:relative}.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-content pre[data-linenumbers] .highlight-line:last-child:before{content:\"\"}.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-content pre[data-linenumbers]>code{padding-inline-start:0}.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-content blockquote div,.neeto-editor-content blockquote p{color:inherit}.neeto-editor-content blockquote>p:before{content:\"\"!important}.neeto-editor-content blockquote>p:after{content:\"\"!important}.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-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-content ol li:before,.neeto-editor-content ul li:before{background-color:#363737;background-color:rgba(var(--neeto-editor-content-paragraph-color))}.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-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-content a[href]{color:#095aba;color:rgb(var(--neeto-editor-accent-800));font-weight:inherit}.neeto-editor-content .neeto-editor__video-wrapper{display:flex;margin:1rem 0;padding-inline-start:3px}.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-content .neeto-editor__video-wrapper .neeto-editor__video-iframe{display:inline-block;height:auto!important;max-width:100%;vertical-align:top}.neeto-editor-content .neeto-editor__video-wrapper .neeto-editor__video-iframe iframe{aspect-ratio:16/9;width:100%}.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-content .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-16-9 iframe{aspect-ratio:16/9;width:100%}.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-content .neeto-editor__video-wrapper .neeto-editor__video-iframe.neeto-editor-aspect-4-3 iframe{aspect-ratio:4/3;width:100%}.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-content .neeto-editor__video--left{justify-content:flex-start}.neeto-editor-content .neeto-editor__video--right{justify-content:flex-end}.neeto-editor-content .neeto-editor__video--center{justify-content:center}.neeto-editor-content mark{border-radius:3px;border-radius:var(--neeto-editor-rounded-sm);padding:0}.neeto-editor-content [data-type=mention]{color:#095aba;color:rgb(var(--neeto-editor-accent-800))}.neeto-editor-content [data-type=special-mention]{color:#095aba;color:rgb(var(--neeto-editor-accent-800))}.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-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-content table td:first-child,.neeto-editor-content table th:first-child{border-inline-start:none}.neeto-editor-content table th{background:#f6f7f8;background:rgb(var(--neeto-editor-gray-100));border-top:none}.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-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))}";
31
+ n(css,{});
32
+
31
33
  var ImagePreview = function ImagePreview(_ref) {
32
34
  var imagePreviewDetails = _ref.imagePreviewDetails,
33
35
  setImagePreviewDetails = _ref.setImagePreviewDetails;
@@ -1 +1 @@
1
- {"version":3,"file":"EditorContent.js","sources":["../src/components/EditorContent/ImagePreview.jsx","../src/components/EditorContent/utils/headers.js","../src/components/EditorContent/utils/todoCheckbox.js","../src/components/EditorContent/index.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ImagePreview = ({ imagePreviewDetails, setImagePreviewDetails }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n const { t } = useTranslation();\n\n const imagePreviewRef = useRef(null);\n\n useOnClickOutside(imagePreviewRef, () => setImagePreviewDetails(null), {\n enabled: true,\n });\n\n useEffect(() => {\n if (!imagePreviewRef.current) return;\n\n imagePreviewRef.current.setAttribute(\"tabindex\", \"-1\");\n imagePreviewRef.current.focus();\n }, []);\n\n const handleKeyDown = e => {\n e.stopPropagation();\n e.key === \"Escape\" && setImagePreviewDetails(null);\n };\n\n return createPortal(\n <div className=\"ne-image-preview-wrapper active\">\n {isLoading && <Spinner className=\"ne-image-preview-wrapper__spinner\" />}\n {!isLoading && (\n <div className=\"close-button\">\n <Button\n icon={Close}\n style=\"secondary\"\n onClick={() => setImagePreviewDetails(null)}\n />\n </div>\n )}\n <div\n className={classnames(\"ne-image-preview\", {\n \"image-loaded\": !isLoading,\n })}\n >\n <img\n alt={t(\"neetoEditor.editorContent.imagePreviewAltText\")}\n ref={imagePreviewRef}\n src={imagePreviewDetails.src}\n onKeyDown={handleKeyDown}\n onLoad={() => setIsLoading(false)}\n />\n {imagePreviewDetails && (\n <p className=\"ne-image-preview__caption\">\n {imagePreviewDetails.caption}\n </p>\n )}\n </div>\n </div>,\n document.body\n );\n};\n\nexport default ImagePreview;\n","const buildLinkSVG = () => {\n const svgNS = \"http://www.w3.org/2000/svg\";\n\n const svgWrapper = document.createElement(\"span\");\n svgWrapper.classList.add(\"header-link-icon-wrapper\");\n const svg = document.createElementNS(svgNS, \"svg\");\n svg.setAttribute(\"aria-hidden\", \"true\");\n svg.setAttribute(\"height\", \"20\");\n svg.setAttribute(\"viewBox\", \"0 0 16 16\");\n svg.setAttribute(\"width\", \"20\");\n\n const path = document.createElementNS(svgNS, \"path\");\n path.setAttribute(\n \"d\",\n \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n );\n\n svg.appendChild(path);\n svgWrapper.appendChild(svg);\n\n return svgWrapper;\n};\n\nconst convertTextToId = text =>\n text\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, \"\")\n .replace(/\\s+/g, \"-\");\n\nexport const buildHeaderLinks = editorContentNode => {\n const headerTags = editorContentNode.querySelectorAll(\n \"h1, h2, h3, h4, h5, h6\"\n );\n const usedIds = new Map();\n\n headerTags.forEach(heading => {\n if (heading.getAttribute(\"data-link\") === \"false\") {\n return;\n }\n\n let headingId = convertTextToId(heading.textContent);\n if (usedIds.has(headingId)) {\n const count = usedIds.get(headingId);\n usedIds.set(headingId, count + 1);\n headingId = `${headingId}-${count}`;\n } else usedIds.set(headingId, 1);\n\n heading.setAttribute(\"id\", headingId);\n\n const wrapper = document.createElement(\"div\");\n const anchor = document.createElement(\"a\");\n\n wrapper.classList.add(\"header-wrapper\");\n anchor.setAttribute(\"href\", `#${headingId}`);\n anchor.classList.add(\"header-wrapper__link\");\n anchor.appendChild(buildLinkSVG());\n\n wrapper.appendChild(heading.cloneNode(true));\n wrapper.appendChild(anchor);\n heading.replaceWith(wrapper);\n });\n};\n","export const handleTodoCheckboxClick = (event, editorContentRef, onChange) => {\n if (\n !(\n event.target.type === \"checkbox\" &&\n event.target.closest('ul[data-type=\"todoList\"] li[data-type=\"taskItem\"]')\n )\n ) {\n return;\n }\n\n const checkbox = event.target;\n const listItem = checkbox.closest(\"li\");\n\n if (listItem) {\n listItem.setAttribute(\"data-checked\", checkbox.checked.toString());\n\n if (checkbox.checked) {\n checkbox.setAttribute(\"checked\", \"checked\");\n } else {\n checkbox.removeAttribute(\"checked\");\n }\n\n onChange?.(editorContentRef?.innerHTML);\n }\n};\n\nexport const syncTodoCheckboxStates = editorContentRef => {\n if (!editorContentRef) return;\n\n const todoItems = editorContentRef.querySelectorAll(\n `ul[data-type=\"todoList\"] li[data-type=\"taskItem\"]`\n );\n\n todoItems.forEach(listItem => {\n const isChecked = listItem.getAttribute(\"data-checked\") === \"true\";\n const checkbox = listItem.querySelector('input[type=\"checkbox\"]');\n\n if (checkbox) {\n checkbox.checked = isChecked;\n\n if (isChecked) {\n checkbox.setAttribute(\"checked\", \"checked\");\n } else {\n checkbox.removeAttribute(\"checked\");\n }\n }\n });\n};\n","import { memo, useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport DOMPurify from \"dompurify\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { isNil } from \"ramda\";\nimport { createRoot } from \"react-dom/client\";\n\nimport { EDITOR_SIZES } from \"src/common/constants\";\nimport \"src/styles/editor/editor-content.scss\";\nimport { removeEmptyTags } from \"utils\";\n\nimport {\n EDITOR_CONTENT_CLASS_NAME,\n EDITOR_CONTENT_DEFAULT_CONFIGURATION,\n SANITIZE_OPTIONS,\n} from \"./constants\";\nimport ImagePreview from \"./ImagePreview\";\nimport {\n substituteVariables,\n applyLineHighlighting,\n applySyntaxHighlightingAndLineNumbers,\n convertPlainTextToHtml,\n} from \"./utils\";\nimport { buildHeaderLinks } from \"./utils/headers\";\nimport {\n handleTodoCheckboxClick,\n syncTodoCheckboxStates,\n} from \"./utils/todoCheckbox\";\n\nconst EditorContent = ({\n content = \"\",\n variables = [],\n className,\n size = EDITOR_SIZES.SMALL,\n configuration = EDITOR_CONTENT_DEFAULT_CONFIGURATION,\n onChange,\n onClick,\n ...otherProps\n}) => {\n const [imagePreviewDetails, setImagePreviewDetails] = useState(null);\n const editorContentRef = useRef(null);\n\n const htmlContent = convertPlainTextToHtml(\n substituteVariables(\n applySyntaxHighlightingAndLineNumbers(removeEmptyTags(content)),\n variables\n )\n );\n const sanitize = DOMPurify.sanitize;\n\n const handleContentClick = event => {\n handleTodoCheckboxClick(event, editorContentRef.current, onChange);\n\n onClick?.(event);\n };\n\n const injectCopyButtonToCodeBlocks = () => {\n const preTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASS_NAME} pre`\n );\n\n preTags.forEach(preTag => {\n const button = document.createElement(\"div\");\n button.className = \"neeto-editor-codeblock-options\";\n const root = createRoot(button);\n root.render(\n <CopyToClipboardButton\n size=\"small\"\n style=\"tertiary\"\n value={preTag.textContent}\n />\n );\n preTag.appendChild(button);\n });\n };\n\n const bindImageClickListener = () => {\n const figureTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASS_NAME} figure`\n );\n\n figureTags.forEach(figureTag => {\n const image = figureTag.querySelector(\"img\");\n const link = figureTag.querySelector(\"a\");\n if (isNil(image) || isNil(link)) return;\n\n figureTag.addEventListener(\"click\", event => {\n event.preventDefault();\n const caption = figureTag.querySelector(\"figcaption\").innerText;\n setImagePreviewDetails({ src: image.src, caption });\n });\n });\n };\n\n useEffect(() => {\n injectCopyButtonToCodeBlocks();\n bindImageClickListener();\n syncTodoCheckboxStates(editorContentRef.current);\n applyLineHighlighting(editorContentRef.current);\n configuration.enableHeaderLinks &&\n buildHeaderLinks(editorContentRef.current);\n }, [content]);\n\n return (\n <>\n <div\n data-testid=\"neeto-editor-content\"\n ref={editorContentRef}\n className={classnames(EDITOR_CONTENT_CLASS_NAME, {\n [className]: className,\n [`neeto-editor-size--${size}`]: true,\n })}\n dangerouslySetInnerHTML={{\n __html: sanitize(htmlContent, SANITIZE_OPTIONS),\n }}\n onClick={handleContentClick}\n {...otherProps}\n />\n {imagePreviewDetails && (\n <ImagePreview {...{ imagePreviewDetails, setImagePreviewDetails }} />\n )}\n </>\n );\n};\n\nexport default memo(EditorContent);\n"],"names":["ImagePreview","_ref","imagePreviewDetails","setImagePreviewDetails","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useTranslation","useTranslation","t","imagePreviewRef","useRef","useOnClickOutside","enabled","useEffect","current","setAttribute","focus","handleKeyDown","e","stopPropagation","key","createPortal","_jsxs","className","children","_jsx","Spinner","Button","icon","Close","style","onClick","classnames","alt","ref","src","onKeyDown","onLoad","caption","document","body","buildLinkSVG","svgNS","svgWrapper","createElement","classList","add","svg","createElementNS","path","appendChild","convertTextToId","text","trim","toLowerCase","replace","buildHeaderLinks","editorContentNode","headerTags","querySelectorAll","usedIds","Map","forEach","heading","getAttribute","headingId","textContent","has","count","get","set","concat","wrapper","anchor","cloneNode","replaceWith","handleTodoCheckboxClick","event","editorContentRef","onChange","target","type","closest","checkbox","listItem","checked","toString","removeAttribute","innerHTML","syncTodoCheckboxStates","todoItems","isChecked","querySelector","EditorContent","_ref$content","content","_ref$variables","variables","_ref$size","size","EDITOR_SIZES","SMALL","_ref$configuration","configuration","EDITOR_CONTENT_DEFAULT_CONFIGURATION","otherProps","_objectWithoutProperties","_excluded","htmlContent","convertPlainTextToHtml","substituteVariables","applySyntaxHighlightingAndLineNumbers","removeEmptyTags","sanitize","DOMPurify","handleContentClick","injectCopyButtonToCodeBlocks","_editorContentRef$cur","preTags","EDITOR_CONTENT_CLASS_NAME","preTag","button","root","createRoot","render","CopyToClipboardButton","value","bindImageClickListener","_editorContentRef$cur2","figureTags","figureTag","image","link","isNil","addEventListener","preventDefault","innerText","applyLineHighlighting","enableHeaderLinks","_Fragment","_objectSpread","_defineProperty","dangerouslySetInnerHTML","__html","SANITIZE_OPTIONS","memo"],"mappings":"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"}
1
+ {"version":3,"file":"EditorContent.js","sources":["../src/components/EditorContent/ImagePreview.jsx","../src/components/EditorContent/utils/headers.js","../src/components/EditorContent/utils/todoCheckbox.js","../src/components/EditorContent/index.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ImagePreview = ({ imagePreviewDetails, setImagePreviewDetails }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n const { t } = useTranslation();\n\n const imagePreviewRef = useRef(null);\n\n useOnClickOutside(imagePreviewRef, () => setImagePreviewDetails(null), {\n enabled: true,\n });\n\n useEffect(() => {\n if (!imagePreviewRef.current) return;\n\n imagePreviewRef.current.setAttribute(\"tabindex\", \"-1\");\n imagePreviewRef.current.focus();\n }, []);\n\n const handleKeyDown = e => {\n e.stopPropagation();\n e.key === \"Escape\" && setImagePreviewDetails(null);\n };\n\n return createPortal(\n <div className=\"ne-image-preview-wrapper active\">\n {isLoading && <Spinner className=\"ne-image-preview-wrapper__spinner\" />}\n {!isLoading && (\n <div className=\"close-button\">\n <Button\n icon={Close}\n style=\"secondary\"\n onClick={() => setImagePreviewDetails(null)}\n />\n </div>\n )}\n <div\n className={classnames(\"ne-image-preview\", {\n \"image-loaded\": !isLoading,\n })}\n >\n <img\n alt={t(\"neetoEditor.editorContent.imagePreviewAltText\")}\n ref={imagePreviewRef}\n src={imagePreviewDetails.src}\n onKeyDown={handleKeyDown}\n onLoad={() => setIsLoading(false)}\n />\n {imagePreviewDetails && (\n <p className=\"ne-image-preview__caption\">\n {imagePreviewDetails.caption}\n </p>\n )}\n </div>\n </div>,\n document.body\n );\n};\n\nexport default ImagePreview;\n","const buildLinkSVG = () => {\n const svgNS = \"http://www.w3.org/2000/svg\";\n\n const svgWrapper = document.createElement(\"span\");\n svgWrapper.classList.add(\"header-link-icon-wrapper\");\n const svg = document.createElementNS(svgNS, \"svg\");\n svg.setAttribute(\"aria-hidden\", \"true\");\n svg.setAttribute(\"height\", \"20\");\n svg.setAttribute(\"viewBox\", \"0 0 16 16\");\n svg.setAttribute(\"width\", \"20\");\n\n const path = document.createElementNS(svgNS, \"path\");\n path.setAttribute(\n \"d\",\n \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n );\n\n svg.appendChild(path);\n svgWrapper.appendChild(svg);\n\n return svgWrapper;\n};\n\nconst convertTextToId = text =>\n text\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, \"\")\n .replace(/\\s+/g, \"-\");\n\nexport const buildHeaderLinks = editorContentNode => {\n const headerTags = editorContentNode.querySelectorAll(\n \"h1, h2, h3, h4, h5, h6\"\n );\n const usedIds = new Map();\n\n headerTags.forEach(heading => {\n if (heading.getAttribute(\"data-link\") === \"false\") {\n return;\n }\n\n let headingId = convertTextToId(heading.textContent);\n if (usedIds.has(headingId)) {\n const count = usedIds.get(headingId);\n usedIds.set(headingId, count + 1);\n headingId = `${headingId}-${count}`;\n } else usedIds.set(headingId, 1);\n\n heading.setAttribute(\"id\", headingId);\n\n const wrapper = document.createElement(\"div\");\n const anchor = document.createElement(\"a\");\n\n wrapper.classList.add(\"header-wrapper\");\n anchor.setAttribute(\"href\", `#${headingId}`);\n anchor.classList.add(\"header-wrapper__link\");\n anchor.appendChild(buildLinkSVG());\n\n wrapper.appendChild(heading.cloneNode(true));\n wrapper.appendChild(anchor);\n heading.replaceWith(wrapper);\n });\n};\n","export const handleTodoCheckboxClick = (event, editorContentRef, onChange) => {\n if (\n !(\n event.target.type === \"checkbox\" &&\n event.target.closest('ul[data-type=\"todoList\"] li[data-type=\"taskItem\"]')\n )\n ) {\n return;\n }\n\n const checkbox = event.target;\n const listItem = checkbox.closest(\"li\");\n\n if (listItem) {\n listItem.setAttribute(\"data-checked\", checkbox.checked.toString());\n\n if (checkbox.checked) {\n checkbox.setAttribute(\"checked\", \"checked\");\n } else {\n checkbox.removeAttribute(\"checked\");\n }\n\n onChange?.(editorContentRef?.innerHTML);\n }\n};\n\nexport const syncTodoCheckboxStates = editorContentRef => {\n if (!editorContentRef) return;\n\n const todoItems = editorContentRef.querySelectorAll(\n `ul[data-type=\"todoList\"] li[data-type=\"taskItem\"]`\n );\n\n todoItems.forEach(listItem => {\n const isChecked = listItem.getAttribute(\"data-checked\") === \"true\";\n const checkbox = listItem.querySelector('input[type=\"checkbox\"]');\n\n if (checkbox) {\n checkbox.checked = isChecked;\n\n if (isChecked) {\n checkbox.setAttribute(\"checked\", \"checked\");\n } else {\n checkbox.removeAttribute(\"checked\");\n }\n }\n });\n};\n","import { memo, useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport DOMPurify from \"dompurify\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { isNil } from \"ramda\";\nimport { createRoot } from \"react-dom/client\";\n\nimport { EDITOR_SIZES } from \"src/common/constants\";\nimport \"src/styles/editor/editor-content.scss\";\nimport { removeEmptyTags } from \"utils\";\n\nimport {\n EDITOR_CONTENT_CLASS_NAME,\n EDITOR_CONTENT_DEFAULT_CONFIGURATION,\n SANITIZE_OPTIONS,\n} from \"./constants\";\nimport ImagePreview from \"./ImagePreview\";\nimport {\n substituteVariables,\n applyLineHighlighting,\n applySyntaxHighlightingAndLineNumbers,\n convertPlainTextToHtml,\n} from \"./utils\";\nimport { buildHeaderLinks } from \"./utils/headers\";\nimport {\n handleTodoCheckboxClick,\n syncTodoCheckboxStates,\n} from \"./utils/todoCheckbox\";\n\nconst EditorContent = ({\n content = \"\",\n variables = [],\n className,\n size = EDITOR_SIZES.SMALL,\n configuration = EDITOR_CONTENT_DEFAULT_CONFIGURATION,\n onChange,\n onClick,\n ...otherProps\n}) => {\n const [imagePreviewDetails, setImagePreviewDetails] = useState(null);\n const editorContentRef = useRef(null);\n\n const htmlContent = convertPlainTextToHtml(\n substituteVariables(\n applySyntaxHighlightingAndLineNumbers(removeEmptyTags(content)),\n variables\n )\n );\n const sanitize = DOMPurify.sanitize;\n\n const handleContentClick = event => {\n handleTodoCheckboxClick(event, editorContentRef.current, onChange);\n\n onClick?.(event);\n };\n\n const injectCopyButtonToCodeBlocks = () => {\n const preTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASS_NAME} pre`\n );\n\n preTags.forEach(preTag => {\n const button = document.createElement(\"div\");\n button.className = \"neeto-editor-codeblock-options\";\n const root = createRoot(button);\n root.render(\n <CopyToClipboardButton\n size=\"small\"\n style=\"tertiary\"\n value={preTag.textContent}\n />\n );\n preTag.appendChild(button);\n });\n };\n\n const bindImageClickListener = () => {\n const figureTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASS_NAME} figure`\n );\n\n figureTags.forEach(figureTag => {\n const image = figureTag.querySelector(\"img\");\n const link = figureTag.querySelector(\"a\");\n if (isNil(image) || isNil(link)) return;\n\n figureTag.addEventListener(\"click\", event => {\n event.preventDefault();\n const caption = figureTag.querySelector(\"figcaption\").innerText;\n setImagePreviewDetails({ src: image.src, caption });\n });\n });\n };\n\n useEffect(() => {\n injectCopyButtonToCodeBlocks();\n bindImageClickListener();\n syncTodoCheckboxStates(editorContentRef.current);\n applyLineHighlighting(editorContentRef.current);\n configuration.enableHeaderLinks &&\n buildHeaderLinks(editorContentRef.current);\n }, [content]);\n\n return (\n <>\n <div\n data-testid=\"neeto-editor-content\"\n ref={editorContentRef}\n className={classnames(EDITOR_CONTENT_CLASS_NAME, {\n [className]: className,\n [`neeto-editor-size--${size}`]: true,\n })}\n dangerouslySetInnerHTML={{\n __html: sanitize(htmlContent, SANITIZE_OPTIONS),\n }}\n onClick={handleContentClick}\n {...otherProps}\n />\n {imagePreviewDetails && (\n <ImagePreview {...{ imagePreviewDetails, setImagePreviewDetails }} />\n )}\n </>\n );\n};\n\nexport default memo(EditorContent);\n"],"names":["ImagePreview","_ref","imagePreviewDetails","setImagePreviewDetails","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useTranslation","useTranslation","t","imagePreviewRef","useRef","useOnClickOutside","enabled","useEffect","current","setAttribute","focus","handleKeyDown","e","stopPropagation","key","createPortal","_jsxs","className","children","_jsx","Spinner","Button","icon","Close","style","onClick","classnames","alt","ref","src","onKeyDown","onLoad","caption","document","body","buildLinkSVG","svgNS","svgWrapper","createElement","classList","add","svg","createElementNS","path","appendChild","convertTextToId","text","trim","toLowerCase","replace","buildHeaderLinks","editorContentNode","headerTags","querySelectorAll","usedIds","Map","forEach","heading","getAttribute","headingId","textContent","has","count","get","set","concat","wrapper","anchor","cloneNode","replaceWith","handleTodoCheckboxClick","event","editorContentRef","onChange","target","type","closest","checkbox","listItem","checked","toString","removeAttribute","innerHTML","syncTodoCheckboxStates","todoItems","isChecked","querySelector","EditorContent","_ref$content","content","_ref$variables","variables","_ref$size","size","EDITOR_SIZES","SMALL","_ref$configuration","configuration","EDITOR_CONTENT_DEFAULT_CONFIGURATION","otherProps","_objectWithoutProperties","_excluded","htmlContent","convertPlainTextToHtml","substituteVariables","applySyntaxHighlightingAndLineNumbers","removeEmptyTags","sanitize","DOMPurify","handleContentClick","injectCopyButtonToCodeBlocks","_editorContentRef$cur","preTags","EDITOR_CONTENT_CLASS_NAME","preTag","button","root","createRoot","render","CopyToClipboardButton","value","bindImageClickListener","_editorContentRef$cur2","figureTags","figureTag","image","link","isNil","addEventListener","preventDefault","innerText","applyLineHighlighting","enableHeaderLinks","_Fragment","_objectSpread","_defineProperty","dangerouslySetInnerHTML","__html","SANITIZE_OPTIONS","memo"],"mappings":"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"}
@@ -8,18 +8,17 @@ import Editor from './Editor.js';
8
8
  import { jsx } from 'react/jsx-runtime';
9
9
  import '@babel/runtime/helpers/toConsumableArray';
10
10
  import '@babel/runtime/helpers/slicedToArray';
11
- import './chunk-BOSqhXe9.js';
11
+ import './chunk-BLXUWWgi.js';
12
12
  import './chunk-CBN5naeP.js';
13
13
  import 'tippy.js';
14
14
  import 'react-dom';
15
15
  import 'axios';
16
16
  import '@bigbinary/neeto-commons-frontend/react-utils';
17
17
  import 'zustand';
18
- import './chunk-C2dztUxs.js';
19
18
  import 'classnames';
20
19
  import './chunk-DDwycKmK.js';
21
20
  import '@bigbinary/neetoui/Label';
22
- import './chunk-DRyQ5gRT.js';
21
+ import './chunk-Dj7lS7Cs.js';
23
22
  import './chunk-BR5ZkH7J.js';
24
23
  import './chunk-BFTU3MAI.js';
25
24
  import '@bigbinary/neeto-commons-frontend/initializers';
@@ -27,13 +26,14 @@ import '@babel/runtime/helpers/asyncToGenerator';
27
26
  import '@babel/runtime/regenerator';
28
27
  import '@tanstack/react-query';
29
28
  import 'yjs';
29
+ import './chunk-C2dztUxs.js';
30
30
  import './chunk-bG6hOjuU.js';
31
31
  import './chunk-CF5f8-fy.js';
32
32
  import 'i18next';
33
33
  import 'yup';
34
34
  import 'react-dom/server';
35
35
  import '@bigbinary/neeto-icons/misc/Megaphone';
36
- import './chunk-BDcN2CWH.js';
36
+ import './chunk-BKsyn0lE.js';
37
37
  import '@bigbinary/neeto-icons/TextH1';
38
38
  import '@bigbinary/neeto-icons/TextH2';
39
39
  import '@bigbinary/neeto-icons/TextH3';
@@ -131,8 +131,7 @@ import '@bigbinary/neeto-icons/MergeSplit';
131
131
  import '@bigbinary/neeto-icons/ToggleHeaderRow';
132
132
  import '@bigbinary/neeto-icons/Edit';
133
133
  import '@bigbinary/neeto-icons/Articles';
134
- import './chunk-0yZ5QmzV.js';
135
- import './chunk-CVfGOKt4.js';
134
+ import './chunk-BO6bjSuY.js';
136
135
  import '@bigbinary/neeto-commons-frontend/react-utils/useOnClickOutside';
137
136
  import '@bigbinary/neeto-icons/MenuVertical';
138
137
  import '@bigbinary/neetoui/Alert';
@@ -1 +1 @@
1
- {"version":3,"file":"FormikEditor.js","sources":["../src/components/Editor/FormikEditor.jsx"],"sourcesContent":["import { forwardRef, memo } from \"react\";\n\nimport { FastField } from \"formik\";\nimport { noop } from \"neetocist\";\nimport { path, pluck } from \"ramda\";\n\nimport Editor from \".\";\n\nconst FormikEditor = (\n {\n name,\n onChange = noop,\n shouldUpdate,\n attachments = [],\n mentions = [],\n variables = [],\n ...otherProps\n },\n ref\n) => {\n // Similar to the `shouldComponentUpdate` logic of FastField component.\n // https://github.com/jaredpalmer/formik/blob/main/packages/formik/src/FastField.tsx#L75-L93\n // Additionally calls the shouldUpdate function passed from the host application and compares to\n // the rest of the values.\n const internalShouldUpdate = (prevProps, nextProps) => {\n const prevFormikProps = prevProps.formik;\n const nextFormikProps = nextProps.formik;\n\n const pathParts = name.split(\".\");\n const prevError = path(pathParts, prevFormikProps.errors);\n const nextError = path(pathParts, nextFormikProps.errors);\n const prevTouched = path(pathParts, prevFormikProps.touched);\n const nextTouched = path(pathParts, nextFormikProps.touched);\n const prevAttachments = pluck(\"signedId\", prevProps.attachments).join(\"|\");\n const nextAttachments = pluck(\"signedId\", nextProps.attachments).join(\"|\");\n\n return (\n prevError !== nextError ||\n prevTouched !== nextTouched ||\n Object.keys(nextProps).length !== Object.keys(prevProps).length ||\n prevFormikProps.isSubmitting !== nextFormikProps.isSubmitting ||\n prevAttachments !== nextAttachments ||\n Boolean(shouldUpdate?.(prevProps, nextProps))\n );\n };\n\n return (\n <FastField\n {...{ attachments, mentions, name, variables }}\n shouldUpdate={internalShouldUpdate}\n >\n {({ field, form, meta }) => (\n <Editor\n {...{ attachments, mentions, name, ref, variables }}\n error={meta.touched ? meta.error : \"\"}\n initialValue={field.value}\n onBlur={() => {\n form.setFieldTouched(name, true);\n }}\n onChange={value => {\n form.setFieldValue(name, value);\n onChange?.(value);\n }}\n {...otherProps}\n />\n )}\n </FastField>\n );\n};\n\nFormikEditor.displayName = \"FormikNeetoEditor\";\n\nexport default memo(forwardRef(FormikEditor));\n"],"names":["FormikEditor","_ref","ref","name","_ref$onChange","onChange","noop","shouldUpdate","_ref$attachments","attachments","_ref$mentions","mentions","_ref$variables","variables","otherProps","_objectWithoutProperties","_excluded","internalShouldUpdate","prevProps","nextProps","prevFormikProps","formik","nextFormikProps","pathParts","split","prevError","path","errors","nextError","prevTouched","touched","nextTouched","prevAttachments","pluck","join","nextAttachments","Object","keys","length","isSubmitting","Boolean","_jsx","FastField","children","_ref2","field","form","meta","Editor","_objectSpread","error","initialValue","value","onBlur","setFieldTouched","setFieldValue","displayName","memo","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"FormikEditor.js","sources":["../src/components/Editor/FormikEditor.jsx"],"sourcesContent":["import { forwardRef, memo } from \"react\";\n\nimport { FastField } from \"formik\";\nimport { noop } from \"neetocist\";\nimport { path, pluck } from \"ramda\";\n\nimport Editor from \".\";\n\nconst FormikEditor = (\n {\n name,\n onChange = noop,\n shouldUpdate,\n attachments = [],\n mentions = [],\n variables = [],\n ...otherProps\n },\n ref\n) => {\n // Similar to the `shouldComponentUpdate` logic of FastField component.\n // https://github.com/jaredpalmer/formik/blob/main/packages/formik/src/FastField.tsx#L75-L93\n // Additionally calls the shouldUpdate function passed from the host application and compares to\n // the rest of the values.\n const internalShouldUpdate = (prevProps, nextProps) => {\n const prevFormikProps = prevProps.formik;\n const nextFormikProps = nextProps.formik;\n\n const pathParts = name.split(\".\");\n const prevError = path(pathParts, prevFormikProps.errors);\n const nextError = path(pathParts, nextFormikProps.errors);\n const prevTouched = path(pathParts, prevFormikProps.touched);\n const nextTouched = path(pathParts, nextFormikProps.touched);\n const prevAttachments = pluck(\"signedId\", prevProps.attachments).join(\"|\");\n const nextAttachments = pluck(\"signedId\", nextProps.attachments).join(\"|\");\n\n return (\n prevError !== nextError ||\n prevTouched !== nextTouched ||\n Object.keys(nextProps).length !== Object.keys(prevProps).length ||\n prevFormikProps.isSubmitting !== nextFormikProps.isSubmitting ||\n prevAttachments !== nextAttachments ||\n Boolean(shouldUpdate?.(prevProps, nextProps))\n );\n };\n\n return (\n <FastField\n {...{ attachments, mentions, name, variables }}\n shouldUpdate={internalShouldUpdate}\n >\n {({ field, form, meta }) => (\n <Editor\n {...{ attachments, mentions, name, ref, variables }}\n error={meta.touched ? meta.error : \"\"}\n initialValue={field.value}\n onBlur={() => {\n form.setFieldTouched(name, true);\n }}\n onChange={value => {\n form.setFieldValue(name, value);\n onChange?.(value);\n }}\n {...otherProps}\n />\n )}\n </FastField>\n );\n};\n\nFormikEditor.displayName = \"FormikNeetoEditor\";\n\nexport default memo(forwardRef(FormikEditor));\n"],"names":["FormikEditor","_ref","ref","name","_ref$onChange","onChange","noop","shouldUpdate","_ref$attachments","attachments","_ref$mentions","mentions","_ref$variables","variables","otherProps","_objectWithoutProperties","_excluded","internalShouldUpdate","prevProps","nextProps","prevFormikProps","formik","nextFormikProps","pathParts","split","prevError","path","errors","nextError","prevTouched","touched","nextTouched","prevAttachments","pluck","join","nextAttachments","Object","keys","length","isSubmitting","Boolean","_jsx","FastField","children","_ref2","field","form","meta","Editor","_objectSpread","error","initialValue","value","onBlur","setFieldTouched","setFieldValue","displayName","memo","forwardRef"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAUhBC,GAAG,EACA;AAAA,EAAA,IATDC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAAC,aAAA,GAAAH,IAAA,CACJI,QAAQ;AAARA,IAAAA,SAAQ,GAAAD,aAAA,KAAA,MAAA,GAAGE,IAAI,GAAAF,aAAA;IACfG,YAAY,GAAAN,IAAA,CAAZM,YAAY;IAAAC,gBAAA,GAAAP,IAAA,CACZQ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,aAAA,GAAAT,IAAA,CAChBU,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IAAAE,cAAA,GAAAX,IAAA,CACbY,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;AACXE,IAAAA,UAAU,GAAAC,wBAAA,CAAAd,IAAA,EAAAe,SAAA,CAAA;AAIf;AACA;AACA;AACA;EACA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,SAAS,EAAEC,SAAS,EAAK;AACrD,IAAA,IAAMC,eAAe,GAAGF,SAAS,CAACG,MAAM;AACxC,IAAA,IAAMC,eAAe,GAAGH,SAAS,CAACE,MAAM;AAExC,IAAA,IAAME,SAAS,GAAGpB,IAAI,CAACqB,KAAK,CAAC,GAAG,CAAC;IACjC,IAAMC,SAAS,GAAGC,IAAI,CAACH,SAAS,EAAEH,eAAe,CAACO,MAAM,CAAC;IACzD,IAAMC,SAAS,GAAGF,IAAI,CAACH,SAAS,EAAED,eAAe,CAACK,MAAM,CAAC;IACzD,IAAME,WAAW,GAAGH,IAAI,CAACH,SAAS,EAAEH,eAAe,CAACU,OAAO,CAAC;IAC5D,IAAMC,WAAW,GAAGL,IAAI,CAACH,SAAS,EAAED,eAAe,CAACQ,OAAO,CAAC;AAC5D,IAAA,IAAME,eAAe,GAAGC,KAAK,CAAC,UAAU,EAAEf,SAAS,CAACT,WAAW,CAAC,CAACyB,IAAI,CAAC,GAAG,CAAC;AAC1E,IAAA,IAAMC,eAAe,GAAGF,KAAK,CAAC,UAAU,EAAEd,SAAS,CAACV,WAAW,CAAC,CAACyB,IAAI,CAAC,GAAG,CAAC;IAE1E,OACET,SAAS,KAAKG,SAAS,IACvBC,WAAW,KAAKE,WAAW,IAC3BK,MAAM,CAACC,IAAI,CAAClB,SAAS,CAAC,CAACmB,MAAM,KAAKF,MAAM,CAACC,IAAI,CAACnB,SAAS,CAAC,CAACoB,MAAM,IAC/DlB,eAAe,CAACmB,YAAY,KAAKjB,eAAe,CAACiB,YAAY,IAC7DP,eAAe,KAAKG,eAAe,IACnCK,OAAO,CAACjC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAGW,SAAS,EAAEC,SAAS,CAAC,CAAC;EAEjD,CAAC;EAED,oBACEsB,GAAA,CAACC,SAAS,EAAA;AACFjC,IAAAA,WAAW,EAAXA,WAAW;AAAEE,IAAAA,QAAQ,EAARA,QAAQ;AAAER,IAAAA,IAAI,EAAJA,IAAI;AAAEU,IAAAA,SAAS,EAATA,SAAS;AAC5CN,IAAAA,YAAY,EAAEU,oBAAqB;IAAA0B,QAAA,EAElC,SAAAA,QAAAA,CAAAC,KAAA,EAAA;AAAA,MAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;QAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;QAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI;AAAA,MAAA,oBACnBN,GAAA,CAACO,MAAM,EAAAC,aAAA,CAAA;AACCxC,QAAAA,WAAW,EAAXA,WAAW;AAAEE,QAAAA,QAAQ,EAARA,QAAQ;AAAER,QAAAA,IAAI,EAAJA,IAAI;AAAED,QAAAA,GAAG,EAAHA,GAAG;AAAEW,QAAAA,SAAS,EAATA,SAAS;QACjDqC,KAAK,EAAEH,IAAI,CAACjB,OAAO,GAAGiB,IAAI,CAACG,KAAK,GAAG,EAAG;QACtCC,YAAY,EAAEN,KAAK,CAACO,KAAM;QAC1BC,MAAM,EAAE,SAAAA,MAAAA,GAAM;AACZP,UAAAA,IAAI,CAACQ,eAAe,CAACnD,IAAI,EAAE,IAAI,CAAC;QAClC,CAAE;AACFE,QAAAA,QAAQ,EAAE,SAAAA,QAAAA,CAAA+C,KAAK,EAAI;AACjBN,UAAAA,IAAI,CAACS,aAAa,CAACpD,IAAI,EAAEiD,KAAK,CAAC;AAC/B/C,UAAAA,SAAQ,aAARA,SAAQ,KAAA,MAAA,IAARA,SAAQ,CAAG+C,KAAK,CAAC;AACnB,QAAA;OAAE,EACEtC,UAAU,CACf,CAAC;AAAA,IAAA;AACH,GACQ,CAAC;AAEhB,CAAC;AAEDd,YAAY,CAACwD,WAAW,GAAG,mBAAmB;AAE9C,2BAAA,aAAeC,IAAI,cAACC,UAAU,CAAC1D,YAAY,CAAC,CAAC;;;;"}
package/dist/Menu.js CHANGED
@@ -3,16 +3,9 @@ import '@babel/runtime/helpers/toConsumableArray';
3
3
  import '@babel/runtime/helpers/slicedToArray';
4
4
  import 'react';
5
5
  import 'ramda';
6
- import './chunk-BOSqhXe9.js';
7
- export { M as default } from './chunk-BDcN2CWH.js';
6
+ export { M as default } from './chunk-BKsyn0lE.js';
8
7
  import './chunk-CF5f8-fy.js';
9
8
  import 'react/jsx-runtime';
10
- import './chunk-CBN5naeP.js';
11
- import 'tippy.js';
12
- import 'react-dom';
13
- import 'axios';
14
- import '@bigbinary/neeto-commons-frontend/react-utils';
15
- import 'zustand';
16
9
  import './chunk-C2dztUxs.js';
17
10
  import 'i18next';
18
11
  import '@bigbinary/neeto-icons/TextH1';
@@ -21,6 +14,13 @@ import '@bigbinary/neeto-icons/TextH3';
21
14
  import '@bigbinary/neeto-icons/TextH4';
22
15
  import '@bigbinary/neeto-icons/TextH5';
23
16
  import '@bigbinary/neeto-icons/TextP';
17
+ import './chunk-BLXUWWgi.js';
18
+ import './chunk-CBN5naeP.js';
19
+ import 'tippy.js';
20
+ import 'react-dom';
21
+ import 'axios';
22
+ import '@bigbinary/neeto-commons-frontend/react-utils';
23
+ import 'zustand';
24
24
  import 'classnames';
25
25
  import './chunk-DDwycKmK.js';
26
26
  import '@bigbinary/neeto-cist';
@@ -10,7 +10,6 @@ import { removeBy, noop, isPresent, isNotEmpty } from '@bigbinary/neeto-cist';
10
10
  import { mergeRight, isEmpty, assoc } from 'ramda';
11
11
  import { useTranslation, Trans } from 'react-i18next';
12
12
  import { d as directUploadsApi, F as FileIcon, u as useDropFiles } from './chunk-BFKmIsWV.js';
13
- import './chunk-CVfGOKt4.js';
14
13
  import { D as DEFAULT_FILE_UPLOAD_CONFIG, a as ATTACHMENT_OPTIONS, F as File, u as useFileUploader } from './chunk-KiXJWA8i.js';
15
14
  import { Check, X, EllipsisVertical } from 'lucide-react';
16
15
  import useOnClickOutside from '@bigbinary/neeto-commons-frontend/v2/react-utils/useOnClickOutside';
@@ -382,7 +381,7 @@ var AttachmentProgress = function AttachmentProgress(_ref) {
382
381
  };
383
382
 
384
383
  var Preview = /*#__PURE__*/lazy(function () {
385
- return import('./chunk-B5ZO6MSb.js');
384
+ return import('./chunk-DtQctlVh.js');
386
385
  });
387
386
  var Attachments = function Attachments(_ref, ref) {
388
387
  var _fileUploadConfig$all;
@@ -552,4 +551,4 @@ Attachments.displayName = "NeetoEditorAttachments";
552
551
  var Attachments$1 = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(Attachments));
553
552
 
554
553
  export { Attachments$1 as A, checkPreviewAvailability as c, downloadFile as d };
555
- //# sourceMappingURL=chunk-kSsvM8aH.js.map
554
+ //# sourceMappingURL=chunk--BjpQHaY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk--BjpQHaY.js","sources":["../src/v2/components/Attachments/utils.js","../src/v2/components/Attachments/Attachment.jsx","../src/v2/components/Attachments/AttachmentProgress.jsx","../src/v2/components/Attachments/index.jsx"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { mergeRight } from \"ramda\";\n\nimport { DEFAULT_FILE_UPLOAD_CONFIG } from \"./constants\";\n\nexport const buildFileUploadConfig = config =>\n mergeRight(DEFAULT_FILE_UPLOAD_CONFIG, config);\n\nexport const downloadFile = async (fileUrl, filename) => {\n try {\n const response = await fetch(fileUrl);\n const blob = await response.blob();\n const blobUrl = URL.createObjectURL(blob);\n\n const a = document.createElement(\"a\");\n a.href = blobUrl;\n a.setAttribute(\"download\", filename);\n a.style.display = \"none\";\n document.body.appendChild(a);\n\n a.click();\n\n document.body.removeChild(a);\n URL.revokeObjectURL(blobUrl);\n } catch (error) {\n Toastr.error(error);\n }\n};\n\nexport const checkPreviewAvailability = contentType =>\n contentType &&\n (contentType.startsWith(\"video/\") ||\n contentType === \"application/pdf\" ||\n contentType === \"image/jpeg\" ||\n contentType === \"image/gif\" ||\n contentType === \"image/png\" ||\n contentType === \"image/webp\" ||\n contentType === \"text/plain\" ||\n contentType === \"image/bmp\" ||\n contentType === \"application/msword\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" ||\n contentType === \"image/jpg\" ||\n contentType === \"application/vnd.ms-powerpoint\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\" ||\n contentType === \"image/tiff\" ||\n contentType === \"application/vnd.ms-excel\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\n","import { useState, useRef } from \"react\";\n\nimport {\n Alert,\n Button,\n DropdownMenu,\n Input,\n Spinner,\n Toastr,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Check, EllipsisVertical, X } from \"lucide-react\";\nimport { removeBy } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/v2/react-utils/useOnClickOutside\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { isEmpty, assoc } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport FileIcon from \"src/v2/components/Common/FileIcon\";\n\nimport { ATTACHMENT_OPTIONS } from \"./constants\";\nimport { downloadFile } from \"./utils\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst Attachment = ({\n attachment,\n attachments,\n disabled,\n onChange,\n setSelectedAttachment,\n isLoading,\n allowDelete,\n allowOpenInNewTab,\n}) => {\n const { t } = useTranslation();\n\n const [isRenaming, setIsRenaming] = useState(false);\n const [isUpdating, setIsUpdating] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isDeleting, setIsDeleting] = useState(false);\n const [newFilename, setNewFilename] = useState(\"\");\n\n const renameRef = useRef(null);\n\n useOnClickOutside(renameRef, () => {\n if (!isRenaming) return;\n setIsRenaming(false);\n setNewFilename(\"\");\n });\n\n const handleDownload = () =>\n downloadFile(attachment.url, attachment.filename);\n\n const handleOpenInNewTab = () =>\n window.open(attachment.url, \"_blank\", \"noopener,noreferrer\");\n\n const handleRename = async () => {\n try {\n setIsUpdating(true);\n const { signedId } = attachment;\n const payload = { blob: { filename: newFilename } };\n\n const response = await directUploadsApi.update({ signedId, payload });\n const filename = response.data?.blob?.filename || response.blob.filename;\n\n onChange(\n attachments.map(attachment =>\n attachment.signedId === signedId\n ? assoc(\"filename\", filename, attachment)\n : attachment\n )\n );\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsRenaming(false);\n setIsUpdating(false);\n setNewFilename(\"\");\n }\n };\n\n const handleDelete = async () => {\n if (!allowDelete) return;\n\n setIsDeleting(true);\n try {\n const { signedId } = attachment;\n await directUploadsApi.destroy(signedId);\n onChange(removeBy({ signedId }, attachments));\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const handlers = {\n ...(allowOpenInNewTab && {\n [ATTACHMENT_OPTIONS.OPEN_IN_NEW_TAB]: handleOpenInNewTab,\n }),\n [ATTACHMENT_OPTIONS.DOWNLOAD]: handleDownload,\n [ATTACHMENT_OPTIONS.RENAME]: handleRename,\n ...(allowDelete && { [ATTACHMENT_OPTIONS.DELETE]: handleDelete }),\n };\n\n const onMenuItemClick = ({ key, handler }) => {\n if (key === ATTACHMENT_OPTIONS.RENAME) {\n setIsRenaming(true);\n setNewFilename(attachment.filename);\n } else if (key === ATTACHMENT_OPTIONS.DELETE) {\n setNewFilename(attachment.filename);\n setIsDeleteAlertOpen(true);\n } else {\n handler();\n }\n };\n\n const handleKeyDown = ({ event, key }) => {\n const handler = handlers[key];\n\n if (event.key === \"Enter\" && handler && !isEmpty(newFilename)) {\n event.stopPropagation();\n event.preventDefault();\n handler();\n }\n\n if (event.key === \"Escape\") {\n setIsRenaming(false);\n setNewFilename(\"\");\n }\n };\n\n return (\n <>\n <div\n className=\"ne-attachments__preview\"\n data-testid=\"ne-attachments-wrapper\"\n >\n {isRenaming ? (\n <div ref={renameRef}>\n <Tooltip content={newFilename} position=\"top\">\n <Input\n autoFocus\n data-testid=\"neeto-editor-preview-rename-input\"\n size=\"small\"\n value={newFilename}\n error={\n isEmpty(newFilename)\n ? t(\"neetoEditor.attachments.nameEmpty\")\n : \"\"\n }\n suffix={\n <div className=\"flex items-center justify-end\">\n <Button\n data-testid=\"neeto-editor-preview-rename-submit-button\"\n disabled={isEmpty(newFilename) || isUpdating}\n icon={Check}\n loading={isUpdating}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleRename}\n />\n <Button\n data-testid=\"neeto-editor-preview-rename-cancel-button\"\n disabled={isUpdating}\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => {\n setIsRenaming(false);\n setNewFilename(\"\");\n }}\n />\n </div>\n }\n onChange={withEventTargetValue(setNewFilename)}\n onKeyDown={event =>\n handleKeyDown({\n event,\n key: ATTACHMENT_OPTIONS.RENAME,\n })\n }\n />\n </Tooltip>\n </div>\n ) : (\n <>\n <div\n className=\"ne-attachments__preview-wrapper\"\n onClick={() => setSelectedAttachment(attachment)}\n >\n <FileIcon\n className=\"ne-attachments__preview-wrapper__icon\"\n fileName={attachment.filename}\n />\n <Tooltip content={attachment.filename} position=\"top\">\n <Typography variant=\"body2\">{attachment.filename}</Typography>\n </Tooltip>\n {isLoading && <Spinner className=\"attachment-button-loader\" />}\n </div>\n <Tooltip\n content={t(\"neetoEditor.attachments.actionsBlocked\")}\n disabled={!disabled}\n position=\"top\"\n >\n <DropdownMenu\n {...{ disabled }}\n // neeto-atoms's default rich trigger always appends a\n // ChevronDown as trailing icon. For an ellipsis \"more\n // actions\" button the ellipsis itself signals a menu —\n // use customTarget to render the icon-only button without\n // the redundant chevron.\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n customTarget={\n <Button\n {...{ disabled }}\n data-testid=\"neeto-editor-attachment-actions\"\n icon={EllipsisVertical}\n size=\"sm\"\n variant=\"ghost\"\n />\n }\n >\n <Menu>\n {Object.entries(handlers).map(([label, handler]) => (\n <MenuItem\n data-testid={`neeto-editor-preview-${label.toLowerCase()}-button`}\n key={label}\n onClick={() => onMenuItemClick({ key: label, handler })}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n </DropdownMenu>\n </Tooltip>\n </>\n )}\n </div>\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n style=\"danger\"\n submitButtonLabel={t(\"neetoEditor.menu.delete\")}\n title={t(\"neetoEditor.attachments.deleteTitle\")}\n message={\n <Trans\n i18nKey=\"neetoEditor.attachments.deleteConfirmation\"\n values={{ entity: newFilename }}\n />\n }\n onClose={() => setIsDeleteAlertOpen(false)}\n onSubmit={handleDelete}\n />\n </>\n );\n};\n\nexport default Attachment;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { FileIcon } from \"react-file-icon\";\n\nconst AttachmentProgress = ({ attachment, cancelUpload }) => {\n const progressPercentage = `${attachment.progress ?? 0}%`;\n\n const handleCancel = () => {\n cancelUpload(attachment.id);\n };\n\n return (\n <div className=\"ne-attachments__preview\">\n <div className=\"ne-attachments__preview__progress-icon\">\n <FileIcon />\n </div>\n <div className=\"ne-attachments__preview__progress\">\n <Typography variant=\"body2\">{attachment.filename}</Typography>\n <Typography variant=\"body2\">{progressPercentage}</Typography>\n </div>\n <Button\n data-testid=\"neeto-editor-preview-upload-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleCancel}\n />\n </div>\n );\n};\n\nexport default AttachmentProgress;\n","import {\n forwardRef,\n useRef,\n useState,\n useImperativeHandle,\n lazy,\n Suspense,\n useMemo,\n memo,\n} from \"react\";\n\nimport { Button, Toastr } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isNotEmpty, isPresent, noop } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport useFileUploader from \"src/v2/hooks/useFileUploader\";\n\nimport Attachment from \"./Attachment\";\nimport AttachmentProgress from \"./AttachmentProgress\";\nimport { buildFileUploadConfig } from \"./utils\";\n\nconst Preview = lazy(() => import(\"./Preview\"));\n\nconst Attachments = (\n {\n attachments = [],\n className = \"\",\n onChange = noop,\n isIndependent = true,\n disabled = false,\n dragDropRef = null,\n config = {},\n setIsUploading = noop,\n allowDelete = true,\n allowOpenInNewTab = true,\n },\n ref\n) => {\n const { t } = useTranslation();\n\n const [selectedAttachment, setSelectedAttachment] = useState({});\n const [didFetchPreviewBundle, setDidFetchPreviewBundle] = useState(false);\n\n const attachmentInputRef = useRef(null);\n\n const fileUploadConfig = useMemo(\n () => buildFileUploadConfig(config),\n [config]\n );\n\n const { addFiles, uploadFiles, queuedFiles, cancelUpload, isUploading } =\n useFileUploader({\n config: fileUploadConfig,\n setIsUploadingOnHost: setIsUploading,\n attachments,\n });\n\n const handleAddFile = async event => {\n addFiles(event.target.files);\n const uploadedFiles = await uploadFiles();\n isNotEmpty(uploadedFiles) && onChange([...attachments, ...uploadedFiles]);\n attachmentInputRef.current.value = null;\n };\n\n const handleUploadAttachments = () => attachmentInputRef.current.click();\n\n const handleFileInputClick = event => {\n if (!(!isEmpty(attachments) && fileUploadConfig.maxNumberOfFiles === 1)) {\n return;\n }\n event.preventDefault();\n Toastr.warning(t(\"neetoEditor.attachments.oneAttachmentAllowed\"));\n };\n\n useImperativeHandle(ref, () => ({ handleUploadAttachments }), []);\n\n const handleFilesDrop = async files => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n isNotEmpty(uploadedFiles) && onChange([...attachments, ...uploadedFiles]);\n };\n\n useDropFiles({\n dropTargetRef: dragDropRef,\n attachments,\n onDrop: handleFilesDrop,\n });\n\n return (\n <div className={classnames(\"ne-attachments\", { [className]: className })}>\n <div className=\"ne-attachments__items\">\n {attachments.map(attachment => (\n <Attachment\n {...{\n allowDelete,\n allowOpenInNewTab,\n attachment,\n attachments,\n disabled,\n onChange,\n setSelectedAttachment,\n }}\n key={attachment.signedId}\n isLoading={\n !didFetchPreviewBundle &&\n selectedAttachment.url === attachment.url\n }\n />\n ))}\n {queuedFiles.map(attachment => (\n <AttachmentProgress\n {...{ attachment, cancelUpload }}\n key={attachment.id}\n />\n ))}\n </div>\n <div>\n {isIndependent && (\n <Button\n data-testid=\"neeto-editor-attachments-upload-button\"\n disabled={isUploading}\n label={t(\"neetoEditor.attachments.add\")}\n loading={isUploading}\n variant=\"link\"\n onClick={handleUploadAttachments}\n />\n )}\n <input\n accept={fileUploadConfig.allowedFileTypes?.join(\",\")}\n multiple={fileUploadConfig.maxNumberOfFiles !== 1}\n ref={attachmentInputRef}\n type=\"file\"\n onChange={handleAddFile}\n onClick={handleFileInputClick}\n />\n <Suspense fallback={<span />}>\n {isPresent(selectedAttachment) && (\n <Preview\n {...{\n attachments,\n selectedAttachment,\n setDidFetchPreviewBundle,\n setSelectedAttachment,\n }}\n onClose={() => setSelectedAttachment({})}\n />\n )}\n </Suspense>\n </div>\n </div>\n );\n};\n\nAttachments.displayName = \"NeetoEditorAttachments\";\n\nexport default memo(forwardRef(Attachments));\n"],"names":["buildFileUploadConfig","config","mergeRight","DEFAULT_FILE_UPLOAD_CONFIG","downloadFile","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fileUrl","filename","response","blob","blobUrl","a","wrap","_callee$","_context","prev","next","fetch","sent","URL","createObjectURL","document","createElement","href","setAttribute","style","display","body","appendChild","click","removeChild","revokeObjectURL","t0","Toastr","error","stop","_x","_x2","apply","arguments","checkPreviewAvailability","contentType","startsWith","Menu","DropdownMenu","MenuItem","Attachment","attachment","attachments","disabled","onChange","setSelectedAttachment","isLoading","allowDelete","allowOpenInNewTab","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isRenaming","setIsRenaming","_useState3","_useState4","isUpdating","setIsUpdating","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isDeleting","setIsDeleting","_useState9","_useState0","newFilename","setNewFilename","renameRef","useRef","useOnClickOutside","handleDownload","url","handleOpenInNewTab","window","open","handleRename","_ref2","_response$data","signedId","payload","directUploadsApi","update","data","map","assoc","finish","handleDelete","_ref3","_callee2","_callee2$","_context2","abrupt","destroy","removeBy","handlers","_objectSpread","_defineProperty","ATTACHMENT_OPTIONS","OPEN_IN_NEW_TAB","DOWNLOAD","RENAME","DELETE","onMenuItemClick","_ref6","key","handler","handleKeyDown","_ref7","event","isEmpty","stopPropagation","preventDefault","_jsxs","_Fragment","children","_jsx","className","ref","Tooltip","content","position","Input","autoFocus","size","value","suffix","Button","icon","Check","loading","variant","onClick","X","withEventTargetValue","onKeyDown","FileIcon","fileName","Typography","Spinner","dropdownProps","customTarget","EllipsisVertical","Object","entries","_ref8","_ref9","label","concat","toLowerCase","Alert","isOpen","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","entity","onClose","onSubmit","AttachmentProgress","_attachment$progress","cancelUpload","progressPercentage","progress","handleCancel","id","Preview","lazy","Attachments","_fileUploadConfig$all","_ref$attachments","_ref$className","_ref$onChange","noop","_ref$isIndependent","isIndependent","_ref$disabled","_ref$dragDropRef","dragDropRef","_ref$config","_ref$setIsUploading","setIsUploading","_ref$allowDelete","_ref$allowOpenInNewTa","selectedAttachment","didFetchPreviewBundle","setDidFetchPreviewBundle","attachmentInputRef","fileUploadConfig","useMemo","_useFileUploader","useFileUploader","setIsUploadingOnHost","addFiles","uploadFiles","queuedFiles","isUploading","handleAddFile","uploadedFiles","target","files","isNotEmpty","_toConsumableArray","current","handleUploadAttachments","handleFileInputClick","maxNumberOfFiles","warning","useImperativeHandle","handleFilesDrop","useDropFiles","dropTargetRef","onDrop","classnames","_createElement","accept","allowedFileTypes","join","multiple","type","Suspense","fallback","isPresent","displayName","memo","forwardRef"],"mappings":"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"}
@@ -9,7 +9,7 @@ import { isEmpty } from 'ramda';
9
9
  import { D as DocViewer, a as DocViewerRenderers } from './chunk-CeoqieEt.js';
10
10
  import { useTranslation, Trans } from 'react-i18next';
11
11
  import { c as convertToFileSize } from './chunk-xCgPoq9w.js';
12
- import { d as downloadFile, c as checkPreviewAvailability, a as ATTACHMENTS_PREVIEW_DATA_CY } from './chunk-0yZ5QmzV.js';
12
+ import { d as downloadFile, c as checkPreviewAvailability, a as ATTACHMENTS_PREVIEW_DATA_CY } from './chunk-BO6bjSuY.js';
13
13
  import { jsxs, jsx } from 'react/jsx-runtime';
14
14
  import './chunk-BFTU3MAI.js';
15
15
  import '@babel/runtime/helpers/toConsumableArray';
@@ -43,7 +43,6 @@ import '@bigbinary/neeto-commons-frontend/initializers';
43
43
  import 'yup';
44
44
  import './chunk-DDwycKmK.js';
45
45
  import 'classnames';
46
- import './chunk-CVfGOKt4.js';
47
46
  import './chunk-C2dztUxs.js';
48
47
  import '@bigbinary/neeto-commons-frontend/react-utils/useOnClickOutside';
49
48
  import '@bigbinary/neeto-commons-frontend/utils';
@@ -201,4 +200,4 @@ var Preview = function Preview(_ref) {
201
200
  };
202
201
 
203
202
  export { Preview as default };
204
- //# sourceMappingURL=chunk-C26VPEID.js.map
203
+ //# sourceMappingURL=chunk-3JO2B_HR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-C26VPEID.js","sources":["../src/components/Attachments/Preview.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nimport { findIndexBy, truncate } from \"neetocist\";\nimport { Left, Right } from \"neetoicons\";\nimport { Modal, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport DocViewer, { DocViewerRenderers } from \"react-doc-viewer\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { convertToFileSize } from \"components/Editor/MediaUploader/utils\";\n\nimport { ATTACHMENTS_PREVIEW_DATA_CY } from \"./constants\";\nimport { checkPreviewAvailability, downloadFile } from \"./utils\";\n\nconst Preview = ({\n onClose,\n attachments,\n selectedAttachment,\n setSelectedAttachment,\n setDidFetchPreviewBundle,\n}) => {\n const { t } = useTranslation();\n const downloadRef = useRef(null);\n\n const {\n filename = \"\",\n contentType = null,\n url = \"\",\n signedId = \"\",\n size = undefined,\n } = selectedAttachment;\n\n const attachmentIndex = findIndexBy({ signedId }, attachments);\n\n const handleRightArrowClick = () => {\n const newIndex = (attachmentIndex + 1) % attachments.length;\n setSelectedAttachment(attachments[newIndex]);\n downloadRef.current?.focus();\n };\n\n const handleLeftArrowClick = () => {\n const newIndex =\n (attachmentIndex - 1 + attachments.length) % attachments.length;\n setSelectedAttachment(attachments[newIndex]);\n downloadRef.current?.focus();\n };\n\n const handleKeyDown = event => {\n if (event.key === \"ArrowRight\") {\n handleRightArrowClick();\n } else if (event.key === \"ArrowLeft\") {\n handleLeftArrowClick();\n }\n };\n\n useEffect(() => {\n setDidFetchPreviewBundle(true);\n }, []);\n\n const handleDownload = () => downloadFile(url, filename);\n\n const setPreview = () => {\n const isPreviewAvailable = checkPreviewAvailability(contentType);\n\n if (isPreviewAvailable) {\n switch (contentType.split(\"/\")[0]) {\n case \"image\":\n return <img data-testid={ATTACHMENTS_PREVIEW_DATA_CY} src={url} />;\n case \"video\":\n return (\n <video controls data-testid={ATTACHMENTS_PREVIEW_DATA_CY} src={url} />\n );\n case \"application\":\n case \"text\":\n if (contentType === \"application/pdf\") {\n return (\n <iframe\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n src={url}\n width=\"100%\"\n />\n );\n }\n\n return (\n <DocViewer\n className=\"ne-attachments-preview__body-docviewer\"\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n documents={[{ uri: url, fileType: contentType }]}\n pluginRenderers={DocViewerRenderers}\n config={{\n header: { disableHeader: true, disableFileName: true },\n }}\n />\n );\n default:\n return null;\n }\n }\n\n return (\n <Typography>\n <Trans\n i18nKey=\"neetoEditor.attachments.noPreview\"\n components={{\n span: (\n <span\n className=\"ne-attachments-preview__body-download\"\n onClick={handleDownload}\n />\n ),\n }}\n />\n </Typography>\n );\n };\n\n return (\n <Modal\n {...{ onClose }}\n className=\"ne-attachments-preview\"\n isOpen={!isEmpty(selectedAttachment)}\n size=\"fullScreen\"\n onKeyDown={handleKeyDown}\n >\n <Modal.Header className=\"ne-attachments-preview__header\">\n <div className=\"ne-attachments-preview__header__fileinfo\">\n <Typography style=\"h4\">{truncate(filename, 25)}</Typography>\n <Typography style=\"body2\">{convertToFileSize(size)}</Typography>\n </div>\n <Button\n label={t(\"neetoEditor.common.download\")}\n ref={downloadRef}\n style=\"link\"\n onClick={handleDownload}\n />\n </Modal.Header>\n <Modal.Body className=\"ne-attachments-preview__body\">\n <Button\n className=\"ne-attachments-preview__body-left\"\n icon={Left}\n size=\"large\"\n style=\"tertiary\"\n onClick={handleLeftArrowClick}\n />\n <Button\n className=\"ne-attachments-preview__body-right\"\n icon={Right}\n size=\"large\"\n style=\"tertiary\"\n onClick={handleRightArrowClick}\n />\n {setPreview()}\n </Modal.Body>\n </Modal>\n );\n};\n\nexport default Preview;\n"],"names":["Preview","_ref","onClose","attachments","selectedAttachment","setSelectedAttachment","setDidFetchPreviewBundle","_useTranslation","useTranslation","t","downloadRef","useRef","_selectedAttachment$f","filename","_selectedAttachment$c","contentType","_selectedAttachment$u","url","_selectedAttachment$s","signedId","_selectedAttachment$s2","size","undefined","attachmentIndex","findIndexBy","handleRightArrowClick","_downloadRef$current","newIndex","length","current","focus","handleLeftArrowClick","_downloadRef$current2","handleKeyDown","event","key","useEffect","handleDownload","downloadFile","setPreview","isPreviewAvailable","checkPreviewAvailability","split","_jsx","ATTACHMENTS_PREVIEW_DATA_CY","src","controls","width","DocViewer","className","documents","uri","fileType","pluginRenderers","DocViewerRenderers","config","header","disableHeader","disableFileName","Typography","children","Trans","i18nKey","components","span","onClick","_jsxs","Modal","isOpen","isEmpty","onKeyDown","Header","style","truncate","convertToFileSize","Button","label","ref","Body","icon","Left","Right"],"mappings":"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"}
1
+ {"version":3,"file":"chunk-3JO2B_HR.js","sources":["../src/components/Attachments/Preview.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nimport { findIndexBy, truncate } from \"neetocist\";\nimport { Left, Right } from \"neetoicons\";\nimport { Modal, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport DocViewer, { DocViewerRenderers } from \"react-doc-viewer\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { convertToFileSize } from \"components/Editor/MediaUploader/utils\";\n\nimport { ATTACHMENTS_PREVIEW_DATA_CY } from \"./constants\";\nimport { checkPreviewAvailability, downloadFile } from \"./utils\";\n\nconst Preview = ({\n onClose,\n attachments,\n selectedAttachment,\n setSelectedAttachment,\n setDidFetchPreviewBundle,\n}) => {\n const { t } = useTranslation();\n const downloadRef = useRef(null);\n\n const {\n filename = \"\",\n contentType = null,\n url = \"\",\n signedId = \"\",\n size = undefined,\n } = selectedAttachment;\n\n const attachmentIndex = findIndexBy({ signedId }, attachments);\n\n const handleRightArrowClick = () => {\n const newIndex = (attachmentIndex + 1) % attachments.length;\n setSelectedAttachment(attachments[newIndex]);\n downloadRef.current?.focus();\n };\n\n const handleLeftArrowClick = () => {\n const newIndex =\n (attachmentIndex - 1 + attachments.length) % attachments.length;\n setSelectedAttachment(attachments[newIndex]);\n downloadRef.current?.focus();\n };\n\n const handleKeyDown = event => {\n if (event.key === \"ArrowRight\") {\n handleRightArrowClick();\n } else if (event.key === \"ArrowLeft\") {\n handleLeftArrowClick();\n }\n };\n\n useEffect(() => {\n setDidFetchPreviewBundle(true);\n }, []);\n\n const handleDownload = () => downloadFile(url, filename);\n\n const setPreview = () => {\n const isPreviewAvailable = checkPreviewAvailability(contentType);\n\n if (isPreviewAvailable) {\n switch (contentType.split(\"/\")[0]) {\n case \"image\":\n return <img data-testid={ATTACHMENTS_PREVIEW_DATA_CY} src={url} />;\n case \"video\":\n return (\n <video controls data-testid={ATTACHMENTS_PREVIEW_DATA_CY} src={url} />\n );\n case \"application\":\n case \"text\":\n if (contentType === \"application/pdf\") {\n return (\n <iframe\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n src={url}\n width=\"100%\"\n />\n );\n }\n\n return (\n <DocViewer\n className=\"ne-attachments-preview__body-docviewer\"\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n documents={[{ uri: url, fileType: contentType }]}\n pluginRenderers={DocViewerRenderers}\n config={{\n header: { disableHeader: true, disableFileName: true },\n }}\n />\n );\n default:\n return null;\n }\n }\n\n return (\n <Typography>\n <Trans\n i18nKey=\"neetoEditor.attachments.noPreview\"\n components={{\n span: (\n <span\n className=\"ne-attachments-preview__body-download\"\n onClick={handleDownload}\n />\n ),\n }}\n />\n </Typography>\n );\n };\n\n return (\n <Modal\n {...{ onClose }}\n className=\"ne-attachments-preview\"\n isOpen={!isEmpty(selectedAttachment)}\n size=\"fullScreen\"\n onKeyDown={handleKeyDown}\n >\n <Modal.Header className=\"ne-attachments-preview__header\">\n <div className=\"ne-attachments-preview__header__fileinfo\">\n <Typography style=\"h4\">{truncate(filename, 25)}</Typography>\n <Typography style=\"body2\">{convertToFileSize(size)}</Typography>\n </div>\n <Button\n label={t(\"neetoEditor.common.download\")}\n ref={downloadRef}\n style=\"link\"\n onClick={handleDownload}\n />\n </Modal.Header>\n <Modal.Body className=\"ne-attachments-preview__body\">\n <Button\n className=\"ne-attachments-preview__body-left\"\n icon={Left}\n size=\"large\"\n style=\"tertiary\"\n onClick={handleLeftArrowClick}\n />\n <Button\n className=\"ne-attachments-preview__body-right\"\n icon={Right}\n size=\"large\"\n style=\"tertiary\"\n onClick={handleRightArrowClick}\n />\n {setPreview()}\n </Modal.Body>\n </Modal>\n );\n};\n\nexport default Preview;\n"],"names":["Preview","_ref","onClose","attachments","selectedAttachment","setSelectedAttachment","setDidFetchPreviewBundle","_useTranslation","useTranslation","t","downloadRef","useRef","_selectedAttachment$f","filename","_selectedAttachment$c","contentType","_selectedAttachment$u","url","_selectedAttachment$s","signedId","_selectedAttachment$s2","size","undefined","attachmentIndex","findIndexBy","handleRightArrowClick","_downloadRef$current","newIndex","length","current","focus","handleLeftArrowClick","_downloadRef$current2","handleKeyDown","event","key","useEffect","handleDownload","downloadFile","setPreview","isPreviewAvailable","checkPreviewAvailability","split","_jsx","ATTACHMENTS_PREVIEW_DATA_CY","src","controls","width","DocViewer","className","documents","uri","fileType","pluginRenderers","DocViewerRenderers","config","header","disableHeader","disableFileName","Typography","children","Trans","i18nKey","components","span","onClick","_jsxs","Modal","isOpen","isEmpty","onKeyDown","Header","style","truncate","convertToFileSize","Button","label","ref","Body","icon","Left","Right"],"mappings":"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"}