@toptal/picasso 26.1.2 → 26.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DatePicker/utils.d.ts +3 -3
- package/QuillEditor/LazyQuillEditor.d.ts +1 -0
- package/QuillEditor/QuillEditor.d.ts +3 -1
- package/QuillEditor/QuillEditor.js +2 -2
- package/QuillEditor/QuillEditor.js.map +1 -1
- package/QuillEditor/constants.d.ts +1 -0
- package/QuillEditor/constants.js +1 -0
- package/QuillEditor/constants.js.map +1 -1
- package/QuillEditor/formats/index.d.ts +1 -0
- package/QuillEditor/formats/index.js +1 -0
- package/QuillEditor/formats/index.js.map +1 -1
- package/QuillEditor/formats/link.d.ts +8 -0
- package/QuillEditor/formats/link.js +24 -0
- package/QuillEditor/formats/link.js.map +1 -0
- package/QuillEditor/hooks/useQuillInstance/useQuillInstance.d.ts +4 -2
- package/QuillEditor/hooks/useQuillInstance/useQuillInstance.js +46 -8
- package/QuillEditor/hooks/useQuillInstance/useQuillInstance.js.map +1 -1
- package/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.js +17 -3
- package/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.js.map +1 -1
- package/QuillEditor/types.d.ts +6 -0
- package/RatingThumbs/RatingThumbs.js +3 -3
- package/RatingThumbs/RatingThumbs.js.map +1 -1
- package/RichText/hooks/useRichText/useRichText.js +6 -0
- package/RichText/hooks/useRichText/useRichText.js.map +1 -1
- package/RichText/types.d.ts +1 -1
- package/RichTextEditor/RichTextEditor.d.ts +3 -0
- package/RichTextEditor/RichTextEditor.js +10 -5
- package/RichTextEditor/RichTextEditor.js.map +1 -1
- package/RichTextEditor/hooks/useOnSelectionChange/useOnSelectionChange.js +2 -1
- package/RichTextEditor/hooks/useOnSelectionChange/useOnSelectionChange.js.map +1 -1
- package/RichTextEditor/hooks/useOnTextFormat/useOnTextFormat.js +5 -1
- package/RichTextEditor/hooks/useOnTextFormat/useOnTextFormat.js.map +1 -1
- package/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.d.ts +1 -0
- package/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.js +23 -0
- package/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.js.map +1 -1
- package/RichTextEditor/store/toolbar/actionTypes.d.ts +1 -0
- package/RichTextEditor/store/toolbar/actionTypes.js +1 -0
- package/RichTextEditor/store/toolbar/actionTypes.js.map +1 -1
- package/RichTextEditor/store/toolbar/actions.d.ts +2 -1
- package/RichTextEditor/store/toolbar/actions.js +2 -0
- package/RichTextEditor/store/toolbar/actions.js.map +1 -1
- package/RichTextEditor/store/toolbar/initialState.js +1 -0
- package/RichTextEditor/store/toolbar/initialState.js.map +1 -1
- package/RichTextEditor/store/toolbar/reducer.js +2 -0
- package/RichTextEditor/store/toolbar/reducer.js.map +1 -1
- package/RichTextEditor/store/toolbar/types.d.ts +7 -1
- package/RichTextEditor/utils/convertFormat.d.ts +2 -1
- package/RichTextEditor/utils/convertFormat.js +2 -0
- package/RichTextEditor/utils/convertFormat.js.map +1 -1
- package/RichTextEditorToolbar/RichTextEditorToolbar.d.ts +4 -0
- package/RichTextEditorToolbar/RichTextEditorToolbar.js +7 -3
- package/RichTextEditorToolbar/RichTextEditorToolbar.js.map +1 -1
- package/RichTextEditorToolbar/types.d.ts +2 -0
- package/ScrollMenu/ScrollMenu.d.ts +1 -1
- package/SelectBase/utils/get-selected-options/get-selected-options.d.ts +1 -1
- package/SelectBase/utils/is-empty/is-empty.d.ts +1 -1
- package/TreeView/useFinalMargins.d.ts +1 -1
- package/Typography/styles.d.ts +1 -1
- package/Typography/styles.js +3 -0
- package/Typography/styles.js.map +1 -1
- package/package.json +3 -3
- package/test-utils/index.d.ts +1 -1
- package/utils/Notifications/use-notifications.d.ts +4 -4
- package/utils/html-to-hast.js +1 -1
- package/utils/html-to-hast.js.map +1 -1
package/DatePicker/utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DatePickerInputValueParserParameters } from './types';
|
|
2
2
|
import { DateOrDateRangeType, DateRangeType } from '../Calendar';
|
|
3
|
-
export declare const timezoneConvert: (date: DateOrDateRangeType, timeZone?: string) => DateOrDateRangeType;
|
|
4
|
-
export declare const timezoneFormat: (date: Date, timeZone?: string) => Date;
|
|
3
|
+
export declare const timezoneConvert: (date: DateOrDateRangeType, timeZone?: string | undefined) => DateOrDateRangeType;
|
|
4
|
+
export declare const timezoneFormat: (date: Date, timeZone?: string | undefined) => Date;
|
|
5
5
|
export declare const formatDateRange: (dates: DateRangeType, format: string) => string;
|
|
6
6
|
export declare const isDateValid: (date: string, pattern: string) => boolean;
|
|
7
7
|
export declare const isDateAfter: (date: Date, dateToCompare: Date) => boolean;
|
|
@@ -9,4 +9,4 @@ export declare const isDateBefore: (date: Date, dateToCompare: Date) => boolean;
|
|
|
9
9
|
export declare const isDateWithinInterval: (date: Date, minDate: Date | undefined, maxDate: Date | undefined) => boolean;
|
|
10
10
|
export declare const datePickerParseDateString: (value: string, { customParser, dateFormat, timezone, minDate, maxDate, }: DatePickerInputValueParserParameters) => Date | undefined;
|
|
11
11
|
export declare const isValidDateValue: (dateValue: DateOrDateRangeType | string) => dateValue is DateOrDateRangeType;
|
|
12
|
-
export declare const getStartOfTheDayDate: (date?: Date) => Date | undefined;
|
|
12
|
+
export declare const getStartOfTheDayDate: (date?: Date | undefined) => Date | undefined;
|
|
@@ -5,6 +5,7 @@ declare const LazyQuillEditor: React.ForwardRefExoticComponent<import("@toptal/p
|
|
|
5
5
|
id: string;
|
|
6
6
|
isFocused: boolean;
|
|
7
7
|
placeholder?: string | undefined;
|
|
8
|
+
plugins?: "link"[] | undefined;
|
|
8
9
|
onSelectionChange: import("./types").SelectionHandler;
|
|
9
10
|
onTextFormat: import("./types").TextFormatHandler;
|
|
10
11
|
onTextChange: import("./types").ChangeHandler;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BaseProps } from '@toptal/picasso-shared';
|
|
3
|
-
import { TextFormatHandler, ChangeHandler, SelectionHandler, TextLengthChangeHandler } from './types';
|
|
3
|
+
import type { TextFormatHandler, ChangeHandler, SelectionHandler, TextLengthChangeHandler, EditorPlugin } from './types';
|
|
4
4
|
export declare type Props = BaseProps & {
|
|
5
5
|
/**
|
|
6
6
|
* HTML string
|
|
@@ -10,6 +10,7 @@ export declare type Props = BaseProps & {
|
|
|
10
10
|
id: string;
|
|
11
11
|
isFocused: boolean;
|
|
12
12
|
placeholder?: string;
|
|
13
|
+
plugins?: EditorPlugin[];
|
|
13
14
|
onSelectionChange: SelectionHandler;
|
|
14
15
|
onTextFormat: TextFormatHandler;
|
|
15
16
|
onTextChange: ChangeHandler;
|
|
@@ -24,6 +25,7 @@ declare const QuillEditor: React.ForwardRefExoticComponent<BaseProps & {
|
|
|
24
25
|
id: string;
|
|
25
26
|
isFocused: boolean;
|
|
26
27
|
placeholder?: string | undefined;
|
|
28
|
+
plugins?: "link"[] | undefined;
|
|
27
29
|
onSelectionChange: SelectionHandler;
|
|
28
30
|
onTextFormat: TextFormatHandler;
|
|
29
31
|
onTextChange: ChangeHandler;
|
|
@@ -4,8 +4,8 @@ import { useCombinedRefs } from '../utils';
|
|
|
4
4
|
import useQuillInstance from './hooks/useQuillInstance';
|
|
5
5
|
import { useFocus, useSubscribeToQuillEvents, useDisabledEditor, useKeyBindings, useSubscribeToTextEditorEvents, } from './hooks';
|
|
6
6
|
import useDefaultValue from './hooks/useDefaultValue';
|
|
7
|
-
const QuillEditor = forwardRef(function QuillEditor({ defaultValue, disabled, 'data-testid': dataTestId, id, isFocused, placeholder, onTextLengthChange, onSelectionChange, onTextFormat, onTextChange, }, ref) {
|
|
8
|
-
const quill = useQuillInstance({ id, placeholder });
|
|
7
|
+
const QuillEditor = forwardRef(function QuillEditor({ defaultValue, disabled, 'data-testid': dataTestId, id, isFocused, placeholder, onTextLengthChange, onSelectionChange, onTextFormat, onTextChange, plugins, }, ref) {
|
|
8
|
+
const quill = useQuillInstance({ id, placeholder, plugins });
|
|
9
9
|
const editorRef = useCombinedRefs(ref, useRef(null));
|
|
10
10
|
useFocus({ isFocused, quill });
|
|
11
11
|
useDisabledEditor({ disabled, quill });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillEditor.js","sourceRoot":"","sources":["../../src/QuillEditor/QuillEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAGjD,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AACvD,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,8BAA8B,GAC/B,MAAM,SAAS,CAAA;AAChB,OAAO,eAAe,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"QuillEditor.js","sourceRoot":"","sources":["../../src/QuillEditor/QuillEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAGjD,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AACvD,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,8BAA8B,GAC/B,MAAM,SAAS,CAAA;AAChB,OAAO,eAAe,MAAM,yBAAyB,CAAA;AAyBrD,MAAM,WAAW,GAAG,UAAU,CAAwB,SAAS,WAAW,CACxE,EACE,YAAY,EACZ,QAAQ,EACR,aAAa,EAAE,UAAU,EACzB,EAAE,EACF,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,EACD,GAAG;IAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5D,MAAM,SAAS,GAAG,eAAe,CAC/B,GAAG,EACH,MAAM,CAAiB,IAAI,CAAC,CAC7B,CAAA;IAED,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9B,iBAAiB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IACtC,cAAc,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;IACvC,yBAAyB,CAAC;QACxB,KAAK;QACL,YAAY;QACZ,iBAAiB;QACjB,kBAAkB;KACnB,CAAC,CAAA;IACF,8BAA8B,CAAC;QAC7B,SAAS;QACT,KAAK;KACN,CAAC,CAAA;IACF,eAAe,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;IAExC,OAAO,oBAAC,eAAe,IAAC,GAAG,EAAE,SAAS,iBAAe,UAAU,EAAE,EAAE,EAAE,EAAE,GAAI,CAAA;AAC7E,CAAC,CAAC,CAAA;AAEF,WAAW,CAAC,YAAY,GAAG;IACzB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC5B,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;CACvB,CAAA;AAED,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC,eAAe,WAAW,CAAA"}
|
package/QuillEditor/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/QuillEditor/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/QuillEditor/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG,qBAAqB,CAAA;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,uCAAuC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as makeHeaderFormat } from './header';
|
|
2
2
|
export { default as makeBoldFormat } from './bold';
|
|
3
3
|
export { default as useTypographyClasses } from './use-typography-classes';
|
|
4
|
+
export { default as makeLinkFormat } from './link';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/QuillEditor/formats/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/QuillEditor/formats/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,QAAQ,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Classes } from '@toptal/picasso-shared';
|
|
2
|
+
declare const QuillLink: any;
|
|
3
|
+
declare class LinkBlot extends QuillLink {
|
|
4
|
+
static typographyClasses: Classes;
|
|
5
|
+
static create(value: string): Element;
|
|
6
|
+
}
|
|
7
|
+
declare const makeLinkFormat: (typographyClasses: Classes) => typeof LinkBlot;
|
|
8
|
+
export default makeLinkFormat;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Quill from 'quill';
|
|
2
|
+
import getTypographyClassName from '../../Typography/utils/get-typography-class-name';
|
|
3
|
+
const QuillLink = Quill.import('formats/link');
|
|
4
|
+
class LinkBlot extends QuillLink {
|
|
5
|
+
static create(value) {
|
|
6
|
+
const node = super.create(value);
|
|
7
|
+
node.setAttribute('class', getTypographyClassName(this.typographyClasses, {
|
|
8
|
+
variant: 'body',
|
|
9
|
+
size: 'inherit',
|
|
10
|
+
// we don't expose blue color in typography since it should be used only for links.
|
|
11
|
+
// in this case we are simulating look of the link
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
color: 'blue',
|
|
14
|
+
weight: 'inherit',
|
|
15
|
+
}));
|
|
16
|
+
return node;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const makeLinkFormat = (typographyClasses) => {
|
|
20
|
+
LinkBlot.typographyClasses = typographyClasses;
|
|
21
|
+
return LinkBlot;
|
|
22
|
+
};
|
|
23
|
+
export default makeLinkFormat;
|
|
24
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/QuillEditor/formats/link.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,sBAAsB,MAAM,kDAAkD,CAAA;AAErF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAE9C,MAAM,QAAS,SAAQ,SAAS;IAE9B,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,IAAI,GAAY,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEzC,IAAI,CAAC,YAAY,CACf,OAAO,EACP,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7C,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,SAAS;YACf,mFAAmF;YACnF,kDAAkD;YAClD,aAAa;YACb,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,SAAS;SAClB,CAAC,CACH,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,MAAM,cAAc,GAAG,CAAC,iBAA0B,EAAE,EAAE;IACpD,QAAQ,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAE9C,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import Quill, { QuillOptionsStatic } from 'quill';
|
|
2
2
|
import 'quill-paste-smart';
|
|
3
|
+
import type { EditorPlugin } from '../../types';
|
|
3
4
|
export declare type EditorOptionsType = {
|
|
4
5
|
id: string;
|
|
5
6
|
placeholder?: string;
|
|
7
|
+
plugins?: EditorPlugin[];
|
|
6
8
|
};
|
|
7
|
-
export declare const getModules: () => QuillOptionsStatic['modules'];
|
|
8
|
-
declare const useQuillInstance: ({ id, placeholder, }: EditorOptionsType) => Quill | undefined;
|
|
9
|
+
export declare const getModules: (plugins: EditorOptionsType['plugins']) => QuillOptionsStatic['modules'];
|
|
10
|
+
declare const useQuillInstance: ({ id, placeholder, plugins, }: EditorOptionsType) => Quill | undefined;
|
|
9
11
|
export default useQuillInstance;
|
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
import { useEffect, useState } from 'react';
|
|
2
2
|
import Quill from 'quill';
|
|
3
3
|
import 'quill-paste-smart';
|
|
4
|
-
import { useTypographyClasses, makeHeaderFormat, makeBoldFormat, } from '../../formats';
|
|
5
|
-
export const getModules = () => {
|
|
4
|
+
import { useTypographyClasses, makeHeaderFormat, makeBoldFormat, makeLinkFormat, } from '../../formats';
|
|
5
|
+
export const getModules = (plugins) => {
|
|
6
|
+
const allowLinks = plugins === null || plugins === void 0 ? void 0 : plugins.includes('link');
|
|
7
|
+
const allowedTags = [
|
|
8
|
+
'b',
|
|
9
|
+
'strong',
|
|
10
|
+
'i',
|
|
11
|
+
'em',
|
|
12
|
+
'p',
|
|
13
|
+
'br',
|
|
14
|
+
'ul',
|
|
15
|
+
'ol',
|
|
16
|
+
'li',
|
|
17
|
+
'h3',
|
|
18
|
+
];
|
|
19
|
+
const allowedAttributes = [];
|
|
20
|
+
if (allowLinks) {
|
|
21
|
+
allowedTags.push('a');
|
|
22
|
+
allowedAttributes.push('href');
|
|
23
|
+
}
|
|
6
24
|
return {
|
|
7
25
|
clipboard: {
|
|
8
26
|
matchVisual: false,
|
|
9
27
|
allowed: {
|
|
10
28
|
// unsupported tags will be also removed on BE side, so before extending
|
|
11
29
|
// make sure, that our API supports new type
|
|
12
|
-
tags:
|
|
13
|
-
attributes:
|
|
30
|
+
tags: allowedTags,
|
|
31
|
+
attributes: allowedAttributes,
|
|
14
32
|
},
|
|
15
33
|
keepSelection: true,
|
|
16
34
|
substituteBlockElements: true,
|
|
@@ -50,18 +68,38 @@ const formats = [
|
|
|
50
68
|
'header',
|
|
51
69
|
'list',
|
|
52
70
|
];
|
|
53
|
-
const
|
|
71
|
+
const Inline = Quill.import('blots/inline');
|
|
72
|
+
// We need link to be wrapped by other inline HTML tags to keep proper styling
|
|
73
|
+
// Lower index means deeper in the DOM tree, since not found (-1) is for embeds
|
|
74
|
+
Inline.order = [
|
|
75
|
+
'cursor',
|
|
76
|
+
'link',
|
|
77
|
+
'inline',
|
|
78
|
+
'underline',
|
|
79
|
+
'strike',
|
|
80
|
+
'italic',
|
|
81
|
+
'bold',
|
|
82
|
+
'script',
|
|
83
|
+
'code', // Must be higher
|
|
84
|
+
];
|
|
85
|
+
const useQuillInstance = ({ id, placeholder, plugins, }) => {
|
|
54
86
|
const [quill, setQuill] = useState();
|
|
55
87
|
const typographyClasses = useTypographyClasses();
|
|
56
88
|
useEffect(() => {
|
|
89
|
+
const extendedFormats = [...formats];
|
|
57
90
|
Quill.register(makeHeaderFormat(typographyClasses), true);
|
|
58
91
|
Quill.register(makeBoldFormat(typographyClasses), true);
|
|
92
|
+
const allowLinks = plugins === null || plugins === void 0 ? void 0 : plugins.includes('link');
|
|
93
|
+
if (allowLinks) {
|
|
94
|
+
Quill.register(makeLinkFormat(typographyClasses), true);
|
|
95
|
+
extendedFormats.push('link');
|
|
96
|
+
}
|
|
59
97
|
setQuill(new Quill(`#${id}`, {
|
|
60
|
-
modules: getModules(),
|
|
61
|
-
formats,
|
|
98
|
+
modules: getModules(plugins),
|
|
99
|
+
formats: extendedFormats,
|
|
62
100
|
placeholder,
|
|
63
101
|
}));
|
|
64
|
-
}, [typographyClasses, id, placeholder]);
|
|
102
|
+
}, [typographyClasses, id, placeholder, plugins]);
|
|
65
103
|
return quill;
|
|
66
104
|
};
|
|
67
105
|
export default useQuillInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuillInstance.js","sourceRoot":"","sources":["../../../../src/QuillEditor/hooks/useQuillInstance/useQuillInstance.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,KAA6B,MAAM,OAAO,CAAA;AACjD,OAAO,mBAAmB,CAAA;AAE1B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"useQuillInstance.js","sourceRoot":"","sources":["../../../../src/QuillEditor/hooks/useQuillInstance/useQuillInstance.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useEffect, useMemo } from 'react';
|
|
2
|
-
import { CUSTOM_QUILL_EDITOR_FORMAT_EVENT } from '../../constants';
|
|
1
|
+
import { useCallback, useEffect, useMemo } from 'react';
|
|
2
|
+
import { CUSTOM_QUILL_EDITOR_FORMAT_EVENT, INSERT_DEFAULT_LINK_TEXT, } from '../../constants';
|
|
3
3
|
import getFormatChangeHandler from '../../utils/getFormatChangeHandler';
|
|
4
4
|
const useSubscribeToTextEditorEvents = ({ editorRef, quill, }) => {
|
|
5
5
|
const formatChangeHandler = useMemo(() => {
|
|
@@ -8,16 +8,30 @@ const useSubscribeToTextEditorEvents = ({ editorRef, quill, }) => {
|
|
|
8
8
|
}
|
|
9
9
|
return getFormatChangeHandler(quill);
|
|
10
10
|
}, [quill]);
|
|
11
|
+
const insertDefaultLinkText = useCallback(({ detail }) => {
|
|
12
|
+
var _a;
|
|
13
|
+
if (!quill) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const { link } = detail;
|
|
17
|
+
const selection = (_a = quill.getSelection(true)) !== null && _a !== void 0 ? _a : { index: 0, length: 0 };
|
|
18
|
+
if (selection.length === 0) {
|
|
19
|
+
quill.insertText(selection.index, link);
|
|
20
|
+
quill.setSelection(quill.getLength() - 1 - link.length, quill.getLength());
|
|
21
|
+
}
|
|
22
|
+
}, [quill]);
|
|
11
23
|
useEffect(() => {
|
|
12
24
|
const editor = editorRef.current;
|
|
13
25
|
if (!editor) {
|
|
14
26
|
return;
|
|
15
27
|
}
|
|
16
28
|
editor.addEventListener(CUSTOM_QUILL_EDITOR_FORMAT_EVENT, formatChangeHandler, false);
|
|
29
|
+
editor.addEventListener(INSERT_DEFAULT_LINK_TEXT, insertDefaultLinkText, false);
|
|
17
30
|
return () => {
|
|
18
31
|
editor === null || editor === void 0 ? void 0 : editor.removeEventListener(CUSTOM_QUILL_EDITOR_FORMAT_EVENT, formatChangeHandler, false);
|
|
32
|
+
editor === null || editor === void 0 ? void 0 : editor.removeEventListener(INSERT_DEFAULT_LINK_TEXT, insertDefaultLinkText, false);
|
|
19
33
|
};
|
|
20
|
-
}, [editorRef, formatChangeHandler]);
|
|
34
|
+
}, [editorRef, formatChangeHandler, insertDefaultLinkText]);
|
|
21
35
|
};
|
|
22
36
|
export default useSubscribeToTextEditorEvents;
|
|
23
37
|
//# sourceMappingURL=useSubscribeToTextEditorEvents.js.map
|
package/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSubscribeToTextEditorEvents.js","sourceRoot":"","sources":["../../../../src/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"useSubscribeToTextEditorEvents.js","sourceRoot":"","sources":["../../../../src/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAGvD,OAAO,EACL,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,iBAAiB,CAAA;AACxB,OAAO,sBAAsB,MAAM,oCAAoC,CAAA;AAEvE,MAAM,8BAA8B,GAAG,CAAC,EACtC,SAAS,EACT,KAAK,GAIN,EAAE,EAAE;IACH,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;SAChB;QAED,OAAO,sBAAsB,CAAC,KAAK,CAAkB,CAAA;IACvD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;QACb,IAAI,CAAC,KAAK,EAAE;YACV,OAAM;SACP;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;QAEvB,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,mCAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;QAErE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACvC,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EACnC,KAAK,CAAC,SAAS,EAAE,CAClB,CAAA;SACF;IACH,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAA;QAEhC,IAAI,CAAC,MAAM,EAAE;YACX,OAAM;SACP;QAED,MAAM,CAAC,gBAAgB,CACrB,gCAAgC,EAChC,mBAAmB,EACnB,KAAK,CACN,CAAA;QAED,MAAM,CAAC,gBAAgB,CACrB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,CACN,CAAA;QAED,OAAO,GAAG,EAAE;YACV,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CACzB,gCAAgC,EAChC,mBAAmB,EACnB,KAAK,CACN,CAAA;YACD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CACzB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,CACN,CAAA;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,eAAe,8BAA8B,CAAA"}
|
package/QuillEditor/types.d.ts
CHANGED
|
@@ -2,11 +2,13 @@ export declare type BoldValue = boolean | undefined;
|
|
|
2
2
|
export declare type ItalicValue = boolean | undefined;
|
|
3
3
|
export declare type ListValue = 'bullet' | 'ordered' | undefined;
|
|
4
4
|
export declare type HeaderValue = 3 | undefined;
|
|
5
|
+
export declare type LinkValue = string | undefined;
|
|
5
6
|
export declare type FormatType = {
|
|
6
7
|
bold: BoldValue;
|
|
7
8
|
italic: ItalicValue;
|
|
8
9
|
list: ListValue;
|
|
9
10
|
header: HeaderValue;
|
|
11
|
+
link: LinkValue;
|
|
10
12
|
};
|
|
11
13
|
export declare type TextFormatHandlerEvent = {
|
|
12
14
|
formatName: 'bold';
|
|
@@ -20,8 +22,12 @@ export declare type TextFormatHandlerEvent = {
|
|
|
20
22
|
} | {
|
|
21
23
|
formatName: 'header';
|
|
22
24
|
value: HeaderValue;
|
|
25
|
+
} | {
|
|
26
|
+
formatName: 'link';
|
|
27
|
+
value: LinkValue;
|
|
23
28
|
};
|
|
24
29
|
export declare type TextFormatHandler = (e: TextFormatHandlerEvent) => void;
|
|
25
30
|
export declare type SelectionHandler = (format: FormatType) => void;
|
|
26
31
|
export declare type ChangeHandler = (html: string) => void;
|
|
27
32
|
export declare type TextLengthChangeHandler = (length: number) => void;
|
|
33
|
+
export declare type EditorPlugin = 'link';
|
|
@@ -18,7 +18,7 @@ export const RatingThumbs = forwardRef(function RatingThumbs({ name, interactive
|
|
|
18
18
|
const [ThumbsUp, ThumbsDown] = componentsBySize[size];
|
|
19
19
|
const handleChange = useCallback((event) => {
|
|
20
20
|
if (interactive) {
|
|
21
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(event.target.value === "positive" /*
|
|
21
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(event.target.value === "positive" /* POSITIVE */, event);
|
|
22
22
|
}
|
|
23
23
|
}, [onChange, interactive]);
|
|
24
24
|
return (React.createElement(Container, { ref: ref },
|
|
@@ -27,13 +27,13 @@ export const RatingThumbs = forwardRef(function RatingThumbs({ name, interactive
|
|
|
27
27
|
[classes.interactiveThumbs]: interactive,
|
|
28
28
|
[classes.thumbsPositive]: value === true,
|
|
29
29
|
}) }),
|
|
30
|
-
React.createElement("input", { id: positiveInputId, className: classes.radio, type: 'radio', name: name, value: "positive" /*
|
|
30
|
+
React.createElement("input", { id: positiveInputId, className: classes.radio, type: 'radio', name: name, value: "positive" /* POSITIVE */, onChange: handleChange, readOnly: !interactive, checked: value === true, "data-testid": testIds.positiveInput })),
|
|
31
31
|
React.createElement("label", { className: classes.label, htmlFor: negativeInputId },
|
|
32
32
|
React.createElement(ThumbsDown, { className: classNames(classes.thumbs, {
|
|
33
33
|
[classes.interactiveThumbs]: interactive,
|
|
34
34
|
[classes.thumbsNegative]: value === false,
|
|
35
35
|
}) }),
|
|
36
|
-
React.createElement("input", { id: negativeInputId, className: classes.radio, type: 'radio', name: name, value: "negative" /*
|
|
36
|
+
React.createElement("input", { id: negativeInputId, className: classes.radio, type: 'radio', name: name, value: "negative" /* NEGATIVE */, onChange: handleChange, readOnly: !interactive, checked: value === false, "data-testid": testIds.negativeInput }))));
|
|
37
37
|
});
|
|
38
38
|
RatingThumbs.displayName = 'RatingThumbs';
|
|
39
39
|
export default RatingThumbs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RatingThumbs.js","sourceRoot":"","sources":["../../src/RatingThumbs/RatingThumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAE5D,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,EAAe,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,MAAM,MAAM,UAAU,CAAA;AAqC7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,CAAC,CAAA;AAO3C,MAAM,gBAAgB,GAAG;IACvB,KAAK,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;IACjC,KAAK,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;CACzB,CAAA;AAEV,IAAI,QAAQ,GAAG,CAAC,CAAA;AAEhB,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CACpC,SAAS,YAAY,CACnB,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,IAAI,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,EAC3E,GAAG;IAEH,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEjD,MAAM,eAAe,GAAG,GAAG,YAAY,YAAY,CAAA;IACnD,MAAM,eAAe,GAAG,GAAG,YAAY,WAAW,CAAA;IAElD,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAErD,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAoC,EAAE,EAAE;QACvC,IAAI,WAAW,EAAE;YACf,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,CAAC,MAAM,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"RatingThumbs.js","sourceRoot":"","sources":["../../src/RatingThumbs/RatingThumbs.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import Typography from '../../../Typography';
|
|
|
15
15
|
import Container from '../../../Container';
|
|
16
16
|
import List from '../../../List';
|
|
17
17
|
import ListItem from '../../../ListItem';
|
|
18
|
+
import Link from '../../../Link';
|
|
18
19
|
// List internaly passes another props to ListItem
|
|
19
20
|
const Li = (_a) => {
|
|
20
21
|
var { children } = _a, props = __rest(_a, ["children"]);
|
|
@@ -28,6 +29,10 @@ const H3 = ({ children }) => (React.createElement(Container, { top: 'xsmall' },
|
|
|
28
29
|
React.createElement(Typography, { as: 'h3', variant: 'heading', size: 'medium' }, children)));
|
|
29
30
|
const Ul = ({ children }) => React.createElement(List, { variant: 'unordered' }, children);
|
|
30
31
|
const Ol = ({ children }) => React.createElement(List, { variant: 'ordered' }, children);
|
|
32
|
+
const A = (_a) => {
|
|
33
|
+
var { children } = _a, props = __rest(_a, ["children"]);
|
|
34
|
+
return React.createElement(Link, Object.assign({}, props), children);
|
|
35
|
+
};
|
|
31
36
|
const componentMap = {
|
|
32
37
|
p: P,
|
|
33
38
|
strong: Strong,
|
|
@@ -36,6 +41,7 @@ const componentMap = {
|
|
|
36
41
|
li: Li,
|
|
37
42
|
ol: Ol,
|
|
38
43
|
ul: Ul,
|
|
44
|
+
a: A,
|
|
39
45
|
};
|
|
40
46
|
const picassoMapper = (child) => {
|
|
41
47
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRichText.js","sourceRoot":"","sources":["../../../../src/RichText/hooks/useRichText/useRichText.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAA;AACrC,OAAO,KAAK,EAAE,EACZ,OAAO,EACP,aAAa,EAEb,cAAc,GAGf,MAAM,OAAO,CAAA;AAGd,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAC5C,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAC1C,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,QAAQ,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"useRichText.js","sourceRoot":"","sources":["../../../../src/RichText/hooks/useRichText/useRichText.tsx"],"names":[],"mappings":"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"}
|
package/RichText/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare type TextType = {
|
|
|
4
4
|
};
|
|
5
5
|
export declare type ElementType = {
|
|
6
6
|
type: 'element';
|
|
7
|
-
tagName: 'p' | 'h3' | 'strong' | 'em' | 'ul' | 'ol' | 'li' | 'br';
|
|
7
|
+
tagName: 'p' | 'h3' | 'strong' | 'em' | 'ul' | 'ol' | 'li' | 'br' | 'a';
|
|
8
8
|
properties: {};
|
|
9
9
|
children: ASTChildType[];
|
|
10
10
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BaseProps } from '@toptal/picasso-shared';
|
|
3
|
+
import { EditorPlugin } from '../QuillEditor';
|
|
3
4
|
import { ASTType } from '../RichText';
|
|
4
5
|
import { Status } from '../OutlinedInput';
|
|
5
6
|
import { CounterMessageSetter } from './types';
|
|
@@ -53,6 +54,8 @@ export interface Props extends BaseProps {
|
|
|
53
54
|
onFocus?: () => void;
|
|
54
55
|
/** The placeholder attribute specifies a short hint that describes the expected value of a text editor. */
|
|
55
56
|
placeholder?: string;
|
|
57
|
+
/** List of plugins to enable on the editor */
|
|
58
|
+
plugins?: EditorPlugin[];
|
|
56
59
|
testIds?: {
|
|
57
60
|
wrapper?: string;
|
|
58
61
|
editor?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { forwardRef, useRef, useState } from 'react';
|
|
1
|
+
import React, { forwardRef, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import { makeStyles } from '@material-ui/core/styles';
|
|
3
3
|
import cx from 'classnames';
|
|
4
4
|
import hastUtilToHtml from 'hast-util-to-html';
|
|
@@ -15,7 +15,7 @@ const useStyles = makeStyles(styles, {
|
|
|
15
15
|
name: 'RichTextEditor',
|
|
16
16
|
});
|
|
17
17
|
export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
18
|
-
const { 'data-testid': dataTestId, autoFocus = false, className, defaultValue, disabled, id, onChange = noop, onFocus = noop, onBlur = noop, placeholder, minLength, maxLength, minLengthMessage, maxLengthMessage, style, status, testIds, } = props;
|
|
18
|
+
const { 'data-testid': dataTestId, plugins, autoFocus = false, className, defaultValue, disabled, id, onChange = noop, onFocus = noop, onBlur = noop, placeholder, minLength, maxLength, minLengthMessage, maxLengthMessage, style, status, testIds, } = props;
|
|
19
19
|
const classes = useStyles();
|
|
20
20
|
const toolbarRef = useRef(null);
|
|
21
21
|
const editorRef = useRef(null);
|
|
@@ -29,7 +29,7 @@ export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
|
29
29
|
});
|
|
30
30
|
const { handleSelectionChange } = useOnSelectionChange({ dispatch });
|
|
31
31
|
const { handleTextFormat } = useOnTextFormat({ dispatch });
|
|
32
|
-
const { handleBold, handleItalic, handleHeader, handleOrdered, handleUnordered, } = useToolbarHandlers({
|
|
32
|
+
const { handleBold, handleItalic, handleHeader, handleOrdered, handleUnordered, handleLink, } = useToolbarHandlers({
|
|
33
33
|
editorRef,
|
|
34
34
|
handleTextFormat,
|
|
35
35
|
format: state.toolbar.format,
|
|
@@ -50,6 +50,11 @@ export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
|
50
50
|
minLengthMessage,
|
|
51
51
|
maxLengthMessage,
|
|
52
52
|
});
|
|
53
|
+
// Disabled the exhaustive deps rule to allow users to
|
|
54
|
+
// declare prop like "plugins={[]}" instead of having to
|
|
55
|
+
// declare the array outside the component level
|
|
56
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
57
|
+
const memoizedPlugins = useMemo(() => plugins, []);
|
|
53
58
|
return (React.createElement(Container, { className: cx(classes.editorWrapper, {
|
|
54
59
|
[classes.disabled]: disabled,
|
|
55
60
|
[classes.focused]: isEditorFocused,
|
|
@@ -63,14 +68,14 @@ export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
|
63
68
|
}
|
|
64
69
|
wrapperRef.current = node;
|
|
65
70
|
}, "data-testid": (testIds === null || testIds === void 0 ? void 0 : testIds.wrapper) || dataTestId, onFocus: handleFocus, onBlur: handleBlur },
|
|
66
|
-
React.createElement(Toolbar, { ref: toolbarRef, disabled: disabled || state.toolbar.disabled, id: id, format: state.toolbar.format, onBoldClick: handleBold, onItalicClick: handleItalic, onUnorderedClick: handleUnordered, onOrderedClick: handleOrdered, onHeaderChange: handleHeader, testIds: {
|
|
71
|
+
React.createElement(Toolbar, { ref: toolbarRef, disabled: disabled || state.toolbar.disabled, id: id, format: state.toolbar.format, onBoldClick: handleBold, onItalicClick: handleItalic, onUnorderedClick: handleUnordered, onOrderedClick: handleOrdered, onHeaderChange: handleHeader, onLinkClick: handleLink, plugins: memoizedPlugins, testIds: {
|
|
67
72
|
headerSelect: testIds === null || testIds === void 0 ? void 0 : testIds.headerSelect,
|
|
68
73
|
boldButton: testIds === null || testIds === void 0 ? void 0 : testIds.boldButton,
|
|
69
74
|
italicButton: testIds === null || testIds === void 0 ? void 0 : testIds.italicButton,
|
|
70
75
|
unorderedListButton: testIds === null || testIds === void 0 ? void 0 : testIds.unorderedListButton,
|
|
71
76
|
orderedListButton: testIds === null || testIds === void 0 ? void 0 : testIds.orderedListButton,
|
|
72
77
|
} }),
|
|
73
|
-
React.createElement(QuillEditor, { ref: editorRef, disabled: !!disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.editor, id: id, isFocused: isEditorFocused, placeholder: placeholder, onTextLengthChange: handleCounterMessage, onTextFormat: handleTextFormat, onSelectionChange: handleSelectionChange, onTextChange: onChange, defaultValue: defaultValueInHtml }),
|
|
78
|
+
React.createElement(QuillEditor, { ref: editorRef, disabled: !!disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.editor, id: id, isFocused: isEditorFocused, placeholder: placeholder, onTextLengthChange: handleCounterMessage, onTextFormat: handleTextFormat, onSelectionChange: handleSelectionChange, onTextChange: onChange, defaultValue: defaultValueInHtml, plugins: memoizedPlugins }),
|
|
74
79
|
counterMessage && (React.createElement(Counter, { error: counterError, message: counterMessage }))));
|
|
75
80
|
});
|
|
76
81
|
RichTextEditor.defaultProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextEditor.js","sourceRoot":"","sources":["../../src/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"RichTextEditor.js","sourceRoot":"","sources":["../../src/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,12 @@ import { actions as toolbarActions } from '../../store/toolbar';
|
|
|
3
3
|
import { getToolbarFormatFromEditorFormat } from '../../utils/convertFormat';
|
|
4
4
|
const useOnSelectionChange = ({ dispatch }) => {
|
|
5
5
|
const handleSelectionChange = useCallback((editorFormat) => {
|
|
6
|
-
const { bold, italic, header, list } = getToolbarFormatFromEditorFormat(editorFormat);
|
|
6
|
+
const { bold, italic, header, list, link } = getToolbarFormatFromEditorFormat(editorFormat);
|
|
7
7
|
toolbarActions.setBold(dispatch)(bold);
|
|
8
8
|
toolbarActions.setItalic(dispatch)(italic);
|
|
9
9
|
toolbarActions.setHeader(dispatch)(header);
|
|
10
10
|
toolbarActions.setList(dispatch)(list);
|
|
11
|
+
toolbarActions.setLink(dispatch)(link);
|
|
11
12
|
}, [dispatch]);
|
|
12
13
|
return { handleSelectionChange };
|
|
13
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnSelectionChange.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useOnSelectionChange/useOnSelectionChange.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,OAAO,CAAA;AAG7C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;AAM5E,MAAM,oBAAoB,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IACnD,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,YAA8B,EAAE,EAAE;QACjC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"useOnSelectionChange.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useOnSelectionChange/useOnSelectionChange.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,OAAO,CAAA;AAG7C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;AAM5E,MAAM,oBAAoB,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IACnD,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,YAA8B,EAAE,EAAE;QACjC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GACxC,gCAAgC,CAAC,YAAY,CAAC,CAAA;QAEhD,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;QACtC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;QAC1C,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;QAC1C,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;QACtC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAClC,CAAC,CAAA;AAED,eAAe,oBAAoB,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import { actions as toolbarActions } from '../../store/toolbar';
|
|
3
|
-
import { convertBoldFromEditorValue, convertItalicFromEditorValue, convertListFromEditorValue, convertHeaderFromEditorValue, } from '../../utils/convertFormat';
|
|
3
|
+
import { convertBoldFromEditorValue, convertItalicFromEditorValue, convertListFromEditorValue, convertHeaderFromEditorValue, convertLinkFromEditorValue, } from '../../utils/convertFormat';
|
|
4
4
|
const useOnTextFormat = ({ dispatch }) => {
|
|
5
5
|
const handleTextFormat = useCallback((e) => {
|
|
6
6
|
switch (e.formatName) {
|
|
@@ -20,6 +20,10 @@ const useOnTextFormat = ({ dispatch }) => {
|
|
|
20
20
|
const headerValue = convertHeaderFromEditorValue(e.value);
|
|
21
21
|
return toolbarActions.setHeader(dispatch)(headerValue);
|
|
22
22
|
}
|
|
23
|
+
case 'link': {
|
|
24
|
+
const linkValue = convertLinkFromEditorValue(e.value);
|
|
25
|
+
return toolbarActions.setLink(dispatch)(linkValue);
|
|
26
|
+
}
|
|
23
27
|
default:
|
|
24
28
|
throw Error(`TextEditor - useOnTextFormat is not implemented for ${e}`);
|
|
25
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnTextFormat.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useOnTextFormat/useOnTextFormat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,OAAO,CAAA;AAG7C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,
|
|
1
|
+
{"version":3,"file":"useOnTextFormat.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useOnTextFormat/useOnTextFormat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,OAAO,CAAA;AAG7C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAA;AAMlC,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC9C,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,CAAyB,EAAE,EAAE;QAC5B,QAAQ,CAAC,CAAC,UAAU,EAAE;YACpB,KAAK,MAAM,CAAC,CAAC;gBACX,MAAM,SAAS,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAErD,OAAO,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;aACnD;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,MAAM,WAAW,GAAG,4BAA4B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAEzD,OAAO,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAA;aACvD;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,MAAM,SAAS,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAErD,OAAO,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;aACnD;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,MAAM,WAAW,GAAG,4BAA4B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAEzD,OAAO,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAA;aACvD;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,MAAM,SAAS,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAErD,OAAO,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;aACnD;YACD;gBACE,MAAM,KAAK,CACT,uDAAuD,CAAC,EAAE,CAC3D,CAAA;SACJ;IACH,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAC7B,CAAC,CAAA;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -12,5 +12,6 @@ declare const useToolbarHandlers: ({ editorRef, handleTextFormat, format }: Prop
|
|
|
12
12
|
handleOrdered: ButtonHandlerType;
|
|
13
13
|
handleUnordered: ButtonHandlerType;
|
|
14
14
|
handleHeader: SelectOnChangeHandler;
|
|
15
|
+
handleLink: ButtonHandlerType;
|
|
15
16
|
};
|
|
16
17
|
export default useToolbarHandlers;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import { CUSTOM_QUILL_EDITOR_FORMAT_EVENT, } from '../../../QuillEditor';
|
|
3
|
+
import { INSERT_DEFAULT_LINK_TEXT } from '../../../QuillEditor/constants';
|
|
3
4
|
import { convertHeaderToEditorValue } from '../../utils/convertFormat';
|
|
4
5
|
const useToolbarHandlers = ({ editorRef, handleTextFormat, format }) => {
|
|
5
6
|
const sendFormatEvent = useCallback((detail) => {
|
|
@@ -9,6 +10,13 @@ const useToolbarHandlers = ({ editorRef, handleTextFormat, format }) => {
|
|
|
9
10
|
});
|
|
10
11
|
(_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.dispatchEvent(formatEvent);
|
|
11
12
|
}, [editorRef]);
|
|
13
|
+
const sendDefaultLinkTextEvent = useCallback(detail => {
|
|
14
|
+
var _a;
|
|
15
|
+
const defaultLinkTextEvent = new CustomEvent(INSERT_DEFAULT_LINK_TEXT, {
|
|
16
|
+
detail,
|
|
17
|
+
});
|
|
18
|
+
(_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.dispatchEvent(defaultLinkTextEvent);
|
|
19
|
+
}, [editorRef]);
|
|
12
20
|
const handleBold = () => {
|
|
13
21
|
const bold = !format.bold;
|
|
14
22
|
sendFormatEvent({ bold });
|
|
@@ -49,12 +57,27 @@ const useToolbarHandlers = ({ editorRef, handleTextFormat, format }) => {
|
|
|
49
57
|
value: header,
|
|
50
58
|
});
|
|
51
59
|
};
|
|
60
|
+
const handleLink = () => {
|
|
61
|
+
const link = window.prompt('URL');
|
|
62
|
+
const URLRegexp = new RegExp(/[(http(s)?)://(www.)?a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/gi);
|
|
63
|
+
if (!link || !URLRegexp.test(link)) {
|
|
64
|
+
window.alert('Not valid URL');
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
sendDefaultLinkTextEvent({ link });
|
|
68
|
+
sendFormatEvent({ link });
|
|
69
|
+
handleTextFormat({
|
|
70
|
+
formatName: 'link',
|
|
71
|
+
value: link,
|
|
72
|
+
});
|
|
73
|
+
};
|
|
52
74
|
return {
|
|
53
75
|
handleBold,
|
|
54
76
|
handleItalic,
|
|
55
77
|
handleOrdered,
|
|
56
78
|
handleUnordered,
|
|
57
79
|
handleHeader,
|
|
80
|
+
handleLink,
|
|
58
81
|
};
|
|
59
82
|
};
|
|
60
83
|
export default useToolbarHandlers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useToolbarHandlers.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEnC,OAAO,EAEL,gCAAgC,GAEjC,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"useToolbarHandlers.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypes.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/actionTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,sBAAsB;IAChC,WAAW,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"actionTypes.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/actionTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,sBAAsB;IAChC,WAAW,EAAE,sBAAsB;IACnC,IAAI,EAAE,cAAc;CACZ,CAAA;AAEV,eAAe,WAAW,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Dispatch } from 'react';
|
|
2
|
-
import { SetBoldActionType, SetHeaderActionType, SetItalicActionType, SetListActionType, SetDisabled, ResetFormatType } from './types';
|
|
2
|
+
import { SetBoldActionType, SetHeaderActionType, SetItalicActionType, SetListActionType, SetDisabled, ResetFormatType, SetLinkActionType } from './types';
|
|
3
3
|
declare const actions: {
|
|
4
4
|
setBold: (dispatch: Dispatch<SetBoldActionType>) => (payload: SetBoldActionType['payload']) => void;
|
|
5
5
|
setItalic: (dispatch: Dispatch<SetItalicActionType>) => (payload: SetItalicActionType['payload']) => void;
|
|
6
6
|
setHeader: (dispatch: Dispatch<SetHeaderActionType>) => (payload: SetHeaderActionType['payload']) => void;
|
|
7
7
|
setList: (dispatch: Dispatch<SetListActionType>) => (payload: SetListActionType['payload']) => void;
|
|
8
|
+
setLink: (dispatch: Dispatch<SetLinkActionType>) => (payload: SetLinkActionType['payload']) => void;
|
|
8
9
|
setDisabled: (dispatch: Dispatch<SetDisabled>) => (payload: boolean) => void;
|
|
9
10
|
resetFormat: (dispatch: Dispatch<ResetFormatType>) => () => void;
|
|
10
11
|
};
|
|
@@ -3,6 +3,7 @@ const setBold = (dispatch) => (payload) => dispatch({ type: actionTypes.bold, pa
|
|
|
3
3
|
const setItalic = (dispatch) => (payload) => dispatch({ type: actionTypes.italic, payload });
|
|
4
4
|
const setHeader = (dispatch) => (payload) => dispatch({ type: actionTypes.header, payload });
|
|
5
5
|
const setList = (dispatch) => (payload) => dispatch({ type: actionTypes.list, payload });
|
|
6
|
+
const setLink = (dispatch) => (payload) => dispatch({ type: actionTypes.link, payload });
|
|
6
7
|
const setDisabled = (dispatch) => (payload) => dispatch({ type: actionTypes.disabled, payload });
|
|
7
8
|
const resetFormat = (dispatch) => () => dispatch({ type: actionTypes.resetFormat });
|
|
8
9
|
const actions = {
|
|
@@ -10,6 +11,7 @@ const actions = {
|
|
|
10
11
|
setItalic,
|
|
11
12
|
setHeader,
|
|
12
13
|
setList,
|
|
14
|
+
setLink,
|
|
13
15
|
setDisabled,
|
|
14
16
|
resetFormat,
|
|
15
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/actions.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/actions.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,eAAe,CAAA;AAWvC,MAAM,OAAO,GACX,CAAC,QAAqC,EAAE,EAAE,CAC1C,CAAC,OAAqC,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEjD,MAAM,SAAS,GACb,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAC,OAAuC,EAAE,EAAE,CAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAEnD,MAAM,SAAS,GACb,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAC,OAAuC,EAAE,EAAE,CAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAEnD,MAAM,OAAO,GACX,CAAC,QAAqC,EAAE,EAAE,CAC1C,CAAC,OAAqC,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEjD,MAAM,OAAO,GACX,CAAC,QAAqC,EAAE,EAAE,CAC1C,CAAC,OAAqC,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEjD,MAAM,WAAW,GAAG,CAAC,QAA+B,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE,CAC5E,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AAEnD,MAAM,WAAW,GAAG,CAAC,QAAmC,EAAE,EAAE,CAAC,GAAG,EAAE,CAChE,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;AAE7C,MAAM,OAAO,GAAG;IACd,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,WAAW;IACX,WAAW;CACZ,CAAA;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialState.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/initialState.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAqB;IACrC,MAAM,EAAE;QACN,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"initialState.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/initialState.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAqB;IACrC,MAAM,EAAE;QACN,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,EAAE;KACT;IACD,QAAQ,EAAE,IAAI;CACf,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -10,6 +10,8 @@ const reducer = (state = initialState, action) => {
|
|
|
10
10
|
return Object.assign(Object.assign({}, state), { format: Object.assign(Object.assign({}, state.format), { header: action.payload }) });
|
|
11
11
|
case actionTypes.list:
|
|
12
12
|
return Object.assign(Object.assign({}, state), { format: Object.assign(Object.assign({}, state.format), { list: action.payload }) });
|
|
13
|
+
case actionTypes.link:
|
|
14
|
+
return Object.assign(Object.assign({}, state), { format: Object.assign(Object.assign({}, state.format), { link: action.payload }) });
|
|
13
15
|
case actionTypes.disabled:
|
|
14
16
|
return Object.assign(Object.assign({}, state), { disabled: action.payload });
|
|
15
17
|
case actionTypes.resetFormat:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,MAAM,OAAO,GAAuB,CAAC,KAAK,GAAG,YAAY,EAAE,MAAM,EAAE,EAAE;IACnE,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,MAAM;YACrB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,OAClD;QACH,KAAK,WAAW,CAAC,MAAM;YACrB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,OAClD;QACH,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;
|
|
1
|
+
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,MAAM,OAAO,GAAuB,CAAC,KAAK,GAAG,YAAY,EAAE,MAAM,EAAE,EAAE;IACnE,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,MAAM;YACrB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,OAClD;QACH,KAAK,WAAW,CAAC,MAAM;YACrB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,OAClD;QACH,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,QAAQ;YACvB,uCACK,KAAK,KACR,QAAQ,EAAE,MAAM,CAAC,OAAO,IACzB;QAEH,KAAK,WAAW,CAAC,WAAW;YAC1B,uCACK,KAAK,KACR,MAAM,EAAE,YAAY,CAAC,MAAM,IAC5B;QAEH;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -3,11 +3,13 @@ export declare type HeaderValue = '3' | '';
|
|
|
3
3
|
export declare type BoldValue = boolean;
|
|
4
4
|
export declare type ItalicValue = boolean;
|
|
5
5
|
export declare type ListValue = 'bullet' | 'ordered' | false;
|
|
6
|
+
export declare type LinkValue = string;
|
|
6
7
|
export declare type FormatType = {
|
|
7
8
|
bold: BoldValue;
|
|
8
9
|
italic: ItalicValue;
|
|
9
10
|
list: ListValue;
|
|
10
11
|
header: HeaderValue;
|
|
12
|
+
link: LinkValue;
|
|
11
13
|
};
|
|
12
14
|
export declare type ToolbarStateType = {
|
|
13
15
|
format: FormatType;
|
|
@@ -29,6 +31,10 @@ export declare type SetHeaderActionType = {
|
|
|
29
31
|
type: typeof actionTypes.header;
|
|
30
32
|
payload: ToolbarStateType['format']['header'];
|
|
31
33
|
};
|
|
34
|
+
export declare type SetLinkActionType = {
|
|
35
|
+
type: typeof actionTypes.link;
|
|
36
|
+
payload: ToolbarStateType['format']['link'];
|
|
37
|
+
};
|
|
32
38
|
export declare type SetDisabled = {
|
|
33
39
|
type: typeof actionTypes.disabled;
|
|
34
40
|
payload: boolean;
|
|
@@ -36,5 +42,5 @@ export declare type SetDisabled = {
|
|
|
36
42
|
export declare type ResetFormatType = {
|
|
37
43
|
type: typeof actionTypes.resetFormat;
|
|
38
44
|
};
|
|
39
|
-
export declare type ToolbarActionsType = SetBoldActionType | SetItalicActionType | SetListActionType | SetHeaderActionType | SetDisabled | ResetFormatType;
|
|
45
|
+
export declare type ToolbarActionsType = SetBoldActionType | SetItalicActionType | SetListActionType | SetHeaderActionType | SetDisabled | ResetFormatType | SetLinkActionType;
|
|
40
46
|
export declare type ToolbarReducerType = (state: ToolbarStateType | undefined, action: ToolbarActionsType) => ToolbarStateType;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { FormatType as EditorFormatType, BoldValue as EditorBoldValue, ItalicValue as EditorItalicValue, ListValue as EditorListValue, HeaderValue as EditorHeaderValue } from '../../QuillEditor';
|
|
1
|
+
import { FormatType as EditorFormatType, BoldValue as EditorBoldValue, ItalicValue as EditorItalicValue, ListValue as EditorListValue, HeaderValue as EditorHeaderValue, LinkValue as EditorLinkValue } from '../../QuillEditor';
|
|
2
2
|
import { FormatType as ToolbarFormatType, HeaderValue } from '../store/toolbar';
|
|
3
3
|
export declare const convertBoldFromEditorValue: (bold: EditorBoldValue) => boolean;
|
|
4
4
|
export declare const convertItalicFromEditorValue: (italic: EditorItalicValue) => boolean;
|
|
5
5
|
export declare const convertListFromEditorValue: (list: EditorListValue) => false | "bullet" | "ordered";
|
|
6
6
|
export declare const convertHeaderFromEditorValue: (header: EditorHeaderValue) => "" | "3";
|
|
7
|
+
export declare const convertLinkFromEditorValue: (link: EditorLinkValue) => string;
|
|
7
8
|
export declare const getToolbarFormatFromEditorFormat: (format: EditorFormatType) => ToolbarFormatType;
|
|
8
9
|
export declare const convertHeaderToEditorValue: (header: HeaderValue) => EditorHeaderValue;
|
|
@@ -2,12 +2,14 @@ export const convertBoldFromEditorValue = (bold) => bold || false;
|
|
|
2
2
|
export const convertItalicFromEditorValue = (italic) => italic || false;
|
|
3
3
|
export const convertListFromEditorValue = (list) => list || false;
|
|
4
4
|
export const convertHeaderFromEditorValue = (header) => header ? '3' : '';
|
|
5
|
+
export const convertLinkFromEditorValue = (link) => link || '';
|
|
5
6
|
export const getToolbarFormatFromEditorFormat = (format) => {
|
|
6
7
|
return {
|
|
7
8
|
bold: convertBoldFromEditorValue(format.bold),
|
|
8
9
|
italic: convertItalicFromEditorValue(format.italic),
|
|
9
10
|
list: convertListFromEditorValue(format.list),
|
|
10
11
|
header: convertHeaderFromEditorValue(format.header),
|
|
12
|
+
link: convertLinkFromEditorValue(format.link),
|
|
11
13
|
};
|
|
12
14
|
};
|
|
13
15
|
export const convertHeaderToEditorValue = (header) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertFormat.js","sourceRoot":"","sources":["../../../src/RichTextEditor/utils/convertFormat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convertFormat.js","sourceRoot":"","sources":["../../../src/RichTextEditor/utils/convertFormat.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAqB,EAAE,EAAE,CAClE,IAAI,IAAI,KAAK,CAAA;AACf,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAyB,EAAE,EAAE,CACxE,MAAM,IAAI,KAAK,CAAA;AACjB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAqB,EAAE,EAAE,CAClE,IAAI,IAAI,KAAK,CAAA;AACf,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAyB,EAAE,EAAE,CACxE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;AACnB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAqB,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAA;AAE/E,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,MAAwB,EACL,EAAE;IACrB,OAAO;QACL,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7C,MAAM,EAAE,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC;QACnD,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7C,MAAM,EAAE,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC;QACnD,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC;KAC9C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,MAAmB,EACA,EAAE;IACrB,IAAI,MAAM,KAAK,EAAE,EAAE;QACjB,OAAO,SAAS,CAAA;KACjB;IAED,OAAO,CAAC,CAAA;AACV,CAAC,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ButtonHandlerType, SelectOnChangeHandler, FormatType } from './types';
|
|
3
|
+
import type { EditorPlugin } from '../QuillEditor';
|
|
3
4
|
declare type Props = {
|
|
4
5
|
disabled: boolean;
|
|
5
6
|
id: string;
|
|
@@ -10,12 +11,15 @@ declare type Props = {
|
|
|
10
11
|
italicButton?: string;
|
|
11
12
|
unorderedListButton?: string;
|
|
12
13
|
orderedListButton?: string;
|
|
14
|
+
linkButton?: string;
|
|
13
15
|
};
|
|
14
16
|
onBoldClick: ButtonHandlerType;
|
|
15
17
|
onItalicClick: ButtonHandlerType;
|
|
18
|
+
onLinkClick: ButtonHandlerType;
|
|
16
19
|
onHeaderChange: SelectOnChangeHandler;
|
|
17
20
|
onUnorderedClick: ButtonHandlerType;
|
|
18
21
|
onOrderedClick: ButtonHandlerType;
|
|
22
|
+
plugins?: EditorPlugin[];
|
|
19
23
|
};
|
|
20
24
|
export declare const RichTextEditorToolbar: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
|
|
21
25
|
export default RichTextEditorToolbar;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
2
|
import { makeStyles } from '@material-ui/core';
|
|
3
|
-
import { Bold16, Italic16, ListOrdered16, ListUnordered16 } from '../Icon';
|
|
3
|
+
import { Bold16, Italic16, Link16, ListOrdered16, ListUnordered16, } from '../Icon';
|
|
4
4
|
import Container from '../Container';
|
|
5
5
|
import Select from '../Select';
|
|
6
6
|
import styles from './styles';
|
|
@@ -9,9 +9,10 @@ const useStyles = makeStyles(styles, {
|
|
|
9
9
|
name: 'RichTextEditorToolbar',
|
|
10
10
|
});
|
|
11
11
|
export const RichTextEditorToolbar = forwardRef(function RichTextEditorToolbar(props, ref) {
|
|
12
|
-
const { disabled, id, format, onBoldClick, onItalicClick, onHeaderChange, onUnorderedClick, onOrderedClick, testIds, } = props;
|
|
12
|
+
const { disabled, id, format, onBoldClick, onItalicClick, onLinkClick, onHeaderChange, onUnorderedClick, onOrderedClick, testIds, plugins, } = props;
|
|
13
13
|
const classes = useStyles(props);
|
|
14
14
|
const isHeadingFormat = format.header === '3';
|
|
15
|
+
const allowLinks = plugins === null || plugins === void 0 ? void 0 : plugins.includes('link');
|
|
15
16
|
return (React.createElement(Container, { id: `${id}toolbar`, ref: ref, className: classes.toolbar },
|
|
16
17
|
React.createElement(Container, { className: classes.group },
|
|
17
18
|
React.createElement(Select, { onChange: onHeaderChange, value: format.header, options: [
|
|
@@ -23,7 +24,9 @@ export const RichTextEditorToolbar = forwardRef(function RichTextEditorToolbar(p
|
|
|
23
24
|
React.createElement(TextEditorButton, { icon: React.createElement(Italic16, null), onClick: onItalicClick, active: isHeadingFormat ? false : format.italic, disabled: isHeadingFormat || disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.italicButton })),
|
|
24
25
|
React.createElement(Container, { className: classes.group },
|
|
25
26
|
React.createElement(TextEditorButton, { icon: React.createElement(ListUnordered16, null), onClick: onUnorderedClick, active: format.list === 'bullet', disabled: disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.unorderedListButton }),
|
|
26
|
-
React.createElement(TextEditorButton, { icon: React.createElement(ListOrdered16, null), onClick: onOrderedClick, active: format.list === 'ordered', disabled: disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.orderedListButton }))
|
|
27
|
+
React.createElement(TextEditorButton, { icon: React.createElement(ListOrdered16, null), onClick: onOrderedClick, active: format.list === 'ordered', disabled: disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.orderedListButton })),
|
|
28
|
+
allowLinks && (React.createElement(Container, { className: classes.group },
|
|
29
|
+
React.createElement(TextEditorButton, { icon: React.createElement(Link16, null), onClick: onLinkClick, active: !!format.link, disabled: disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.linkButton })))));
|
|
27
30
|
});
|
|
28
31
|
RichTextEditorToolbar.defaultProps = {
|
|
29
32
|
disabled: false,
|
|
@@ -32,6 +35,7 @@ RichTextEditorToolbar.defaultProps = {
|
|
|
32
35
|
italic: false,
|
|
33
36
|
list: false,
|
|
34
37
|
header: '',
|
|
38
|
+
link: '',
|
|
35
39
|
},
|
|
36
40
|
onBoldClick: () => { },
|
|
37
41
|
onItalicClick: () => { },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextEditorToolbar.js","sourceRoot":"","sources":["../../src/RichTextEditorToolbar/RichTextEditorToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,UAAU,EAAS,MAAM,mBAAmB,CAAA;AAErD,OAAO,
|
|
1
|
+
{"version":3,"file":"RichTextEditorToolbar.js","sourceRoot":"","sources":["../../src/RichTextEditorToolbar/RichTextEditorToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,13 @@ export declare type HeaderValue = '3' | '';
|
|
|
3
3
|
export declare type BoldValue = boolean;
|
|
4
4
|
export declare type ItalicValue = boolean;
|
|
5
5
|
export declare type ListValue = 'bullet' | 'ordered' | false;
|
|
6
|
+
export declare type LinkValue = string;
|
|
6
7
|
export declare type FormatType = {
|
|
7
8
|
bold: BoldValue;
|
|
8
9
|
italic: ItalicValue;
|
|
9
10
|
list: ListValue;
|
|
10
11
|
header: HeaderValue;
|
|
12
|
+
link: LinkValue;
|
|
11
13
|
};
|
|
12
14
|
export declare type ButtonHandlerType = MouseEventHandler<HTMLButtonElement>;
|
|
13
15
|
export declare type SelectOnChangeHandler = (event: ChangeEvent<{
|
|
@@ -12,7 +12,7 @@ export interface Props extends BaseProps {
|
|
|
12
12
|
list?: string;
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
export declare const scrollToSelection: (menuRef: RefObject<HTMLDivElement>, selectedIndex?: number | null) => void;
|
|
15
|
+
export declare const scrollToSelection: (menuRef: RefObject<HTMLDivElement>, selectedIndex?: number | null | undefined) => void;
|
|
16
16
|
declare const ScrollMenu: {
|
|
17
17
|
(props: Props): JSX.Element;
|
|
18
18
|
defaultProps: {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Option, ValueType } from '../../types';
|
|
2
|
-
declare const getSelectedOptions: (flatOptions: Option[], value?: ValueType | ValueType[]) => Option<string | number>[];
|
|
2
|
+
declare const getSelectedOptions: (flatOptions: Option[], value?: ValueType | ValueType[] | undefined) => Option<string | number>[];
|
|
3
3
|
export default getSelectedOptions;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { DirectionsType } from './types';
|
|
2
|
-
export declare const useFinalMargins: (direction: DirectionsType, verticalMargin?: number, horizontalMargin?: number) => [number, number];
|
|
2
|
+
export declare const useFinalMargins: (direction: DirectionsType, verticalMargin?: number | undefined, horizontalMargin?: number | undefined) => [number, number];
|
package/Typography/styles.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Theme } from '@material-ui/core/styles';
|
|
2
|
-
declare const _default: (theme: Theme) => import("@material-ui/styles").StyleRules<{}, "inherit" | "black" | "green" | "grey" | "red" | "yellow" | "dashed" | "solid" | "invert" | "regular" | "lightBlue" | "lightGrey" | "darkGrey" | "bodyXxsmall" | "bodyXsmall" | "bodySmall" | "bodyMedium" | "bodyLarge" | "bodyInherit" | "headingMedium" | "semibold" | "inheritWeight" | "lineThrough">;
|
|
2
|
+
declare const _default: (theme: Theme) => import("@material-ui/styles").StyleRules<{}, "inherit" | "black" | "blue" | "green" | "grey" | "red" | "yellow" | "dashed" | "solid" | "invert" | "regular" | "lightBlue" | "lightGrey" | "darkGrey" | "bodyXxsmall" | "bodyXsmall" | "bodySmall" | "bodyMedium" | "bodyLarge" | "bodyInherit" | "headingMedium" | "semibold" | "inheritWeight" | "lineThrough">;
|
|
3
3
|
export default _default;
|
package/Typography/styles.js
CHANGED
package/Typography/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Typography/styles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Typography/styles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/picasso",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.2.0",
|
|
4
4
|
"description": "Toptal UI components library",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso#readme",
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"@material-ui/core": "4.11.0",
|
|
27
|
+
"@toptal/picasso-provider": "^1.2.0",
|
|
27
28
|
"notistack": "1.0.6",
|
|
28
29
|
"react": ">=16.12.0 < 19.0.0",
|
|
29
30
|
"react-dom": ">=16.12.0 < 19.0.0",
|
|
30
31
|
"react-helmet": "6.1.0",
|
|
31
|
-
"@toptal/picasso-provider": "^1.2.0",
|
|
32
32
|
"typescript": "4.6.x"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
@@ -58,10 +58,10 @@
|
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@babel/types": "^7.15.0",
|
|
61
|
-
"@toptal/picasso-provider": "1.2.0",
|
|
62
61
|
"@testing-library/jest-dom": "^5.16.4",
|
|
63
62
|
"@testing-library/react": "^13.0.0",
|
|
64
63
|
"@testing-library/react-hooks": "^7.0.2",
|
|
64
|
+
"@toptal/picasso-provider": "1.2.0",
|
|
65
65
|
"@types/classnames": "^2.3.1",
|
|
66
66
|
"@types/d3": "^6.7.4",
|
|
67
67
|
"@types/quill": "^2.0.9",
|
package/test-utils/index.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ import TestingPicasso from './TestingPicasso';
|
|
|
4
4
|
export declare type PicassoConfig = {
|
|
5
5
|
titleCase: boolean;
|
|
6
6
|
};
|
|
7
|
-
declare const customRender: (ui: ReactElement, options?: Omit<RenderOptions,
|
|
7
|
+
declare const customRender: (ui: ReactElement, options?: Omit<RenderOptions<typeof import("@testing-library/dom/types/queries"), HTMLElement, HTMLElement>, "queries"> | undefined, picassoConfig?: PicassoConfig | undefined) => RenderResult;
|
|
8
8
|
export * from '@testing-library/react';
|
|
9
9
|
export { customRender as render, TestingPicasso };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { ReactNode, ReactElement } from 'react';
|
|
2
2
|
import { OptionsObject } from 'notistack';
|
|
3
3
|
export declare const useNotifications: () => {
|
|
4
|
-
showError: (content: ReactNode, icon?: ReactElement, options?: OptionsObject) => import("notistack").SnackbarKey;
|
|
5
|
-
showInfo: (content: ReactNode, icon?: ReactElement, options?: OptionsObject) => import("notistack").SnackbarKey;
|
|
6
|
-
showSuccess: (content: ReactNode, icon?: ReactElement, options?: OptionsObject) => import("notistack").SnackbarKey;
|
|
7
|
-
showCustom: (notificationElement: React.ReactElement, options?: OptionsObject) => import("notistack").SnackbarKey;
|
|
4
|
+
showError: (content: ReactNode, icon?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined, options?: OptionsObject | undefined) => import("notistack").SnackbarKey;
|
|
5
|
+
showInfo: (content: ReactNode, icon?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined, options?: OptionsObject | undefined) => import("notistack").SnackbarKey;
|
|
6
|
+
showSuccess: (content: ReactNode, icon?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined, options?: OptionsObject | undefined) => import("notistack").SnackbarKey;
|
|
7
|
+
showCustom: (notificationElement: React.ReactElement, options?: OptionsObject | undefined) => import("notistack").SnackbarKey;
|
|
8
8
|
closeNotification: (key?: import("notistack").SnackbarKey | undefined) => void;
|
|
9
9
|
};
|
package/utils/html-to-hast.js
CHANGED
|
@@ -9,7 +9,7 @@ export const hastSanitizeSchema = {
|
|
|
9
9
|
attributes: {
|
|
10
10
|
'*': [],
|
|
11
11
|
},
|
|
12
|
-
tagNames: ['h3', 'p', 'br', 'strong', 'em', 'ul', 'ol', 'li'],
|
|
12
|
+
tagNames: ['h3', 'p', 'br', 'strong', 'em', 'ul', 'ol', 'li', 'a'],
|
|
13
13
|
strip: ['script'],
|
|
14
14
|
};
|
|
15
15
|
const htmlToAst = (html) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-to-hast.js","sourceRoot":"","sources":["../../src/utils/html-to-hast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAwB,MAAM,oBAAoB,CAAA;AACzD,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAI5C,MAAM,CAAC,MAAM,kBAAkB,GAAW;IACxC,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE;QACT,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;KACjB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE;KACR;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"html-to-hast.js","sourceRoot":"","sources":["../../src/utils/html-to-hast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAwB,MAAM,oBAAoB,CAAA;AACzD,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAI5C,MAAM,CAAC,MAAM,kBAAkB,GAAW;IACxC,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE;QACT,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;KACjB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE;KACR;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;IAClE,KAAK,EAAE,CAAC,QAAQ,CAAC;CAClB,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;IACjC,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,YAAY,CAC1B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EACrB,kBAAkB,CACJ,CAAA;IAEhB,MAAM,GAAG,GAAY;QACnB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,eAAe,SAAS,CAAA"}
|