@toptal/picasso 26.1.2 → 26.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/Accordion/Accordion.d.ts +0 -8
  2. package/Accordion/Accordion.js +0 -10
  3. package/Accordion/Accordion.js.map +1 -1
  4. package/Accordion/Details.d.ts +7 -0
  5. package/Accordion/Details.js +25 -0
  6. package/Accordion/Details.js.map +1 -0
  7. package/Accordion/Summary.d.ts +8 -0
  8. package/Accordion/Summary.js +25 -0
  9. package/Accordion/Summary.js.map +1 -0
  10. package/Accordion/index.d.ts +2 -0
  11. package/Accordion/index.js +2 -0
  12. package/Accordion/index.js.map +1 -1
  13. package/AccordionCompound/index.d.ts +2 -2
  14. package/AccordionCompound/index.js +1 -2
  15. package/AccordionCompound/index.js.map +1 -1
  16. package/DatePicker/utils.d.ts +3 -3
  17. package/QuillEditor/LazyQuillEditor.d.ts +1 -0
  18. package/QuillEditor/QuillEditor.d.ts +3 -1
  19. package/QuillEditor/QuillEditor.js +2 -2
  20. package/QuillEditor/QuillEditor.js.map +1 -1
  21. package/QuillEditor/constants.d.ts +1 -0
  22. package/QuillEditor/constants.js +1 -0
  23. package/QuillEditor/constants.js.map +1 -1
  24. package/QuillEditor/formats/bold.d.ts +7 -6
  25. package/QuillEditor/formats/bold.js +5 -9
  26. package/QuillEditor/formats/bold.js.map +1 -1
  27. package/QuillEditor/formats/header.d.ts +7 -6
  28. package/QuillEditor/formats/header.js +5 -10
  29. package/QuillEditor/formats/header.js.map +1 -1
  30. package/QuillEditor/formats/index.d.ts +1 -0
  31. package/QuillEditor/formats/index.js +1 -0
  32. package/QuillEditor/formats/index.js.map +1 -1
  33. package/QuillEditor/formats/link.d.ts +9 -0
  34. package/QuillEditor/formats/link.js +22 -0
  35. package/QuillEditor/formats/link.js.map +1 -0
  36. package/QuillEditor/hooks/useQuillInstance/useQuillInstance.d.ts +4 -2
  37. package/QuillEditor/hooks/useQuillInstance/useQuillInstance.js +46 -8
  38. package/QuillEditor/hooks/useQuillInstance/useQuillInstance.js.map +1 -1
  39. package/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.js +17 -3
  40. package/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.js.map +1 -1
  41. package/QuillEditor/types.d.ts +6 -0
  42. package/RatingThumbs/RatingThumbs.js +3 -3
  43. package/RatingThumbs/RatingThumbs.js.map +1 -1
  44. package/RichText/hooks/useRichText/useRichText.js +6 -0
  45. package/RichText/hooks/useRichText/useRichText.js.map +1 -1
  46. package/RichText/types.d.ts +1 -1
  47. package/RichTextEditor/RichTextEditor.d.ts +3 -0
  48. package/RichTextEditor/RichTextEditor.js +10 -5
  49. package/RichTextEditor/RichTextEditor.js.map +1 -1
  50. package/RichTextEditor/hooks/useOnSelectionChange/useOnSelectionChange.js +2 -1
  51. package/RichTextEditor/hooks/useOnSelectionChange/useOnSelectionChange.js.map +1 -1
  52. package/RichTextEditor/hooks/useOnTextFormat/useOnTextFormat.js +5 -1
  53. package/RichTextEditor/hooks/useOnTextFormat/useOnTextFormat.js.map +1 -1
  54. package/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.d.ts +1 -0
  55. package/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.js +23 -0
  56. package/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.js.map +1 -1
  57. package/RichTextEditor/store/toolbar/actionTypes.d.ts +1 -0
  58. package/RichTextEditor/store/toolbar/actionTypes.js +1 -0
  59. package/RichTextEditor/store/toolbar/actionTypes.js.map +1 -1
  60. package/RichTextEditor/store/toolbar/actions.d.ts +2 -1
  61. package/RichTextEditor/store/toolbar/actions.js +2 -0
  62. package/RichTextEditor/store/toolbar/actions.js.map +1 -1
  63. package/RichTextEditor/store/toolbar/initialState.js +1 -0
  64. package/RichTextEditor/store/toolbar/initialState.js.map +1 -1
  65. package/RichTextEditor/store/toolbar/reducer.js +2 -0
  66. package/RichTextEditor/store/toolbar/reducer.js.map +1 -1
  67. package/RichTextEditor/store/toolbar/types.d.ts +7 -1
  68. package/RichTextEditor/utils/convertFormat.d.ts +2 -1
  69. package/RichTextEditor/utils/convertFormat.js +2 -0
  70. package/RichTextEditor/utils/convertFormat.js.map +1 -1
  71. package/RichTextEditorToolbar/RichTextEditorToolbar.d.ts +4 -0
  72. package/RichTextEditorToolbar/RichTextEditorToolbar.js +7 -3
  73. package/RichTextEditorToolbar/RichTextEditorToolbar.js.map +1 -1
  74. package/RichTextEditorToolbar/types.d.ts +2 -0
  75. package/ScrollMenu/ScrollMenu.d.ts +1 -1
  76. package/SelectBase/utils/get-selected-options/get-selected-options.d.ts +1 -1
  77. package/SelectBase/utils/is-empty/is-empty.d.ts +1 -1
  78. package/TreeView/useFinalMargins.d.ts +1 -1
  79. package/Typography/styles.d.ts +1 -1
  80. package/Typography/styles.js +3 -0
  81. package/Typography/styles.js.map +1 -1
  82. package/package.json +3 -3
  83. package/test-utils/index.d.ts +1 -1
  84. package/utils/Notifications/use-notifications.d.ts +4 -4
  85. package/utils/html-to-hast.js +1 -1
  86. package/utils/html-to-hast.js.map +1 -1
@@ -1,14 +1,6 @@
1
1
  import React, { ReactNode, ChangeEvent, HTMLAttributes, ReactElement } from 'react';
2
2
  import { StandardProps, TransitionProps } from '@toptal/picasso-shared';
3
3
  export declare type Borders = 'all' | 'middle' | 'none';
4
- export interface SummaryProps extends Partial<StandardProps> {
5
- children: ReactNode;
6
- }
7
- export declare const Summary: (props: SummaryProps) => JSX.Element;
8
- export interface DetailsProps extends Partial<StandardProps> {
9
- children: ReactNode;
10
- }
11
- export declare const Details: (props: DetailsProps) => JSX.Element;
12
4
  export interface Props extends StandardProps, Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
13
5
  /** Always visible part of accordion */
14
6
  children?: ReactNode;
@@ -22,16 +22,6 @@ const useStyles = makeStyles(styles, {
22
22
  name: 'PicassoAccordion',
23
23
  });
24
24
  const EmptyAccordionSummary = ({ 'data-testid': dataTestId, }) => React.createElement("div", { "data-testid": dataTestId });
25
- export const Summary = (props) => {
26
- const { children, className } = props, rest = __rest(props, ["children", "className"]);
27
- const classes = useStyles(props);
28
- return (React.createElement("div", Object.assign({}, rest, { className: cx(className, classes.summaryWrapper) }), children));
29
- };
30
- export const Details = (props) => {
31
- const { children, className } = props, rest = __rest(props, ["children", "className"]);
32
- const classes = useStyles(props);
33
- return (React.createElement("div", Object.assign({}, rest, { className: cx(className, classes.detailsWrapper) }), children));
34
- };
35
25
  const decorateWithExpandIconClasses = (expandIcon, classes) => React.cloneElement(expandIcon, {
36
26
  className: cx(expandIcon.props.className, classes),
37
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/Accordion/Accordion.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/Accordion/Accordion.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ import { StandardProps } from '@toptal/picasso-shared';
3
+ export interface DetailsProps extends StandardProps {
4
+ children: ReactNode;
5
+ }
6
+ declare const Details: (props: DetailsProps) => JSX.Element;
7
+ export default Details;
@@ -0,0 +1,25 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from 'react';
13
+ import cx from 'classnames';
14
+ import { makeStyles } from '@material-ui/core/styles';
15
+ import styles from './styles';
16
+ const useStyles = makeStyles(styles, {
17
+ name: 'PicassoAccordion',
18
+ });
19
+ const Details = (props) => {
20
+ const { children, className } = props, rest = __rest(props, ["children", "className"]);
21
+ const classes = useStyles(props);
22
+ return (React.createElement("div", Object.assign({}, rest, { className: cx(className, classes.detailsWrapper) }), children));
23
+ };
24
+ export default Details;
25
+ //# sourceMappingURL=Details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Details.js","sourceRoot":"","sources":["../../src/Accordion/Details.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAG5D,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAA;AAMF,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IACtC,MAAM,EAAE,QAAQ,EAAE,SAAS,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAxC,yBAAgC,CAAQ,CAAA;IAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAEhC,OAAO,CACL,6CAAS,IAAI,IAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,KAC5D,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { StandardProps } from '@toptal/picasso-shared';
3
+ export declare type Borders = 'all' | 'middle' | 'none';
4
+ export interface SummaryProps extends StandardProps {
5
+ children: ReactNode;
6
+ }
7
+ declare const Summary: (props: SummaryProps) => JSX.Element;
8
+ export default Summary;
@@ -0,0 +1,25 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from 'react';
13
+ import cx from 'classnames';
14
+ import { makeStyles } from '@material-ui/core/styles';
15
+ import styles from './styles';
16
+ const useStyles = makeStyles(styles, {
17
+ name: 'PicassoAccordion',
18
+ });
19
+ const Summary = (props) => {
20
+ const { children, className } = props, rest = __rest(props, ["children", "className"]);
21
+ const classes = useStyles(props);
22
+ return (React.createElement("div", Object.assign({}, rest, { className: cx(className, classes.summaryWrapper) }), children));
23
+ };
24
+ export default Summary;
25
+ //# sourceMappingURL=Summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Summary.js","sourceRoot":"","sources":["../../src/Accordion/Summary.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAG5D,OAAO,MAAM,MAAM,UAAU,CAAA;AAI7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAA;AAMF,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IACtC,MAAM,EAAE,QAAQ,EAAE,SAAS,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAxC,yBAAgC,CAAQ,CAAA;IAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAEhC,OAAO,CACL,6CAAS,IAAI,IAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,KAC5D,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -2,3 +2,5 @@ import { OmitInternalProps } from '@toptal/picasso-shared';
2
2
  import { Props } from './Accordion';
3
3
  export { default } from './Accordion';
4
4
  export declare type AccordionProps = OmitInternalProps<Props>;
5
+ export { default as Details } from './Details';
6
+ export { default as Summary } from './Summary';
@@ -1,2 +1,4 @@
1
1
  export { default } from './Accordion';
2
+ export { default as Details } from './Details';
3
+ export { default as Summary } from './Summary';
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Accordion/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Accordion/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA"}
@@ -1,4 +1,4 @@
1
1
  export declare const AccordionCompound: import("react").ForwardRefExoticComponent<import("../Accordion/Accordion").Props & import("react").RefAttributes<HTMLElement>> & {
2
- Summary: (props: import("../Accordion/Accordion").SummaryProps) => JSX.Element;
3
- Details: (props: import("../Accordion/Accordion").DetailsProps) => JSX.Element;
2
+ Summary: (props: import("../Accordion/Summary").SummaryProps) => JSX.Element;
3
+ Details: (props: import("../Accordion/Details").DetailsProps) => JSX.Element;
4
4
  };
@@ -1,5 +1,4 @@
1
- import Accordion from '../Accordion';
2
- import { Details, Summary } from '../Accordion/Accordion';
1
+ import Accordion, { Details, Summary } from '../Accordion';
3
2
  export const AccordionCompound = Object.assign(Accordion, {
4
3
  Summary,
5
4
  Details,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AccordionCompound/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;IACxD,OAAO;IACP,OAAO;CACR,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AccordionCompound/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;IACxD,OAAO;IACP,OAAO;CACR,CAAC,CAAA"}
@@ -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;AAuBrD,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,GACb,EACD,GAAG;IAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAA;IACnD,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"}
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"}
@@ -1 +1,2 @@
1
1
  export declare const CUSTOM_QUILL_EDITOR_FORMAT_EVENT = "quill-editor-format";
2
+ export declare const INSERT_DEFAULT_LINK_TEXT = "quill-editor-insert-default-link-text";
@@ -1,2 +1,3 @@
1
1
  export const CUSTOM_QUILL_EDITOR_FORMAT_EVENT = 'quill-editor-format';
2
+ export const INSERT_DEFAULT_LINK_TEXT = 'quill-editor-insert-default-link-text';
2
3
  //# sourceMappingURL=constants.js.map
@@ -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,8 +1,9 @@
1
1
  import { Classes } from '@toptal/picasso-shared';
2
- declare const QuillBold: any;
3
- declare class TypographyBoldBlot extends QuillBold {
4
- static typographyClasses: Classes;
5
- static create(): any;
6
- }
7
- declare const makeBoldFormat: (typographyClasses: Classes) => typeof TypographyBoldBlot;
2
+ declare const makeBoldFormat: (typographyClasses: Classes) => {
3
+ new (): {
4
+ [x: string]: any;
5
+ };
6
+ [x: string]: any;
7
+ create(value: string): any;
8
+ };
8
9
  export default makeBoldFormat;
@@ -1,20 +1,16 @@
1
1
  import Quill from 'quill';
2
2
  import getTypographyClassName from '../../Typography/utils/get-typography-class-name';
3
3
  const QuillBold = Quill.import('formats/bold');
4
- class TypographyBoldBlot extends QuillBold {
5
- static create() {
6
- const node = super.create();
7
- node.setAttribute('class', getTypographyClassName(this.typographyClasses, {
4
+ const makeBoldFormat = (typographyClasses) => class LinkBlot extends QuillBold {
5
+ static create(value) {
6
+ const node = super.create(value);
7
+ node.classList.add(...getTypographyClassName(typographyClasses, {
8
8
  variant: 'body',
9
9
  size: 'inherit',
10
10
  weight: 'semibold',
11
- }));
11
+ }).split(' '));
12
12
  return node;
13
13
  }
14
- }
15
- const makeBoldFormat = (typographyClasses) => {
16
- TypographyBoldBlot.typographyClasses = typographyClasses;
17
- return TypographyBoldBlot;
18
14
  };
19
15
  export default makeBoldFormat;
20
16
  //# sourceMappingURL=bold.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bold.js","sourceRoot":"","sources":["../../../src/QuillEditor/formats/bold.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,kBAAmB,SAAQ,SAAS;IAExC,MAAM,CAAC,MAAM;QACX,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;QAE3B,IAAI,CAAC,YAAY,CACf,OAAO,EACP,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7C,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,UAAU;SACnB,CAAC,CACH,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,MAAM,cAAc,GAAG,CAAC,iBAA0B,EAAE,EAAE;IACpD,kBAAkB,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAExD,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"bold.js","sourceRoot":"","sources":["../../../src/QuillEditor/formats/bold.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,cAAc,GAAG,CAAC,iBAA0B,EAAE,EAAE,CACpD,MAAM,QAAS,SAAQ,SAAS;IAC9B,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhC,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,GAAG,sBAAsB,CAAC,iBAAiB,EAAE;YAC3C,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACd,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAEH,eAAe,cAAc,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { Classes } from '@toptal/picasso-shared';
2
- declare const QuillHeader: any;
3
- declare class TypographyHeaderBlot extends QuillHeader {
4
- static typographyClasses: Classes;
5
- static create(): any;
6
- }
7
- declare const makeHeaderFormat: (typographyClasses: Classes) => typeof TypographyHeaderBlot;
2
+ declare const makeHeaderFormat: (typographyClasses: Classes) => {
3
+ new (): {
4
+ [x: string]: any;
5
+ };
6
+ [x: string]: any;
7
+ create(value: string): any;
8
+ };
8
9
  export default makeHeaderFormat;
@@ -1,20 +1,15 @@
1
1
  import Quill from 'quill';
2
2
  import getTypographyClassName from '../../Typography/utils/get-typography-class-name';
3
3
  const QuillHeader = Quill.import('formats/header');
4
- class TypographyHeaderBlot extends QuillHeader {
5
- static create() {
6
- // we only support h3, so every other heading will be transformed to it
7
- const node = super.create(3);
8
- node.setAttribute('class', getTypographyClassName(this.typographyClasses, {
4
+ const makeHeaderFormat = (typographyClasses) => class LinkBlot extends QuillHeader {
5
+ static create(value) {
6
+ const node = super.create(value);
7
+ node.classList.add(...getTypographyClassName(typographyClasses, {
9
8
  variant: 'heading',
10
9
  size: 'medium',
11
- }));
10
+ }).split(' '));
12
11
  return node;
13
12
  }
14
- }
15
- const makeHeaderFormat = (typographyClasses) => {
16
- TypographyHeaderBlot.typographyClasses = typographyClasses;
17
- return TypographyHeaderBlot;
18
13
  };
19
14
  export default makeHeaderFormat;
20
15
  //# sourceMappingURL=header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/QuillEditor/formats/header.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,sBAAsB,MAAM,kDAAkD,CAAA;AAErF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAElD,MAAM,oBAAqB,SAAQ,WAAW;IAG5C,MAAM,CAAC,MAAM;QACX,uEAAuE;QACvE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAE5B,IAAI,CAAC,YAAY,CACf,OAAO,EACP,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7C,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,QAAQ;SACf,CAAC,CACH,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,CAAC,iBAA0B,EAAE,EAAE;IACtD,oBAAoB,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAE1D,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/QuillEditor/formats/header.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,sBAAsB,MAAM,kDAAkD,CAAA;AAErF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAElD,MAAM,gBAAgB,GAAG,CAAC,iBAA0B,EAAE,EAAE,CACtD,MAAM,QAAS,SAAQ,WAAW;IAChC,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhC,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,GAAG,sBAAsB,CAAC,iBAAiB,EAAE;YAC3C,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACd,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAEH,eAAe,gBAAgB,CAAA"}
@@ -1,3 +1,4 @@
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';
@@ -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,9 @@
1
+ import { Classes } from '@toptal/picasso-shared';
2
+ declare const makeLinkFormat: (typographyClasses: Classes) => {
3
+ new (): {
4
+ [x: string]: any;
5
+ };
6
+ [x: string]: any;
7
+ create(value: string): any;
8
+ };
9
+ export default makeLinkFormat;
@@ -0,0 +1,22 @@
1
+ import Quill from 'quill';
2
+ import getTypographyClassName from '../../Typography/utils/get-typography-class-name';
3
+ const QuillLink = Quill.import('formats/link');
4
+ const makeLinkFormat = (typographyClasses) => class LinkBlot extends QuillLink {
5
+ static create(value) {
6
+ const node = super.create(value);
7
+ node.classList.add(...getTypographyClassName(typographyClasses, {
8
+ variant: 'body',
9
+ size: 'inherit',
10
+ underline: 'solid',
11
+ // we don't expose blue color in typography since it should be used only for links.
12
+ // in this case we are simulating look of the link
13
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
+ // @ts-ignore
15
+ color: 'blue',
16
+ weight: 'regular',
17
+ }).split(' '));
18
+ return node;
19
+ }
20
+ };
21
+ export default makeLinkFormat;
22
+ //# 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,cAAc,GAAG,CAAC,iBAA0B,EAAE,EAAE,CACpD,MAAM,QAAS,SAAQ,SAAS;IAC9B,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhC,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,GAAG,sBAAsB,CAAC,iBAAiB,EAAE;YAC3C,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,OAAO;YAClB,mFAAmF;YACnF,kDAAkD;YAClD,6DAA6D;YAC7D,aAAa;YACb,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACd,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAEH,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: ['b', 'strong', 'i', 'em', 'p', 'br', 'ul', 'ol', 'li', 'h3'],
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 useQuillInstance = ({ id, placeholder, }) => {
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;AAOtB,MAAM,CAAC,MAAM,UAAU,GAAG,GAAkC,EAAE;IAC5D,OAAO;QACL,SAAS,EAAE;YACT,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE;gBACP,wEAAwE;gBACxE,4CAA4C;gBAC5C,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gBACnE,UAAU,EAAE,EAAE;aACf;YACD,aAAa,EAAE,IAAI;YACnB,uBAAuB,EAAE,IAAI;SAC9B;QACD,QAAQ,EAAE;YACR,sCAAsC;YACtC,qDAAqD;YACrD,8CAA8C;YAC9C,0BAA0B;YAC1B,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,cAAa,CAAC;iBACxB;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,cAAa,CAAC;iBACxB;aACF;SACF;KACF,CAAA;AACH,CAAC,CAAA;AAED;;;;;;4BAM4B;AAC5B,MAAM,OAAO,GAAkC;IAC7C,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;CACP,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,EACxB,EAAE,EACF,WAAW,GACO,EAAqB,EAAE;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAA;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAA;QACzD,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAA;QAEvD,QAAQ,CACN,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE;YAClB,OAAO,EAAE,UAAU,EAAE;YACrB,OAAO;YACP,WAAW;SACZ,CAAC,CACH,CAAA;IACH,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;IAExC,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,eAAe,gBAAgB,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
@@ -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;AAG1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAA;AAClE,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,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,OAAO,GAAG,EAAE;YACV,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CACzB,gCAAgC,EAChC,mBAAmB,EACnB,KAAK,CACN,CAAA;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,eAAe,8BAA8B,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"}
@@ -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';