@bigbinary/neeto-molecules 3.16.58 → 3.16.60

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.
@@ -1,16 +1,24 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { useCallback, memo, useRef, useMemo } from 'react';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import { useCallback, memo, useRef, useState, useMemo } from 'react';
3
4
  import classnames from 'classnames';
5
+ import { useFormikContext } from 'formik';
4
6
  import { isPresent, noop } from '@bigbinary/neeto-cist';
5
7
  import FormikEditor from '@bigbinary/neeto-editor/FormikEditor';
8
+ import MenuHorizontal from '@bigbinary/neeto-icons/MenuHorizontal';
9
+ import Modal from '@bigbinary/neetoui/Modal';
6
10
  import Typography from '@bigbinary/neetoui/Typography';
11
+ import Dropdown from '@bigbinary/neetoui/Dropdown';
7
12
  import Textarea from '@bigbinary/neetoui/formik/Textarea';
8
- import { mergeRight } from 'ramda';
13
+ import { isEmpty, mergeRight } from 'ramda';
9
14
  import { useTranslation } from 'react-i18next';
10
15
  import { n } from './inject-css-DmrvuTKK.js';
11
- import { useFormikContext } from 'formik';
12
16
  import useHotkeys from '@bigbinary/neeto-hotkeys';
17
+ import ImageUploader from '@bigbinary/neeto-image-uploader-frontend/ImageUploader';
18
+ import Spinner from '@bigbinary/neetoui/Spinner';
13
19
  import { jsx, jsxs } from 'react/jsx-runtime';
20
+ import { t } from 'i18next';
21
+ import Image from '@bigbinary/neeto-icons/Image';
14
22
 
15
23
  var EDITOR_ADDONS = ["highlight", "emoji", "video-upload", "code-block", "block-quote", "image-upload", "image-upload-unsplash", "divider", "video-embed", "undo", "redo", "table"];
16
24
  var DEFAULT_EDITOR_PROPS = {
@@ -19,8 +27,16 @@ var DEFAULT_EDITOR_PROPS = {
19
27
  addons: [],
20
28
  size: "medium"
21
29
  };
30
+ var IMAGE_UPLOAD_CONFIG = {
31
+ maxImageSize: 1,
32
+ allowedImageTypes: {
33
+ "image/jpg": [".jpg", ".jpeg"],
34
+ "image/png": [".png"],
35
+ "image/svg": [".svg"]
36
+ }
37
+ };
22
38
 
23
- var css = ".neeto-molecules-document__wrapper{height:100%}@media screen and (max-width:768px){.neeto-molecules-document__wrapper{width:100%}}.neeto-molecules-document__wrapper .neeto-molecules-document__container{margin:0 auto;max-width:48rem!important;width:100%}.neeto-molecules-document__wrapper .neeto-molecules-document-editor__menubar{position:sticky;top:0;width:100%;z-index:20}.neeto-molecules-document__wrapper .neeto-molecules-document__title{margin:1.5rem 0 0;width:100%}.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input{padding:0!important}.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input textarea{color:rgb(var(--neeto-ui-black));font-size:2.625rem;font-weight:700;line-height:3rem;max-height:none;resize:none}.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input textarea::-moz-placeholder{color:rgb(var(--neeto-ui-gray-300))}.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input textarea::placeholder{color:rgb(var(--neeto-ui-gray-300))}@media screen and (max-width:768px){.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input textarea{font-size:2.25rem}}.neeto-molecules-document__wrapper .neeto-molecules-editor-content__error{margin:.75rem auto}.neeto-molecules-document__wrapper .ProseMirror{flex-grow:1;height:auto;max-height:none;overflow-y:hidden}.neeto-molecules-document__wrapper .neeto-editor-fixed-menu{border:thin solid rgb(var(--neeto-ui-gray-200));border-left:none;border-right:none}@media screen and (max-width:768px){.neeto-molecules-document__wrapper .neeto-editor-fixed-menu button.neeto-editor-fixed-menu__item{padding:.375rem}}.neeto-molecules-document__wrapper .neeto-editor-fixed-menu__wrapper{margin:0 auto;max-width:46.875rem;padding-left:0!important;padding-right:0!important}.neeto-molecules-document__wrapper .neeto-editor-fixed-menu__wrapper button.neeto-editor-fixed-menu__item{flex-shrink:0}@media screen and (max-width:768px){.neeto-molecules-document__wrapper .neeto-editor-fixed-menu__wrapper{overflow-x:auto}}.neeto-molecules-document__wrapper .editor-content__wrapper{border:none!important;padding:.75rem 1rem 2rem!important;width:100%!important}.neeto-molecules-document__wrapper .editor-content-attachments{border:none;margin:.75rem auto 0;max-width:48rem!important;padding-left:1rem;padding-right:1rem}.neeto-molecules-document__wrapper .editor-content-attachments--no-attachments{display:none!important}.neeto-molecules-document__wrapper .neeto-editor-character-count{margin:0 auto;max-width:48rem!important;padding-left:1rem;padding-right:1rem}.neeto-molecules-document__wrapper .ne-attachments__wrapper{width:100%}.neeto-molecules-document__wrapper ins{background-color:#c1f4cb!important;text-decoration:none!important}.neeto-molecules-document__wrapper del{background-color:#faa!important}";
39
+ var css = ".neeto-molecules-document__wrapper{height:100%}@media screen and (max-width:768px){.neeto-molecules-document__wrapper{width:100%}}.neeto-molecules-document__wrapper .neeto-molecules-document__container{margin:0 auto;max-width:48rem!important;width:100%}.neeto-molecules-document__wrapper .neeto-molecules-document-editor__menubar{position:sticky;top:0;width:100%;z-index:20}.neeto-molecules-document__wrapper .neeto-molecules-document__title{margin:1.5rem 0 0;width:100%}.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input{padding:0!important}.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input textarea{color:rgb(var(--neeto-ui-black));font-size:2.625rem;font-weight:700;line-height:3rem;max-height:none;resize:none}.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input textarea::-moz-placeholder{color:rgb(var(--neeto-ui-gray-300))}.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input textarea::placeholder{color:rgb(var(--neeto-ui-gray-300))}@media screen and (max-width:768px){.neeto-molecules-document__wrapper .neeto-molecules-document__title .neeto-ui-input textarea{font-size:2.25rem}}.neeto-molecules-document__wrapper .neeto-molecules-editor-content__error{margin:.75rem auto}.neeto-molecules-document__wrapper .ProseMirror{flex-grow:1;height:auto;max-height:none;overflow-y:hidden}.neeto-molecules-document__wrapper .neeto-editor-fixed-menu{border:thin solid rgb(var(--neeto-ui-gray-200));border-left:none;border-right:none}@media screen and (max-width:768px){.neeto-molecules-document__wrapper .neeto-editor-fixed-menu button.neeto-editor-fixed-menu__item{padding:.375rem}}.neeto-molecules-document__wrapper .neeto-editor-fixed-menu__wrapper{margin:0 auto;max-width:46.875rem;padding-left:0!important;padding-right:0!important}.neeto-molecules-document__wrapper .neeto-editor-fixed-menu__wrapper button.neeto-editor-fixed-menu__item{flex-shrink:0}@media screen and (max-width:768px){.neeto-molecules-document__wrapper .neeto-editor-fixed-menu__wrapper{overflow-x:auto}}.neeto-molecules-document__wrapper .editor-content__wrapper{border:none!important;padding:.75rem 1rem 2rem!important;width:100%!important}.neeto-molecules-document__wrapper .editor-content-attachments{border:none;margin:.75rem auto 0;max-width:48rem!important;padding-left:1rem;padding-right:1rem}.neeto-molecules-document__wrapper .editor-content-attachments--no-attachments{display:none!important}.neeto-molecules-document__wrapper .neeto-editor-character-count{margin:0 auto;max-width:48rem!important;padding-left:1rem;padding-right:1rem}.neeto-molecules-document__wrapper .ne-attachments__wrapper{width:100%}.neeto-molecules-document__wrapper ins{background-color:#c1f4cb!important;text-decoration:none!important}.neeto-molecules-document__wrapper del{background-color:#faa!important}@media screen and (max-width:767px){.ne-media-uploader-modal{width:95vw!important}}";
24
40
  n(css,{});
25
41
 
26
42
  var useEditor = function useEditor(_ref) {
@@ -77,6 +93,45 @@ var useEditor = function useEditor(_ref) {
77
93
  };
78
94
  };
79
95
 
96
+ var MediaUploader = function MediaUploader(_ref) {
97
+ var setIsThumbnailImageModalOpen = _ref.setIsThumbnailImageModalOpen;
98
+ var _useFormikContext = useFormikContext(),
99
+ thumbnailImageUrl = _useFormikContext.values.thumbnailImageUrl,
100
+ setFieldValue = _useFormikContext.setFieldValue,
101
+ initialValues = _useFormikContext.initialValues,
102
+ submitForm = _useFormikContext.submitForm;
103
+ var handleUpload = function handleUpload(file) {
104
+ var url = file.url,
105
+ signedId = file.signedId;
106
+ setFieldValue("thumbnailImage", signedId);
107
+ setFieldValue("thumbnailImageUrl", url);
108
+ setTimeout(function () {
109
+ setIsThumbnailImageModalOpen(false);
110
+ submitForm();
111
+ });
112
+ };
113
+ if (isEmpty(initialValues)) {
114
+ return /*#__PURE__*/jsx(Spinner, {});
115
+ }
116
+ return /*#__PURE__*/jsx(ImageUploader, {
117
+ className: "h-auto w-full",
118
+ src: thumbnailImageUrl,
119
+ uploadConfig: IMAGE_UPLOAD_CONFIG,
120
+ onUploadComplete: handleUpload
121
+ }, thumbnailImageUrl);
122
+ };
123
+
124
+ var getThumbnailAddon = function getThumbnailAddon(command) {
125
+ return {
126
+ label: t("neetoMolecules.documentEditor.thumbnailImage"),
127
+ optionName: "thumbnail-image",
128
+ command: command,
129
+ icon: Image,
130
+ isEnabled: true,
131
+ "data-testid": "thumbnail-image-addon"
132
+ };
133
+ };
134
+
80
135
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
81
136
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
82
137
  var Editor = function Editor(_ref) {
@@ -97,12 +152,34 @@ var Editor = function Editor(_ref) {
97
152
  customEditorProps = _ref$editorProps === void 0 ? {} : _ref$editorProps,
98
153
  _ref$titleProps = _ref.titleProps,
99
154
  titleProps = _ref$titleProps === void 0 ? {} : _ref$titleProps,
155
+ _ref$hasThumbnailImag = _ref.hasThumbnailImage,
156
+ hasThumbnailImage = _ref$hasThumbnailImag === void 0 ? false : _ref$hasThumbnailImag,
100
157
  children = _ref.children;
101
158
  var _useTranslation = useTranslation(),
102
159
  t = _useTranslation.t;
160
+ var _useFormikContext = useFormikContext(),
161
+ values = _useFormikContext.values,
162
+ setFieldValue = _useFormikContext.setFieldValue,
163
+ submitForm = _useFormikContext.submitForm;
164
+ var thumbnailImageUrl = values.thumbnailImageUrl;
165
+ var Menu = Dropdown.Menu,
166
+ MenuItem = Dropdown.MenuItem;
103
167
  var titleRef = useRef();
104
168
  var editorRef = useRef();
105
- var editorProps = mergeRight(DEFAULT_EDITOR_PROPS, customEditorProps);
169
+ var _useState = useState(false),
170
+ _useState2 = _slicedToArray(_useState, 2),
171
+ isThumbnailImageModalOpen = _useState2[0],
172
+ setIsThumbnailImageModalOpen = _useState2[1];
173
+ var editorProps = useMemo(function () {
174
+ var baseProps = mergeRight(DEFAULT_EDITOR_PROPS, customEditorProps);
175
+ if (!hasThumbnailImage) return baseProps;
176
+ var thumbnailAddon = getThumbnailAddon(function () {
177
+ return setIsThumbnailImageModalOpen(true);
178
+ });
179
+ return mergeRight(baseProps, {
180
+ addonCommands: [thumbnailAddon]
181
+ });
182
+ }, [customEditorProps, hasThumbnailImage]);
106
183
  var _useEditor = useEditor({
107
184
  onContentChange: onContentChange,
108
185
  editorContentFieldName: editorContentFieldName,
@@ -140,11 +217,16 @@ var Editor = function Editor(_ref) {
140
217
  }
141
218
  return true;
142
219
  };
143
- return /*#__PURE__*/jsx("div", {
220
+ var handleDeleteThumbnail = function handleDeleteThumbnail() {
221
+ setFieldValue("thumbnailImage", "");
222
+ setFieldValue("thumbnailImageUrl", "");
223
+ setTimeout(submitForm);
224
+ };
225
+ return /*#__PURE__*/jsxs("div", {
144
226
  className: "neeto-molecules-document__wrapper",
145
227
  "data-testid": "document-editor-container",
146
228
  ref: editorHotkeyRef,
147
- children: /*#__PURE__*/jsxs(FormikEditor, _objectSpread(_objectSpread({
229
+ children: [/*#__PURE__*/jsxs(FormikEditor, _objectSpread(_objectSpread({
148
230
  attachmentsClassName: "editor-content-attachments w-full flex-shrink-0",
149
231
  className: "h-full w-full",
150
232
  contentClassName: "editor-content__wrapper neeto-molecules-document__container",
@@ -179,14 +261,54 @@ var Editor = function Editor(_ref) {
179
261
  onKeyDown: function onKeyDown(e) {
180
262
  return e.key === "Enter" && !e.shiftKey && e.preventDefault();
181
263
  }
182
- }, titleProps)), errors[editorContentFieldName] && /*#__PURE__*/jsx(Typography, {
264
+ }, titleProps)), thumbnailImageUrl && /*#__PURE__*/jsxs("div", {
265
+ className: "group relative mt-4",
266
+ children: [/*#__PURE__*/jsx("img", {
267
+ alt: "Cover",
268
+ className: "w-full",
269
+ src: thumbnailImageUrl
270
+ }), /*#__PURE__*/jsx("div", {
271
+ className: "neeto-ui-rounded-full absolute right-2 top-2",
272
+ children: /*#__PURE__*/jsx(Dropdown, {
273
+ strategy: "fixed",
274
+ buttonProps: {
275
+ style: "secondary",
276
+ size: "small",
277
+ icon: MenuHorizontal,
278
+ className: "neeto-ui-bg-white neeto-ui-shadow-md hover:neeto-ui-bg-gray-50 p-1"
279
+ },
280
+ children: /*#__PURE__*/jsx(Menu, {
281
+ children: /*#__PURE__*/jsx(MenuItem.Button, {
282
+ onClick: handleDeleteThumbnail,
283
+ children: t("neetoMolecules.documentEditor.delete")
284
+ })
285
+ })
286
+ })
287
+ })]
288
+ }), errors[editorContentFieldName] && /*#__PURE__*/jsx(Typography, {
183
289
  className: "neeto-ui-input__error neeto-molecules-editor-content__error",
184
290
  "data-cy": "articles-content-input-error",
185
291
  style: "body3",
186
292
  children: errors[editorContentFieldName]
187
293
  })]
188
294
  })]
189
- }))
295
+ })), /*#__PURE__*/jsxs(Modal, {
296
+ className: "media-uploader-modal p-5 pt-0",
297
+ "data-testid": "thumbnail-image-modal",
298
+ isOpen: isThumbnailImageModalOpen,
299
+ onClose: function onClose() {
300
+ setIsThumbnailImageModalOpen(false);
301
+ },
302
+ children: [/*#__PURE__*/jsx(Modal.Header, {
303
+ className: "ml-0 pl-0",
304
+ children: /*#__PURE__*/jsx(Typography, {
305
+ style: "h2",
306
+ children: t("neetoMolecules.documentEditor.uploadThumbnailImage")
307
+ })
308
+ }), /*#__PURE__*/jsx(MediaUploader, {
309
+ setIsThumbnailImageModalOpen: setIsThumbnailImageModalOpen
310
+ })]
311
+ })]
190
312
  });
191
313
  };
192
314
  Editor.displayName = "DocumentEditor";
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentEditor.js","sources":["../src/components/DocumentEditor/constants.js","../src/components/DocumentEditor/hooks/useEditor.js","../src/components/DocumentEditor/index.jsx"],"sourcesContent":["export const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"video-upload\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"image-upload-unsplash\",\n \"divider\",\n \"video-embed\",\n \"undo\",\n \"redo\",\n \"table\",\n];\n\nexport const DEFAULT_EDITOR_PROPS = {\n isCharacterCountActive: true,\n isMenuIndependent: true,\n addons: [],\n size: \"medium\",\n};\n","import { useCallback } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isPresent } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\n\nconst useEditor = ({\n onContentChange,\n editorContentFieldName,\n onAttachmentChange,\n onTitleChange,\n titleFieldName,\n editorRef,\n titleRef,\n}) => {\n const { setFieldValue, errors } = useFormikContext();\n\n const handleContentChange = useCallback(\n content => {\n setFieldValue(editorContentFieldName, content);\n onContentChange?.(content);\n },\n [editorContentFieldName, onContentChange, setFieldValue]\n );\n\n const handleAttachmentChange = useCallback(\n attachments => {\n setFieldValue(\"attachments\", attachments);\n onAttachmentChange?.(attachments);\n },\n [onAttachmentChange, setFieldValue]\n );\n\n const handleTitleChange = event => {\n const title = event.target.value;\n setFieldValue(titleFieldName, title);\n onTitleChange?.(title);\n };\n\n const handleEditorBackspaceKeypress = () => {\n const editor = editorRef.current?.editor;\n const selection = editor?.state?.selection;\n if (\n editor?.isFocused &&\n isPresent(titleRef.current) &&\n selection?.anchor === 1\n ) {\n const title = titleRef.current.value;\n titleRef.current.focus();\n titleRef.current.setSelectionRange(title?.length, title?.length);\n }\n };\n\n const titleHotkeyRef = useHotkeys(\n \"return\",\n () => {\n editorRef.current?.editor?.commands?.insertContentAt(0, \"<p />\");\n editorRef.current?.editor?.commands?.focus(\"start\");\n },\n { mode: \"scoped\" }\n );\n\n const editorHotkeyRef = useHotkeys(\n \"backspace\",\n handleEditorBackspaceKeypress,\n { mode: \"scoped\" }\n );\n\n return {\n handleContentChange,\n handleAttachmentChange,\n handleTitleChange,\n editorHotkeyRef,\n titleHotkeyRef,\n errors,\n };\n};\n\nexport default useEditor;\n","import { memo, useCallback, useMemo, useRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { Textarea } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_EDITOR_PROPS, EDITOR_ADDONS } from \"./constants\";\nimport \"./editor.scss\";\nimport useEditor from \"./hooks/useEditor\";\n\nconst Editor = ({\n attachments,\n onContentChange,\n onAttachmentChange,\n onTitleChange,\n getTitleRef = noop,\n getEditorRef = noop,\n menuClassName,\n editorContentFieldName = \"htmlContent\",\n titleFieldName = \"title\",\n editorProps: customEditorProps = {},\n titleProps = {},\n children,\n}) => {\n const { t } = useTranslation();\n\n const titleRef = useRef();\n const editorRef = useRef();\n\n const editorProps = mergeRight(DEFAULT_EDITOR_PROPS, customEditorProps);\n\n const {\n handleContentChange,\n handleAttachmentChange,\n handleTitleChange,\n editorHotkeyRef,\n titleHotkeyRef,\n errors,\n } = useEditor({\n onContentChange,\n editorContentFieldName,\n onAttachmentChange,\n onTitleChange,\n titleFieldName,\n editorRef,\n titleRef,\n });\n\n const setTitleRef = node => {\n titleHotkeyRef.current = node;\n getTitleRef(node);\n titleRef.current = node;\n };\n\n const setEditorRef = useCallback(node => {\n editorRef.current = node;\n getEditorRef(node);\n }, []);\n\n const addons = useMemo(\n () => EDITOR_ADDONS.concat(editorProps.addons || []),\n [editorProps.addons]\n );\n\n const handleTab = () => {\n const isListActive =\n editorRef.current?.editor?.isActive(\"orderedList\") ||\n editorRef.current?.editor?.isActive(\"bulletList\");\n\n if (isListActive) {\n editorRef.current?.editor?.commands?.sinkListItem(\"listItem\");\n\n return true;\n }\n\n return true;\n };\n\n return (\n <div\n className=\"neeto-molecules-document__wrapper\"\n data-testid=\"document-editor-container\"\n ref={editorHotkeyRef}\n >\n <FormikEditor\n attachmentsClassName=\"editor-content-attachments w-full flex-shrink-0\"\n className=\"h-full w-full\"\n contentClassName=\"editor-content__wrapper neeto-molecules-document__container\"\n data-cy=\"neeto-molecules-document-content-text-area\"\n error={undefined}\n errorWrapperClassName=\"w-full min-h-full flex flex-col items-center\"\n name={editorContentFieldName}\n ref={setEditorRef}\n menuClassName={classNames(\n \"neeto-molecules-document-editor__menubar\",\n menuClassName\n )}\n {...{ attachments, ...editorProps, addons }}\n contentWrapperClassName=\"w-full flex flex-col flex-grow\"\n keyboardShortcuts={{ Tab: handleTab, ...editorProps.keyboardShortcuts }}\n onChange={handleContentChange}\n onChangeAttachments={handleAttachmentChange}\n >\n {children}\n <div className=\"neeto-molecules-document__container px-4\">\n <Textarea\n nakedTextarea\n className=\"neeto-molecules-document__title\"\n data-cy=\"neeto-molecules-document-title-text-field\"\n name={titleFieldName}\n ref={setTitleRef}\n rows={1}\n placeholder={\n titleProps.placeholder || t(\"neetoMolecules.documentEditor.title\")\n }\n onChange={handleTitleChange}\n onKeyDown={e =>\n e.key === \"Enter\" && !e.shiftKey && e.preventDefault()\n }\n {...titleProps}\n />\n {errors[editorContentFieldName] && (\n <Typography\n className=\"neeto-ui-input__error neeto-molecules-editor-content__error\"\n data-cy=\"articles-content-input-error\"\n style=\"body3\"\n >\n {errors[editorContentFieldName]}\n </Typography>\n )}\n </div>\n </FormikEditor>\n </div>\n );\n};\n\nEditor.propTypes = {\n /**\n * List of initial attachments.\n */\n attachments: PropTypes.arrayOf(\n PropTypes.shape({\n contentType: PropTypes.string,\n filename: PropTypes.string,\n signedId: PropTypes.string,\n url: PropTypes.string,\n })\n ),\n /**\n * Callback that will be triggered when the editor content changes.\n * This function is not throttled.\n */\n onContentChange: PropTypes.func,\n /**\n * Callback that will be triggered when the attachments changes.\n */\n onAttachmentChange: PropTypes.func,\n /**\n * Callback that will be triggered when the article title changes.\n */\n onTitleChange: PropTypes.func,\n /**\n * This function will be called with the title node reference.\n */\n getTitleRef: PropTypes.func,\n /**\n * This function will be called with editor reference.\n */\n getEditorRef: PropTypes.func,\n /**\n * Formik field name of the editor. The default value is `htmlContent`.\n */\n editorContentFieldName: PropTypes.string,\n /**\n * Formik field name of the title. The default value is `title`.\n */\n titleFieldName: PropTypes.string,\n /**\n * These props will be passed down to the editor component.\n */\n editorProps: PropTypes.object,\n /**\n * These props will be passed down to the title text area component.\n */\n titleProps: PropTypes.object,\n /**\n * A prop to pass class names to the editor menubar.\n */\n menuClassName: PropTypes.string,\n /**\n * The children will be rendered above the title input field.\n */\n children: PropTypes.node,\n};\n\nEditor.displayName = \"DocumentEditor\";\n\nexport default memo(Editor);\n"],"names":["EDITOR_ADDONS","DEFAULT_EDITOR_PROPS","isCharacterCountActive","isMenuIndependent","addons","size","useEditor","_ref","onContentChange","editorContentFieldName","onAttachmentChange","onTitleChange","titleFieldName","editorRef","titleRef","_useFormikContext","useFormikContext","setFieldValue","errors","handleContentChange","useCallback","content","handleAttachmentChange","attachments","handleTitleChange","event","title","target","value","handleEditorBackspaceKeypress","_editorRef$current","_editor$state","editor","current","selection","state","isFocused","isPresent","anchor","focus","setSelectionRange","length","titleHotkeyRef","useHotkeys","_editorRef$current2","_editorRef$current3","commands","insertContentAt","mode","editorHotkeyRef","Editor","_ref$getTitleRef","getTitleRef","noop","_ref$getEditorRef","getEditorRef","menuClassName","_ref$editorContentFie","_ref$titleFieldName","_ref$editorProps","editorProps","customEditorProps","_ref$titleProps","titleProps","children","_useTranslation","useTranslation","t","useRef","mergeRight","_useEditor","setTitleRef","node","setEditorRef","useMemo","concat","handleTab","isListActive","isActive","sinkListItem","_jsx","className","ref","_jsxs","FormikEditor","_objectSpread","attachmentsClassName","contentClassName","error","undefined","errorWrapperClassName","name","classNames","contentWrapperClassName","keyboardShortcuts","Tab","onChange","onChangeAttachments","Textarea","nakedTextarea","rows","placeholder","onKeyDown","e","key","shiftKey","preventDefault","Typography","style","displayName","memo"],"mappings":"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"}
1
+ {"version":3,"file":"DocumentEditor.js","sources":["../src/components/DocumentEditor/constants.js","../src/components/DocumentEditor/hooks/useEditor.js","../src/components/DocumentEditor/MediaUploader.jsx","../src/components/DocumentEditor/utils.js","../src/components/DocumentEditor/index.jsx"],"sourcesContent":["export const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"video-upload\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"image-upload-unsplash\",\n \"divider\",\n \"video-embed\",\n \"undo\",\n \"redo\",\n \"table\",\n];\n\nexport const DEFAULT_EDITOR_PROPS = {\n isCharacterCountActive: true,\n isMenuIndependent: true,\n addons: [],\n size: \"medium\",\n};\n\nexport const IMAGE_UPLOAD_CONFIG = {\n maxImageSize: 1,\n allowedImageTypes: {\n \"image/jpg\": [\".jpg\", \".jpeg\"],\n \"image/png\": [\".png\"],\n \"image/svg\": [\".svg\"],\n },\n};\n","import { useCallback } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isPresent } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\n\nconst useEditor = ({\n onContentChange,\n editorContentFieldName,\n onAttachmentChange,\n onTitleChange,\n titleFieldName,\n editorRef,\n titleRef,\n}) => {\n const { setFieldValue, errors } = useFormikContext();\n\n const handleContentChange = useCallback(\n content => {\n setFieldValue(editorContentFieldName, content);\n onContentChange?.(content);\n },\n [editorContentFieldName, onContentChange, setFieldValue]\n );\n\n const handleAttachmentChange = useCallback(\n attachments => {\n setFieldValue(\"attachments\", attachments);\n onAttachmentChange?.(attachments);\n },\n [onAttachmentChange, setFieldValue]\n );\n\n const handleTitleChange = event => {\n const title = event.target.value;\n setFieldValue(titleFieldName, title);\n onTitleChange?.(title);\n };\n\n const handleEditorBackspaceKeypress = () => {\n const editor = editorRef.current?.editor;\n const selection = editor?.state?.selection;\n if (\n editor?.isFocused &&\n isPresent(titleRef.current) &&\n selection?.anchor === 1\n ) {\n const title = titleRef.current.value;\n titleRef.current.focus();\n titleRef.current.setSelectionRange(title?.length, title?.length);\n }\n };\n\n const titleHotkeyRef = useHotkeys(\n \"return\",\n () => {\n editorRef.current?.editor?.commands?.insertContentAt(0, \"<p />\");\n editorRef.current?.editor?.commands?.focus(\"start\");\n },\n { mode: \"scoped\" }\n );\n\n const editorHotkeyRef = useHotkeys(\n \"backspace\",\n handleEditorBackspaceKeypress,\n { mode: \"scoped\" }\n );\n\n return {\n handleContentChange,\n handleAttachmentChange,\n handleTitleChange,\n editorHotkeyRef,\n titleHotkeyRef,\n errors,\n };\n};\n\nexport default useEditor;\n","import { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { useFormikContext } from \"formik\";\nimport { Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { IMAGE_UPLOAD_CONFIG } from \"./constants\";\n\nconst MediaUploader = ({ setIsThumbnailImageModalOpen }) => {\n const {\n values: { thumbnailImageUrl },\n setFieldValue,\n initialValues,\n submitForm,\n } = useFormikContext();\n\n const handleUpload = file => {\n const { url, signedId } = file;\n setFieldValue(\"thumbnailImage\", signedId);\n setFieldValue(\"thumbnailImageUrl\", url);\n setTimeout(() => {\n setIsThumbnailImageModalOpen(false);\n submitForm();\n });\n };\n\n if (isEmpty(initialValues)) {\n return <Spinner />;\n }\n\n return (\n <ImageUploader\n className=\"h-auto w-full\"\n key={thumbnailImageUrl}\n src={thumbnailImageUrl}\n uploadConfig={IMAGE_UPLOAD_CONFIG}\n onUploadComplete={handleUpload}\n />\n );\n};\n\nexport default MediaUploader;\n","import { t } from \"i18next\";\nimport { Image } from \"neetoicons\";\n\nexport const getThumbnailAddon = command => ({\n label: t(\"neetoMolecules.documentEditor.thumbnailImage\"),\n optionName: \"thumbnail-image\",\n command,\n icon: Image,\n isEnabled: true,\n \"data-testid\": \"thumbnail-image-addon\",\n});\n","import { memo, useCallback, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { noop } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Modal, Typography, Dropdown } from \"neetoui\";\nimport { Textarea } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_EDITOR_PROPS, EDITOR_ADDONS } from \"./constants\";\nimport \"./editor.scss\";\nimport useEditor from \"./hooks/useEditor\";\nimport MediaUploader from \"./MediaUploader\";\nimport { getThumbnailAddon } from \"./utils\";\n\nconst Editor = ({\n attachments,\n onContentChange,\n onAttachmentChange,\n onTitleChange,\n getTitleRef = noop,\n getEditorRef = noop,\n menuClassName,\n editorContentFieldName = \"htmlContent\",\n titleFieldName = \"title\",\n editorProps: customEditorProps = {},\n titleProps = {},\n hasThumbnailImage = false,\n children,\n}) => {\n const { t } = useTranslation();\n const { values, setFieldValue, submitForm } = useFormikContext();\n const { thumbnailImageUrl } = values;\n\n const { Menu, MenuItem } = Dropdown;\n\n const titleRef = useRef();\n const editorRef = useRef();\n const [isThumbnailImageModalOpen, setIsThumbnailImageModalOpen] =\n useState(false);\n\n const editorProps = useMemo(() => {\n const baseProps = mergeRight(DEFAULT_EDITOR_PROPS, customEditorProps);\n\n if (!hasThumbnailImage) return baseProps;\n\n const thumbnailAddon = getThumbnailAddon(() =>\n setIsThumbnailImageModalOpen(true)\n );\n\n return mergeRight(baseProps, { addonCommands: [thumbnailAddon] });\n }, [customEditorProps, hasThumbnailImage]);\n\n const {\n handleContentChange,\n handleAttachmentChange,\n handleTitleChange,\n editorHotkeyRef,\n titleHotkeyRef,\n errors,\n } = useEditor({\n onContentChange,\n editorContentFieldName,\n onAttachmentChange,\n onTitleChange,\n titleFieldName,\n editorRef,\n titleRef,\n });\n\n const setTitleRef = node => {\n titleHotkeyRef.current = node;\n getTitleRef(node);\n titleRef.current = node;\n };\n\n const setEditorRef = useCallback(node => {\n editorRef.current = node;\n getEditorRef(node);\n }, []);\n\n const addons = useMemo(\n () => EDITOR_ADDONS.concat(editorProps.addons || []),\n [editorProps.addons]\n );\n\n const handleTab = () => {\n const isListActive =\n editorRef.current?.editor?.isActive(\"orderedList\") ||\n editorRef.current?.editor?.isActive(\"bulletList\");\n\n if (isListActive) {\n editorRef.current?.editor?.commands?.sinkListItem(\"listItem\");\n\n return true;\n }\n\n return true;\n };\n\n const handleDeleteThumbnail = () => {\n setFieldValue(\"thumbnailImage\", \"\");\n setFieldValue(\"thumbnailImageUrl\", \"\");\n setTimeout(submitForm);\n };\n\n return (\n <div\n className=\"neeto-molecules-document__wrapper\"\n data-testid=\"document-editor-container\"\n ref={editorHotkeyRef}\n >\n <FormikEditor\n attachmentsClassName=\"editor-content-attachments w-full flex-shrink-0\"\n className=\"h-full w-full\"\n contentClassName=\"editor-content__wrapper neeto-molecules-document__container\"\n data-cy=\"neeto-molecules-document-content-text-area\"\n error={undefined}\n errorWrapperClassName=\"w-full min-h-full flex flex-col items-center\"\n name={editorContentFieldName}\n ref={setEditorRef}\n menuClassName={classNames(\n \"neeto-molecules-document-editor__menubar\",\n menuClassName\n )}\n {...{ attachments, ...editorProps, addons }}\n contentWrapperClassName=\"w-full flex flex-col flex-grow\"\n keyboardShortcuts={{ Tab: handleTab, ...editorProps.keyboardShortcuts }}\n onChange={handleContentChange}\n onChangeAttachments={handleAttachmentChange}\n >\n {children}\n <div className=\"neeto-molecules-document__container px-4\">\n <Textarea\n nakedTextarea\n className=\"neeto-molecules-document__title\"\n data-cy=\"neeto-molecules-document-title-text-field\"\n name={titleFieldName}\n ref={setTitleRef}\n rows={1}\n placeholder={\n titleProps.placeholder || t(\"neetoMolecules.documentEditor.title\")\n }\n onChange={handleTitleChange}\n onKeyDown={e =>\n e.key === \"Enter\" && !e.shiftKey && e.preventDefault()\n }\n {...titleProps}\n />\n {thumbnailImageUrl && (\n <div className=\"group relative mt-4\">\n <img alt=\"Cover\" className=\"w-full\" src={thumbnailImageUrl} />\n <div className=\"neeto-ui-rounded-full absolute right-2 top-2\">\n <Dropdown\n strategy=\"fixed\"\n buttonProps={{\n style: \"secondary\",\n size: \"small\",\n icon: MenuHorizontal,\n className:\n \"neeto-ui-bg-white neeto-ui-shadow-md hover:neeto-ui-bg-gray-50 p-1\",\n }}\n >\n <Menu>\n <MenuItem.Button onClick={handleDeleteThumbnail}>\n {t(\"neetoMolecules.documentEditor.delete\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </div>\n </div>\n )}\n {errors[editorContentFieldName] && (\n <Typography\n className=\"neeto-ui-input__error neeto-molecules-editor-content__error\"\n data-cy=\"articles-content-input-error\"\n style=\"body3\"\n >\n {errors[editorContentFieldName]}\n </Typography>\n )}\n </div>\n </FormikEditor>\n <Modal\n className=\"media-uploader-modal p-5 pt-0\"\n data-testid=\"thumbnail-image-modal\"\n isOpen={isThumbnailImageModalOpen}\n onClose={() => {\n setIsThumbnailImageModalOpen(false);\n }}\n >\n <Modal.Header className=\"ml-0 pl-0\">\n <Typography style=\"h2\">\n {t(\"neetoMolecules.documentEditor.uploadThumbnailImage\")}\n </Typography>\n </Modal.Header>\n <MediaUploader {...{ setIsThumbnailImageModalOpen }} />\n </Modal>\n </div>\n );\n};\n\nEditor.propTypes = {\n /**\n * List of initial attachments.\n */\n attachments: PropTypes.arrayOf(\n PropTypes.shape({\n contentType: PropTypes.string,\n filename: PropTypes.string,\n signedId: PropTypes.string,\n url: PropTypes.string,\n })\n ),\n /**\n * Callback that will be triggered when the editor content changes.\n * This function is not throttled.\n */\n onContentChange: PropTypes.func,\n /**\n * Callback that will be triggered when the attachments changes.\n */\n onAttachmentChange: PropTypes.func,\n /**\n * Callback that will be triggered when the article title changes.\n */\n onTitleChange: PropTypes.func,\n /**\n * This function will be called with the title node reference.\n */\n getTitleRef: PropTypes.func,\n /**\n * This function will be called with editor reference.\n */\n getEditorRef: PropTypes.func,\n /**\n * Formik field name of the editor. The default value is `htmlContent`.\n */\n editorContentFieldName: PropTypes.string,\n /**\n * Formik field name of the title. The default value is `title`.\n */\n titleFieldName: PropTypes.string,\n /**\n * These props will be passed down to the editor component.\n */\n editorProps: PropTypes.object,\n /**\n * These props will be passed down to the title text area component.\n */\n titleProps: PropTypes.object,\n /**\n * A prop to pass class names to the editor menubar.\n */\n menuClassName: PropTypes.string,\n /**\n * The children will be rendered above the title input field.\n */\n children: PropTypes.node,\n /**\n * A prop to enable the thumbnail image uploader.\n */\n hasThumbnailImage: PropTypes.bool,\n};\n\nEditor.displayName = \"DocumentEditor\";\n\nexport default memo(Editor);\n"],"names":["EDITOR_ADDONS","DEFAULT_EDITOR_PROPS","isCharacterCountActive","isMenuIndependent","addons","size","IMAGE_UPLOAD_CONFIG","maxImageSize","allowedImageTypes","useEditor","_ref","onContentChange","editorContentFieldName","onAttachmentChange","onTitleChange","titleFieldName","editorRef","titleRef","_useFormikContext","useFormikContext","setFieldValue","errors","handleContentChange","useCallback","content","handleAttachmentChange","attachments","handleTitleChange","event","title","target","value","handleEditorBackspaceKeypress","_editorRef$current","_editor$state","editor","current","selection","state","isFocused","isPresent","anchor","focus","setSelectionRange","length","titleHotkeyRef","useHotkeys","_editorRef$current2","_editorRef$current3","commands","insertContentAt","mode","editorHotkeyRef","MediaUploader","setIsThumbnailImageModalOpen","thumbnailImageUrl","values","initialValues","submitForm","handleUpload","file","url","signedId","setTimeout","isEmpty","_jsx","Spinner","ImageUploader","className","src","uploadConfig","onUploadComplete","getThumbnailAddon","command","label","t","optionName","icon","Image","isEnabled","Editor","_ref$getTitleRef","getTitleRef","noop","_ref$getEditorRef","getEditorRef","menuClassName","_ref$editorContentFie","_ref$titleFieldName","_ref$editorProps","editorProps","customEditorProps","_ref$titleProps","titleProps","_ref$hasThumbnailImag","hasThumbnailImage","children","_useTranslation","useTranslation","Menu","Dropdown","MenuItem","useRef","_useState","useState","_useState2","_slicedToArray","isThumbnailImageModalOpen","useMemo","baseProps","mergeRight","thumbnailAddon","addonCommands","_useEditor","setTitleRef","node","setEditorRef","concat","handleTab","isListActive","isActive","sinkListItem","handleDeleteThumbnail","_jsxs","ref","FormikEditor","_objectSpread","attachmentsClassName","contentClassName","error","undefined","errorWrapperClassName","name","classNames","contentWrapperClassName","keyboardShortcuts","Tab","onChange","onChangeAttachments","Textarea","nakedTextarea","rows","placeholder","onKeyDown","e","key","shiftKey","preventDefault","alt","strategy","buttonProps","style","MenuHorizontal","Button","onClick","Typography","Modal","isOpen","onClose","Header","displayName","memo"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Link as Link$1, useLocation, useHistory, useRouteMatch, Switch, Route }
4
4
  import ErrorPage from './ErrorPage.js';
5
5
  import classnames from 'classnames';
6
6
  import Typography from '@bigbinary/neetoui/Typography';
7
- import { includes, __, omit } from 'ramda';
7
+ import { prop, includes, __, omit } from 'ramda';
8
8
  import { useTranslation } from 'react-i18next';
9
9
  import Container from './Container.js';
10
10
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -404,6 +404,7 @@ var RegenerateURL = function RegenerateURL(_ref) {
404
404
  disabledDate: function disabledDate(d) {
405
405
  return !d || d.isBefore(dayjs());
406
406
  },
407
+ getPopupContainer: prop("parentNode"),
407
408
  picker: "date",
408
409
  type: "date",
409
410
  value: selectedExpiresOnDate,