@bigbinary/neeto-editor-frontend 0.0.0-stage → 2.0.1

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 (214) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +145 -2
  3. package/app/javascript/src/translations/ar.json +209 -0
  4. package/app/javascript/src/translations/bg.json +209 -0
  5. package/app/javascript/src/translations/ca.json +209 -0
  6. package/app/javascript/src/translations/cs.json +209 -0
  7. package/app/javascript/src/translations/da.json +209 -0
  8. package/app/javascript/src/translations/de.json +209 -0
  9. package/app/javascript/src/translations/en.json +208 -0
  10. package/app/javascript/src/translations/es-MX.json +209 -0
  11. package/app/javascript/src/translations/es.json +209 -0
  12. package/app/javascript/src/translations/et.json +209 -0
  13. package/app/javascript/src/translations/fi.json +209 -0
  14. package/app/javascript/src/translations/fil.json +209 -0
  15. package/app/javascript/src/translations/fr.json +209 -0
  16. package/app/javascript/src/translations/he.json +209 -0
  17. package/app/javascript/src/translations/hi.json +209 -0
  18. package/app/javascript/src/translations/hr.json +209 -0
  19. package/app/javascript/src/translations/hu.json +209 -0
  20. package/app/javascript/src/translations/id.json +209 -0
  21. package/app/javascript/src/translations/index.js +1 -0
  22. package/app/javascript/src/translations/it.json +209 -0
  23. package/app/javascript/src/translations/ja.json +209 -0
  24. package/app/javascript/src/translations/ko.json +209 -0
  25. package/app/javascript/src/translations/lv.json +208 -0
  26. package/app/javascript/src/translations/nl.json +209 -0
  27. package/app/javascript/src/translations/pl.json +209 -0
  28. package/app/javascript/src/translations/pt-BR.json +209 -0
  29. package/app/javascript/src/translations/pt.json +209 -0
  30. package/app/javascript/src/translations/ro.json +209 -0
  31. package/app/javascript/src/translations/ru.json +209 -0
  32. package/app/javascript/src/translations/sk.json +209 -0
  33. package/app/javascript/src/translations/sl.json +209 -0
  34. package/app/javascript/src/translations/sv.json +209 -0
  35. package/app/javascript/src/translations/th.json +209 -0
  36. package/app/javascript/src/translations/tr.json +209 -0
  37. package/app/javascript/src/translations/uk.json +209 -0
  38. package/app/javascript/src/translations/vi.json +209 -0
  39. package/app/javascript/src/translations/zh-CN.json +209 -0
  40. package/app/javascript/src/translations/zh-TW.json +209 -0
  41. package/dist/.ready +1 -0
  42. package/dist/Attachments.js +53 -0
  43. package/dist/Attachments.js.map +1 -0
  44. package/dist/Editor.js +5530 -0
  45. package/dist/Editor.js.map +1 -0
  46. package/dist/EditorContent.js +252 -0
  47. package/dist/EditorContent.js.map +1 -0
  48. package/dist/FormikEditor.js +202 -0
  49. package/dist/FormikEditor.js.map +1 -0
  50. package/dist/Menu.js +107 -0
  51. package/dist/Menu.js.map +1 -0
  52. package/dist/chunk-1NlIGj6C.js +378 -0
  53. package/dist/chunk-1NlIGj6C.js.map +1 -0
  54. package/dist/chunk-BFKmIsWV.js +8660 -0
  55. package/dist/chunk-BFKmIsWV.js.map +1 -0
  56. package/dist/chunk-BFTU3MAI.js +8 -0
  57. package/dist/chunk-BFTU3MAI.js.map +1 -0
  58. package/dist/chunk-Ba4Q3HC8.js +15258 -0
  59. package/dist/chunk-Ba4Q3HC8.js.map +1 -0
  60. package/dist/chunk-Bra5VPWO.js +555 -0
  61. package/dist/chunk-Bra5VPWO.js.map +1 -0
  62. package/dist/chunk-C2dztUxs.js +4 -0
  63. package/dist/chunk-C2dztUxs.js.map +1 -0
  64. package/dist/chunk-CK_Ss-J5.js +425 -0
  65. package/dist/chunk-CK_Ss-J5.js.map +1 -0
  66. package/dist/chunk-CO-Yfs5R.js +206 -0
  67. package/dist/chunk-CO-Yfs5R.js.map +1 -0
  68. package/dist/chunk-CX-0IHKE.js +381 -0
  69. package/dist/chunk-CX-0IHKE.js.map +1 -0
  70. package/dist/chunk-CeoqieEt.js +25570 -0
  71. package/dist/chunk-CeoqieEt.js.map +1 -0
  72. package/dist/chunk-D52F37yF.js +19 -0
  73. package/dist/chunk-D52F37yF.js.map +1 -0
  74. package/dist/chunk-DcFvJOrc.js +3368 -0
  75. package/dist/chunk-DcFvJOrc.js.map +1 -0
  76. package/dist/chunk-DgZGzqPs.js +6804 -0
  77. package/dist/chunk-DgZGzqPs.js.map +1 -0
  78. package/dist/chunk-Di3ipdfT.js +20227 -0
  79. package/dist/chunk-Di3ipdfT.js.map +1 -0
  80. package/dist/chunk-DrHVV_g1.js +89 -0
  81. package/dist/chunk-DrHVV_g1.js.map +1 -0
  82. package/dist/chunk-DsAUS6bL.js +3464 -0
  83. package/dist/chunk-DsAUS6bL.js.map +1 -0
  84. package/dist/chunk-PSGRE5nX.js +97 -0
  85. package/dist/chunk-PSGRE5nX.js.map +1 -0
  86. package/dist/chunk-Qg4uQqj3.js +16238 -0
  87. package/dist/chunk-Qg4uQqj3.js.map +1 -0
  88. package/dist/chunk-aCTMceVU.js +135 -0
  89. package/dist/chunk-aCTMceVU.js.map +1 -0
  90. package/dist/chunk-fDmcpgqx.js +12510 -0
  91. package/dist/chunk-fDmcpgqx.js.map +1 -0
  92. package/dist/chunk-mFZL53CS.js +204 -0
  93. package/dist/chunk-mFZL53CS.js.map +1 -0
  94. package/dist/chunk-y5pmJStT.js +573 -0
  95. package/dist/chunk-y5pmJStT.js.map +1 -0
  96. package/dist/cjs/Attachments.cjs.js +59 -0
  97. package/dist/cjs/Attachments.cjs.js.map +1 -0
  98. package/dist/cjs/Editor.cjs.js +5609 -0
  99. package/dist/cjs/Editor.cjs.js.map +1 -0
  100. package/dist/cjs/EditorContent.cjs.js +266 -0
  101. package/dist/cjs/EditorContent.cjs.js.map +1 -0
  102. package/dist/cjs/FormikEditor.cjs.js +209 -0
  103. package/dist/cjs/FormikEditor.cjs.js.map +1 -0
  104. package/dist/cjs/Menu.cjs.js +113 -0
  105. package/dist/cjs/Menu.cjs.js.map +1 -0
  106. package/dist/cjs/chunk-B2NfgecV.cjs.js +599 -0
  107. package/dist/cjs/chunk-B2NfgecV.cjs.js.map +1 -0
  108. package/dist/cjs/chunk-B6qYtOJe.cjs.js +6 -0
  109. package/dist/cjs/chunk-B6qYtOJe.cjs.js.map +1 -0
  110. package/dist/cjs/chunk-BJu3ubxk.cjs.js +11 -0
  111. package/dist/cjs/chunk-BJu3ubxk.cjs.js.map +1 -0
  112. package/dist/cjs/chunk-BKvkHB8E.cjs.js +16259 -0
  113. package/dist/cjs/chunk-BKvkHB8E.cjs.js.map +1 -0
  114. package/dist/cjs/chunk-BlWQNLLE.cjs.js +3450 -0
  115. package/dist/cjs/chunk-BlWQNLLE.cjs.js.map +1 -0
  116. package/dist/cjs/chunk-Bmjmsp-E.cjs.js +97 -0
  117. package/dist/cjs/chunk-Bmjmsp-E.cjs.js.map +1 -0
  118. package/dist/cjs/chunk-C-VxABfm.cjs.js +25578 -0
  119. package/dist/cjs/chunk-C-VxABfm.cjs.js.map +1 -0
  120. package/dist/cjs/chunk-C8X4oFtP.cjs.js +216 -0
  121. package/dist/cjs/chunk-C8X4oFtP.cjs.js.map +1 -0
  122. package/dist/cjs/chunk-CCCSexAh.cjs.js +206 -0
  123. package/dist/cjs/chunk-CCCSexAh.cjs.js.map +1 -0
  124. package/dist/cjs/chunk-CNIzgxEP.cjs.js +49 -0
  125. package/dist/cjs/chunk-CNIzgxEP.cjs.js.map +1 -0
  126. package/dist/cjs/chunk-CesnwG-V.cjs.js +140 -0
  127. package/dist/cjs/chunk-CesnwG-V.cjs.js.map +1 -0
  128. package/dist/cjs/chunk-CohcWDmm.cjs.js +20318 -0
  129. package/dist/cjs/chunk-CohcWDmm.cjs.js.map +1 -0
  130. package/dist/cjs/chunk-Crp27WMe.cjs.js +6833 -0
  131. package/dist/cjs/chunk-Crp27WMe.cjs.js.map +1 -0
  132. package/dist/cjs/chunk-D3Unocnm.cjs.js +8681 -0
  133. package/dist/cjs/chunk-D3Unocnm.cjs.js.map +1 -0
  134. package/dist/cjs/chunk-D6ygkQBu.cjs.js +421 -0
  135. package/dist/cjs/chunk-D6ygkQBu.cjs.js.map +1 -0
  136. package/dist/cjs/chunk-D7p10rIr.cjs.js +112 -0
  137. package/dist/cjs/chunk-D7p10rIr.cjs.js.map +1 -0
  138. package/dist/cjs/chunk-DM1lUvXy.cjs.js +3525 -0
  139. package/dist/cjs/chunk-DM1lUvXy.cjs.js.map +1 -0
  140. package/dist/cjs/chunk-DWyvxp1a.cjs.js +394 -0
  141. package/dist/cjs/chunk-DWyvxp1a.cjs.js.map +1 -0
  142. package/dist/cjs/chunk-DXsX8co9.cjs.js +12512 -0
  143. package/dist/cjs/chunk-DXsX8co9.cjs.js.map +1 -0
  144. package/dist/cjs/chunk-DxXc6tiG.cjs.js +15326 -0
  145. package/dist/cjs/chunk-DxXc6tiG.cjs.js.map +1 -0
  146. package/dist/cjs/chunk-MxWVMW6e.cjs.js +569 -0
  147. package/dist/cjs/chunk-MxWVMW6e.cjs.js.map +1 -0
  148. package/dist/cjs/chunk-cwORbcv3.cjs.js +479 -0
  149. package/dist/cjs/chunk-cwORbcv3.cjs.js.map +1 -0
  150. package/dist/cjs/constants.cjs.js +13 -0
  151. package/dist/cjs/constants.cjs.js.map +1 -0
  152. package/dist/cjs/index.cjs.js +163 -0
  153. package/dist/cjs/index.cjs.js.map +1 -0
  154. package/dist/cjs/utils.cjs.js +29 -0
  155. package/dist/cjs/utils.cjs.js.map +1 -0
  156. package/dist/cjs/v2/Attachments.cjs.js +49 -0
  157. package/dist/cjs/v2/Attachments.cjs.js.map +1 -0
  158. package/dist/cjs/v2/Editor.cjs.js +5739 -0
  159. package/dist/cjs/v2/Editor.cjs.js.map +1 -0
  160. package/dist/cjs/v2/EditorContent.cjs.js +33 -0
  161. package/dist/cjs/v2/EditorContent.cjs.js.map +1 -0
  162. package/dist/cjs/v2/FormikEditor.cjs.js +164 -0
  163. package/dist/cjs/v2/FormikEditor.cjs.js.map +1 -0
  164. package/dist/cjs/v2/Menu.cjs.js +62 -0
  165. package/dist/cjs/v2/Menu.cjs.js.map +1 -0
  166. package/dist/cjs/v2/constants.cjs.js +13 -0
  167. package/dist/cjs/v2/constants.cjs.js.map +1 -0
  168. package/dist/cjs/v2/index.cjs.js +120 -0
  169. package/dist/cjs/v2/index.cjs.js.map +1 -0
  170. package/dist/cjs/v2/utils.cjs.js +29 -0
  171. package/dist/cjs/v2/utils.cjs.js.map +1 -0
  172. package/dist/codeblockHighlight.js +15155 -0
  173. package/dist/codeblockHighlight.js.map +1 -0
  174. package/dist/constants.js +6 -0
  175. package/dist/constants.js.map +1 -0
  176. package/dist/editor-content.min.css +1 -0
  177. package/dist/editor-output-pdf-email.css +1 -0
  178. package/dist/editor-output-pdf-email.js +4 -0
  179. package/dist/editor-output-pdf-email.js.map +1 -0
  180. package/dist/editor-output.js +4 -0
  181. package/dist/editor-output.js.map +1 -0
  182. package/dist/editor-stats.html +4860 -0
  183. package/dist/editorUtils.js +170 -0
  184. package/dist/headerLinks.js +59 -0
  185. package/dist/headerLinks.js.map +1 -0
  186. package/dist/index.js +146 -0
  187. package/dist/index.js.map +1 -0
  188. package/dist/utils.js +17 -0
  189. package/dist/utils.js.map +1 -0
  190. package/dist/v2/Attachments.js +43 -0
  191. package/dist/v2/Attachments.js.map +1 -0
  192. package/dist/v2/Editor.js +5690 -0
  193. package/dist/v2/Editor.js.map +1 -0
  194. package/dist/v2/EditorContent.js +27 -0
  195. package/dist/v2/EditorContent.js.map +1 -0
  196. package/dist/v2/FormikEditor.js +157 -0
  197. package/dist/v2/FormikEditor.js.map +1 -0
  198. package/dist/v2/Menu.js +56 -0
  199. package/dist/v2/Menu.js.map +1 -0
  200. package/dist/v2/constants.js +6 -0
  201. package/dist/v2/constants.js.map +1 -0
  202. package/dist/v2/editor-content-styles.js +4 -0
  203. package/dist/v2/editor-content-styles.js.map +1 -0
  204. package/dist/v2/editor-content.min.css +1 -0
  205. package/dist/v2/index.js +101 -0
  206. package/dist/v2/index.js.map +1 -0
  207. package/dist/v2/styles.css +1 -0
  208. package/dist/v2/styles.js +4 -0
  209. package/dist/v2/styles.js.map +1 -0
  210. package/dist/v2/utils.js +17 -0
  211. package/dist/v2/utils.js.map +1 -0
  212. package/formik.d.ts +9 -0
  213. package/package.json +322 -4
  214. package/types.d.ts +199 -0
package/package.json CHANGED
@@ -1,6 +1,324 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-editor-frontend",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "2.0.1",
4
+ "description": "neetoEditor is the library that drives the rich text experience in all neeto products built at BigBinary",
5
+ "keywords": [
6
+ "ui",
7
+ "rich-text-editor",
8
+ "editor",
9
+ "react"
10
+ ],
11
+ "license": "MIT",
12
+ "author": "BigBinary",
13
+ "bugs": {
14
+ "url": "https://github.com/neetozone/neeto-editor-nano/issues"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/neetozone/neeto-editor-nano.git"
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "types.d.ts",
23
+ "formik.d.ts",
24
+ "app/javascript/src/translations"
25
+ ],
26
+ "types": "./types.d.ts",
27
+ "engines": {
28
+ "node": ">=22.13",
29
+ "npm": ">=9",
30
+ "yarn": "1.22.x"
31
+ },
32
+ "exports": {
33
+ ".": {
34
+ "import": "./dist/index.js",
35
+ "require": "./dist/cjs/index.js",
36
+ "types": "./types.d.ts"
37
+ },
38
+ "./*": {
39
+ "import": "./dist/*.js",
40
+ "require": "./dist/cjs/*.js",
41
+ "types": "./types.d.ts"
42
+ },
43
+ "./v2": {
44
+ "import": "./dist/v2/index.js",
45
+ "require": "./dist/cjs/v2/index.js",
46
+ "types": "./types.d.ts"
47
+ },
48
+ "./v2/*": {
49
+ "import": "./dist/v2/*.js",
50
+ "require": "./dist/cjs/v2/*.js",
51
+ "types": "./types.d.ts"
52
+ },
53
+ "./v2/styles": "./dist/v2/styles.css",
54
+ "./v2/styles.css": "./dist/v2/styles.css"
55
+ },
56
+ "scripts": {
57
+ "build": "NODE_ENV=production rollup --bundleConfigAsCjs -c rollup.config.js",
58
+ "build-storybook": "storybook build",
59
+ "prepare": "husky install",
60
+ "release": "yarn build && yalc push --sig",
61
+ "serve": "node .storybook/express",
62
+ "storybook": "storybook dev -p 6006",
63
+ "test:safe-split-block": "node --test test/javascript/safeSplitBlock.test.mjs",
64
+ "upload": "node .scripts/publish --env production"
65
+ },
66
+ "lint-staged": {
67
+ "./**/*.rb": [
68
+ "bundle exec rubocop -a --force-exclusion --format quiet"
69
+ ],
70
+ "{Gemfile,Rakefile}": [
71
+ "bundle exec rubocop -a --force-exclusion --format quiet"
72
+ ],
73
+ "./**/app/views/**/*.html.erb": [
74
+ "bundle exec erblint --lint-all --format compact -a"
75
+ ],
76
+ "{app/javascript,stories,.storybook}/**/*.{js,jsx,json}": [
77
+ "prettier --write",
78
+ "eslint --cache --fix --no-warn-ignored"
79
+ ],
80
+ "{package.json,.prettierrc.js}": [
81
+ "prettier --write"
82
+ ]
83
+ },
84
+ "dependencies": {
85
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
86
+ "babel-plugin-transform-imports": "^2.0.0"
87
+ },
88
+ "devDependencies": {
89
+ "@babel/core": "7.23.2",
90
+ "@babel/eslint-parser": "^7.25.9",
91
+ "@babel/plugin-transform-runtime": "7.23.2",
92
+ "@babel/preset-env": "7.23.2",
93
+ "@babel/preset-react": "7.22.15",
94
+ "@babel/preset-typescript": "7.23.2",
95
+ "@babel/runtime": "7.23.2",
96
+ "@bigbinary/babel-preset-neeto": "^1.0.7",
97
+ "@bigbinary/eslint-plugin-neeto": "1.9.0",
98
+ "@bigbinary/neeto-atoms": "1.0.144",
99
+ "@bigbinary/neeto-audit-frontend": "2.6.0",
100
+ "@bigbinary/neeto-cist": "1.0.9",
101
+ "@bigbinary/neeto-commons-frontend": "4.13.160",
102
+ "@bigbinary/neeto-filters-frontend": "3.3.1",
103
+ "@bigbinary/neeto-hotkeys": "1.0.4",
104
+ "@bigbinary/neeto-icons": "1.20.71",
105
+ "@bigbinary/neeto-image-uploader-frontend": "4.0.5",
106
+ "@bigbinary/neeto-molecules": "5.5.2",
107
+ "@bigbinary/neeto-team-members-frontend": "5.1.6",
108
+ "@bigbinary/neeto-time-zones": "^0.8.25",
109
+ "@bigbinary/neetoui": "7.0.1",
110
+ "@bigbinary/s3-uploader": "https://github.com/bigbinary/s3-uploader",
111
+ "@eslint/eslintrc": "^3.3.5",
112
+ "@faker-js/faker": "8.2.0",
113
+ "@floating-ui/dom": "^1.6.0",
114
+ "@fontsource-variable/geist": "^5.2.8",
115
+ "@hocuspocus/provider": "^2.13.5",
116
+ "@honeybadger-io/js": "6.5.3",
117
+ "@honeybadger-io/react": "6.1.9",
118
+ "@rails/actioncable": "7.2.100",
119
+ "@rails/activestorage": "7.0.8-3",
120
+ "@rollup/plugin-alias": "5.0.1",
121
+ "@rollup/plugin-babel": "6.0.4",
122
+ "@rollup/plugin-commonjs": "25.0.7",
123
+ "@rollup/plugin-json": "6.0.1",
124
+ "@rollup/plugin-node-resolve": "15.2.3",
125
+ "@rollup/plugin-replace": "5.0.4",
126
+ "@storybook/addon-actions": "^7.5.3",
127
+ "@storybook/addon-essentials": "^7.5.3",
128
+ "@storybook/addon-postcss": "^2.0.0",
129
+ "@storybook/preset-scss": "^1.0.3",
130
+ "@storybook/react": "^7.5.3",
131
+ "@storybook/react-webpack5": "^7.5.3",
132
+ "@svgr/rollup": "8.1.0",
133
+ "@svgr/webpack": "^6.5.1",
134
+ "@tailwindcss/container-queries": "^0.1.1",
135
+ "@tailwindcss/postcss": "^4.2.2",
136
+ "@tanstack/react-query": "5.59.20",
137
+ "@tanstack/react-query-devtools": "5.59.20",
138
+ "@tippyjs/react": "4.2.6",
139
+ "@tiptap/extension-bubble-menu": "3.31.3",
140
+ "@tiptap/extension-code": "3.31.3",
141
+ "@tiptap/extension-code-block-lowlight": "3.31.3",
142
+ "@tiptap/extension-collaboration": "3.31.3",
143
+ "@tiptap/extension-collaboration-caret": "3.31.3",
144
+ "@tiptap/extension-document": "3.31.3",
145
+ "@tiptap/extension-highlight": "3.31.3",
146
+ "@tiptap/extension-image": "3.31.3",
147
+ "@tiptap/extension-italic": "3.31.3",
148
+ "@tiptap/extension-link": "3.31.3",
149
+ "@tiptap/extension-list": "3.31.3",
150
+ "@tiptap/extension-mention": "3.31.3",
151
+ "@tiptap/extension-table": "3.31.3",
152
+ "@tiptap/extension-text-style": "3.31.3",
153
+ "@tiptap/extension-underline": "3.31.3",
154
+ "@tiptap/extensions": "3.31.3",
155
+ "@tiptap/pm": "3.31.3",
156
+ "@tiptap/react": "3.31.3",
157
+ "@tiptap/starter-kit": "3.31.3",
158
+ "@tiptap/suggestion": "3.31.3",
159
+ "@tiptap/y-tiptap": "3.0.7",
160
+ "@wojtekmaj/react-timerange-picker": "5.5.0",
161
+ "antd": "5.10.2",
162
+ "autoprefixer": "10.4.16",
163
+ "avvvatars-react": "0.4.2",
164
+ "axios": "1.15.0",
165
+ "babel-loader": "9.1.3",
166
+ "babel-plugin-istanbul": "6.1.1",
167
+ "babel-plugin-js-logger": "1.0.17",
168
+ "babel-plugin-macros": "3.1.0",
169
+ "babel-plugin-module-resolver": "^5.0.2",
170
+ "babel-plugin-preval": "^5.1.0",
171
+ "babel-plugin-transform-imports": "^2.0.0",
172
+ "babel-plugin-transform-react-remove-prop-types": "0.4.24",
173
+ "babel-preset-react": "6.24.1",
174
+ "babel-preset-typescript": "7.0.0-alpha.19",
175
+ "classnames": "2.3.2",
176
+ "crypto-js": "4.2.0",
177
+ "css-loader": "6.7.1",
178
+ "dompurify": "2.5.9",
179
+ "emoji-mart": "5.2.2",
180
+ "eslint": "^9.27.0",
181
+ "eslint-config-prettier": "^10.1.2",
182
+ "eslint-plugin-cypress": "2.15.1",
183
+ "eslint-plugin-import": "^2.31.0",
184
+ "eslint-plugin-jam3": "^0.2.3",
185
+ "eslint-plugin-json": "^4.0.1",
186
+ "eslint-plugin-prettier": "^5.2.6",
187
+ "eslint-plugin-promise": "^7.2.1",
188
+ "eslint-plugin-react": "^7.37.5",
189
+ "eslint-plugin-react-hooks": "^5.2.0",
190
+ "eslint-plugin-security": "^3.0.1",
191
+ "eslint-plugin-sonarjs": "^3.0.2",
192
+ "eslint-plugin-storybook": "^10.3.6",
193
+ "eslint-plugin-unused-imports": "^4.1.4",
194
+ "eslint-plugin-xss": "0.1.12",
195
+ "express": "^4.18.2",
196
+ "formik": "2.4.5",
197
+ "globals": "^17.6.0",
198
+ "globby": "^14.1.0",
199
+ "husky": "8.0.3",
200
+ "i18next": "23.6.0",
201
+ "js-logger": "1.6.1",
202
+ "linkify-react": "^4.1.3",
203
+ "lint-staged": "15.0.2",
204
+ "lowlight": "2.7.0",
205
+ "lucide-react": "^0.577.0",
206
+ "postcss": "8.4.38",
207
+ "postcss-css-variables": "^0.19.0",
208
+ "postcss-import": "15.1.0",
209
+ "postcss-loader": "7.3.3",
210
+ "postcss-preset-env": "9.2.0",
211
+ "prettier": "^3",
212
+ "prettier-plugin-tailwindcss": "^0.6.14",
213
+ "qs": "6.11.2",
214
+ "ramda": "0.29.1",
215
+ "re-resizable": "6.9.9",
216
+ "react": "18.3.1",
217
+ "react-colorful": "5.6.1",
218
+ "react-doc-viewer": "0.1.16",
219
+ "react-dom": "18.3.1",
220
+ "react-drag-listview": "2.0.0",
221
+ "react-dropzone": "14.3.8",
222
+ "react-file-icon": "^1.3.0",
223
+ "react-helmet": "6.1.0",
224
+ "react-hotkeys-hook": "3.4.7",
225
+ "react-i18next": "13.3.1",
226
+ "react-masonry-infinite": "1.2.2",
227
+ "react-popper": "2.3.0",
228
+ "react-resizable": "3.0.4",
229
+ "react-router-dom": "5.3.4",
230
+ "react-toastify": "8.2.0",
231
+ "remark-gfm": "4.0.0",
232
+ "rollup": "^4.59.0",
233
+ "rollup-plugin-analyzer": "4.0.0",
234
+ "rollup-plugin-cleaner": "1.0.0",
235
+ "rollup-plugin-copy": "^3.5.0",
236
+ "rollup-plugin-peer-deps-external": "2.2.4",
237
+ "rollup-plugin-postcss": "^4.0.2",
238
+ "rollup-plugin-styles": "4.0.0",
239
+ "rollup-plugin-visualizer": "^5.12.0",
240
+ "sass": "1.69.5",
241
+ "sass-loader": "13.0.2",
242
+ "shadcn": "^4.1.0",
243
+ "storybook": "^7.5.3",
244
+ "storybook-addon-live-examples": "2.0.3",
245
+ "storybook-dark-mode": "^3.0.1",
246
+ "style-loader": "3.3.1",
247
+ "tailwindcss": "^4.2.1",
248
+ "tippy.js": "6.3.7",
249
+ "ts-api-utils": "^2.5.0",
250
+ "tw-animate-css": "^1.4.0",
251
+ "typescript-eslint": "^8.59.2",
252
+ "ua-parser-js": "^2.0.3",
253
+ "util": "0.12.5",
254
+ "webpack": "5.104.1",
255
+ "webpack-cli": "4.10.0",
256
+ "webpack-dev-server": "4.9.3",
257
+ "y-prosemirror": "^1.2.12",
258
+ "y-protocols": "^1.0.6",
259
+ "yjs": "^13.6.18",
260
+ "yup": "1.3.2",
261
+ "zustand": "4.3.2"
262
+ },
263
+ "peerDependencies": {
264
+ "@babel/runtime": "7.23.2",
265
+ "@bigbinary/babel-preset-neeto": "*",
266
+ "@bigbinary/neeto-atoms": "1.0.144",
267
+ "@bigbinary/neeto-cist": "*",
268
+ "@bigbinary/neeto-commons-frontend": ">=4.13.160",
269
+ "@bigbinary/neeto-filters-frontend": "3.3.1",
270
+ "@bigbinary/neeto-hotkeys": "1.0.4",
271
+ "@bigbinary/neeto-icons": "*",
272
+ "@bigbinary/neeto-image-uploader-frontend": "4.0.5",
273
+ "@bigbinary/neeto-molecules": "5.5.2",
274
+ "@bigbinary/neeto-team-members-frontend": "5.1.6",
275
+ "@bigbinary/neeto-time-zones": "*",
276
+ "@bigbinary/neetoui": "*",
277
+ "@honeybadger-io/js": "^6.5.3",
278
+ "@honeybadger-io/react": "^6.1.9",
279
+ "@rails/actioncable": "7.2.100",
280
+ "@rails/activestorage": "7.0.8-3",
281
+ "@tailwindcss/container-queries": "^0.1.1",
282
+ "@tanstack/react-query": "5.59.20",
283
+ "@tippyjs/react": "4.2.6",
284
+ "@wojtekmaj/react-timerange-picker": "5.5.0",
285
+ "antd": "4.24.3",
286
+ "autoprefixer": "10.4.16",
287
+ "avvvatars-react": "0.4.2",
288
+ "axios": "1.15.0",
289
+ "classnames": "^2.3.2",
290
+ "dompurify": "^2.4.0",
291
+ "emoji-mart": "5.2.2",
292
+ "formik": "^2.4.5",
293
+ "i18next": "^23.6.0",
294
+ "js-logger": "^1.6.1",
295
+ "linkify-react": "^4.1.3",
296
+ "lucide-react": "^0.577.0",
297
+ "qs": "6.11.2",
298
+ "ramda": "^0.29.1",
299
+ "react": "^18.2.0",
300
+ "react-colorful": "5.6.1",
301
+ "react-dom": "^18.2.0",
302
+ "react-drag-listview": "2.0.0",
303
+ "react-dropzone": "14.3.8",
304
+ "react-helmet": "^6.1.0",
305
+ "react-i18next": "^13.3.1",
306
+ "react-resizable": "3.0.4",
307
+ "react-router-dom": "^5.3.4",
308
+ "react-toastify": "^8.2.0",
309
+ "tippy.js": "6.3.7",
310
+ "ua-parser-js": "^2.0.3",
311
+ "util": "0.12.5",
312
+ "yjs": "^13.6.18",
313
+ "yup": "^0.32.11",
314
+ "zustand": "4.3.2"
315
+ },
316
+ "resolutions": {
317
+ "canvas": "npm:empty-npm-package@1.0.0",
318
+ "jackspeak": "2.1.1",
319
+ "wrap-ansi": "7.0.0",
320
+ "string-width": "4.1.0",
321
+ "react": "18.3.1",
322
+ "react-dom": "18.3.1"
323
+ }
324
+ }
package/types.d.ts ADDED
@@ -0,0 +1,199 @@
1
+ import { ReactNode } from "react";
2
+ import {
3
+ Editor as TiptapEditor,
4
+ Extension,
5
+ Node,
6
+ } from "@tiptap/core/dist/packages/core/src";
7
+ import { Range } from "@tiptap/core/dist/packages/core/src/types";
8
+ import { Transaction } from "prosemirror-state";
9
+ import { CodeOptions } from "@tiptap/extension-code";
10
+ import { UnderlineOptions } from "@tiptap/extension-underline";
11
+ import { HighlightOptions } from "lowlight/lib/core";
12
+ import { CodeBlockLowlightOptions } from "@tiptap/extension-code-block-lowlight";
13
+ import { StarterKitOptions } from "@tiptap/starter-kit";
14
+ import { PlaceholderOptions } from "@tiptap/extension-placeholder";
15
+ import { CharacterCountOptions } from "@tiptap/extension-character-count";
16
+ import Variables from "components/Editor/CustomExtensions/Variable/index";
17
+ import { EDITOR_OPTIONS as EDITOR_OPTIONS_VALUES } from "common/constants";
18
+
19
+ interface Command {
20
+ label: string;
21
+ icon: Function;
22
+ description?: string;
23
+ optionName: string;
24
+ active?: ({ editor: TiptapEditor }) => boolean;
25
+ command?: (props: { editor: TiptapEditor; range: Range }) => void;
26
+ items?: Command[];
27
+ }
28
+
29
+ interface Variable {
30
+ label?: string;
31
+ key: string;
32
+ value?: any;
33
+ }
34
+
35
+ interface VariableCategory {
36
+ category_key: string;
37
+ category_label?: string;
38
+ variables?: Variable[];
39
+ }
40
+
41
+ interface Mention {
42
+ key?: string;
43
+ name: string;
44
+ imageUrl?: string;
45
+ }
46
+
47
+ type KeyboardShortcuts = {
48
+ [shortcut: string]: (props: { editor: TiptapEditor }) => boolean | void;
49
+ };
50
+
51
+ type EditorFocus = (props: {
52
+ editor: TiptapEditor;
53
+ event: FocusEvent;
54
+ transaction: Transaction;
55
+ }) => void;
56
+
57
+ interface tooltip {
58
+ label: string;
59
+ keys: string[];
60
+ }
61
+
62
+ interface tooltips {
63
+ [key: string]: tooltip;
64
+ }
65
+
66
+ interface MenuProps {
67
+ tooltips?: tooltips;
68
+ editor: TiptapEditor | null;
69
+ menuType?: "fixed" | "bubble" | "headless" | "none";
70
+ defaults?: string[];
71
+ addons?: string[];
72
+ mentions?: Mention[];
73
+ editorSecrets?: Array<{ unsplash?: string }>;
74
+ variables?: (VariableCategory | Variable)[];
75
+ addonCommands?: Command[];
76
+ isIndependant?: boolean;
77
+ className?: string;
78
+ }
79
+ interface attachment {
80
+ filename?: string;
81
+ signedId?: string;
82
+ url?: string;
83
+ [otherProps: string]: any;
84
+ }
85
+
86
+ interface attachmentsConfig {
87
+ maxFileSize?: number;
88
+ maxNumberOfFiles?: number;
89
+ allowedFileTypes?: string[];
90
+ }
91
+
92
+ interface EditorProps {
93
+ attachmentsConfig?: attachmentsConfig;
94
+ isMenuIndependent?: boolean;
95
+ isMenuCollapsible?: boolean;
96
+ menuClassName?: string;
97
+ attachmentsClassName?: string;
98
+ errorWrapperClassName?: string;
99
+ tooltips?: tooltips;
100
+ initialValue?: string;
101
+ menuType?: "fixed" | "bubble" | "headless" | "none";
102
+ label?: string;
103
+ required?: boolean;
104
+ autoFocus?: boolean;
105
+ hideSlashCommands?: boolean;
106
+ appendSuggestionsToBody?: boolean;
107
+ defaults?: string[];
108
+ addons?: string[];
109
+ addonCommands?: Command[];
110
+ className?: string;
111
+ contentClassName?: string;
112
+ contentWrapperClassName?: string;
113
+ contentAttributes?: { [key: string]: string };
114
+ disableTrimOnBlur?: boolean;
115
+ onChange?: (htmlContent: string) => void;
116
+ onFocus?: EditorFocus;
117
+ onBlur?: EditorFocus;
118
+ onSubmit?: (htmlContent: string) => void;
119
+ variables?: (VariableCategory | Variable)[];
120
+ mentions?: Mention[];
121
+ placeholder?: string;
122
+ extensions?: Array<Node | Extension>;
123
+ editorSecrets?: Array<{ unsplash?: string }>;
124
+ rows?: number;
125
+ isCharacterCountActive?: boolean;
126
+ keyboardShortcuts?: KeyboardShortcuts;
127
+ error?: string;
128
+ attachments?: Array<attachment>;
129
+ onChangeAttachments?: (attachments: attachment[]) => void;
130
+ children?: ReactNode;
131
+ openImageInNewTab?: boolean;
132
+ openLinkInNewTab?: boolean;
133
+ enableReactNodeViewOptimization?: boolean;
134
+ size?: "large" | "medium" | "small";
135
+ [otherProps: string]: any;
136
+ }
137
+
138
+ interface FormikEditorProps extends EditorProps {
139
+ name: string;
140
+ shouldUpdate?: (nextProps: EditorProps, prevProps: EditorProps) => boolean;
141
+ }
142
+ interface AttachmentsProps {
143
+ config?: attachmentsConfig;
144
+ endpoint?: string;
145
+ attachments?: Array<attachment>;
146
+ dragDropRef?: React.RefObject<HTMLDivElement>;
147
+ onChange?: (attachments: attachment[]) => void;
148
+ isIndependent?: boolean;
149
+ disabled?: boolean;
150
+ className?: string;
151
+ showToastr?: boolean;
152
+ allowDelete?: boolean;
153
+ allowOpenInNewTab?: boolean;
154
+ }
155
+
156
+ type EditorContentConfigType = {
157
+ enableHeaderLinks?: boolean;
158
+ }
159
+
160
+ export function Editor(props: EditorProps): JSX.Element;
161
+
162
+ export function FormikEditor(props: FormikEditorProps): JSX.Element;
163
+
164
+ export function Attachments(props: AttachmentsProps): JSX.Element;
165
+
166
+ export function EditorContent(props: {
167
+ content?: string;
168
+ className?: string;
169
+ variables?: (VariableCategory | Variable)[];
170
+ size?: "large" | "medium" | "small";
171
+ configuration?: EditorContentConfigType;
172
+ onChange?: (htmlContent: string) => void;
173
+ [otherProps: string]: any;
174
+ }): JSX.Element;
175
+
176
+ export function Menu(props: MenuProps): JSX.Element;
177
+
178
+ export function removeEmptyTags(html: string): string;
179
+
180
+ export function isEditorEmpty(htmlContent: string | null | undefined): boolean;
181
+
182
+ export function isEditorContentWithinLimit(
183
+ htmlContent: string | null | undefined,
184
+ maxLength: number
185
+ ): boolean;
186
+
187
+ export function isEditorOverlaysActive(): boolean;
188
+
189
+ export function isEmojiSuggestionsMenuActive(): boolean;
190
+
191
+ export function transformEditorContent(content: string): string;
192
+
193
+ export function substituteVariables(
194
+ highlightedContent: string,
195
+ variables: (VariableCategory | Variable)[]
196
+ ): string;
197
+
198
+ export const DEFAULT_EDITOR_OPTIONS: string[];
199
+ export const EDITOR_OPTIONS: typeof EDITOR_OPTIONS_VALUES;