@opentiny/fluent-editor 4.0.0-alpha.4 → 4.0.0-alpha.5

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 (106) hide show
  1. package/es/modules/ai/constants.es.js +50 -0
  2. package/es/modules/ai/constants.es.js.map +1 -0
  3. package/es/modules/ai/icons.es.js +319 -0
  4. package/es/modules/ai/icons.es.js.map +1 -0
  5. package/es/modules/ai/index.es.js +533 -101
  6. package/es/modules/ai/index.es.js.map +1 -1
  7. package/es/modules/custom-image/blot-formatter.es.js +4 -0
  8. package/es/modules/custom-image/blot-formatter.es.js.map +1 -1
  9. package/es/modules/custom-image/image.es.js +8 -1
  10. package/es/modules/custom-image/image.es.js.map +1 -1
  11. package/es/modules/custom-image/options.es.js +3 -0
  12. package/es/modules/custom-image/options.es.js.map +1 -1
  13. package/es/modules/custom-uploader.es.js +1 -1
  14. package/es/modules/custom-uploader.es.js.map +1 -1
  15. package/es/modules/emoji.es.js +3 -15
  16. package/es/modules/emoji.es.js.map +1 -1
  17. package/es/modules/table-up/index.es.js +16 -10
  18. package/es/modules/table-up/index.es.js.map +1 -1
  19. package/es/modules/toolbar/better-toolbar.es.js +1 -1
  20. package/es/modules/toolbar/better-toolbar.es.js.map +1 -1
  21. package/es/themes/snow.es.js +12 -0
  22. package/es/themes/snow.es.js.map +1 -1
  23. package/es/tools/format-painter.es.js +8 -2
  24. package/es/tools/format-painter.es.js.map +1 -1
  25. package/es/ui/icons.config.es.js +43 -13
  26. package/es/ui/icons.config.es.js.map +1 -1
  27. package/lib/modules/ai/constants.cjs.js +50 -0
  28. package/lib/modules/ai/constants.cjs.js.map +1 -0
  29. package/lib/modules/ai/icons.cjs.js +319 -0
  30. package/lib/modules/ai/icons.cjs.js.map +1 -0
  31. package/lib/modules/ai/index.cjs.js +533 -101
  32. package/lib/modules/ai/index.cjs.js.map +1 -1
  33. package/lib/modules/custom-image/blot-formatter.cjs.js +4 -0
  34. package/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -1
  35. package/lib/modules/custom-image/image.cjs.js +8 -1
  36. package/lib/modules/custom-image/image.cjs.js.map +1 -1
  37. package/lib/modules/custom-image/options.cjs.js +3 -0
  38. package/lib/modules/custom-image/options.cjs.js.map +1 -1
  39. package/lib/modules/custom-uploader.cjs.js +1 -1
  40. package/lib/modules/custom-uploader.cjs.js.map +1 -1
  41. package/lib/modules/emoji.cjs.js +3 -15
  42. package/lib/modules/emoji.cjs.js.map +1 -1
  43. package/lib/modules/table-up/index.cjs.js +16 -10
  44. package/lib/modules/table-up/index.cjs.js.map +1 -1
  45. package/lib/modules/toolbar/better-toolbar.cjs.js +1 -1
  46. package/lib/modules/toolbar/better-toolbar.cjs.js.map +1 -1
  47. package/lib/themes/snow.cjs.js +12 -0
  48. package/lib/themes/snow.cjs.js.map +1 -1
  49. package/lib/tools/format-painter.cjs.js +8 -2
  50. package/lib/tools/format-painter.cjs.js.map +1 -1
  51. package/lib/ui/icons.config.cjs.js +43 -13
  52. package/lib/ui/icons.config.cjs.js.map +1 -1
  53. package/package.json +3 -3
  54. package/style.css +2471 -1509
  55. package/types/config/types/editor-config.interface.d.ts +9 -6
  56. package/types/modules/ai/constants.d.ts +30 -0
  57. package/types/modules/ai/icons.d.ts +21 -0
  58. package/types/modules/ai/index.d.ts +71 -13
  59. package/types/modules/ai/types.d.ts +16 -0
  60. package/types/modules/custom-image/image.d.ts +2 -0
  61. package/types/modules/custom-image/{Options.d.ts → options.d.ts} +1 -0
  62. package/types/modules/emoji.d.ts +0 -1
  63. package/types/modules/table-up/index.d.ts +0 -31
  64. package/types/tools/format-painter.d.ts +1 -2
  65. package/types/ui/icons.config.d.ts +1 -1
  66. package/types/config/types/additional-toolbar-item.interface.d.ts +0 -8
  67. package/types/config/types/content-change.interface.d.ts +0 -13
  68. package/types/config/types/content-save.interface.d.ts +0 -6
  69. package/types/config/types/counter-option.interface.d.ts +0 -9
  70. package/types/config/types/editor-toolbar.interface.d.ts +0 -6
  71. package/types/config/types/file-operation.interface.d.ts +0 -12
  72. package/types/config/types/focus-change.interface.d.ts +0 -4
  73. package/types/config/types/fullscreen-module.interface.d.ts +0 -4
  74. package/types/config/types/help-panel-item.interface.d.ts +0 -5
  75. package/types/config/types/help-panel-option.interface.d.ts +0 -7
  76. package/types/config/types/image-module.interface.d.ts +0 -3
  77. package/types/config/types/image-upload.interface.d.ts +0 -7
  78. package/types/config/types/load-on-demand-module.interface.d.ts +0 -5
  79. package/types/config/types/mention-module.interface.d.ts +0 -8
  80. package/types/config/types/paste-change.interface.d.ts +0 -6
  81. package/types/config/types/quick-menu-module.interface.d.ts +0 -3
  82. package/types/config/types/range.interface.d.ts +0 -4
  83. package/types/config/types/registry-options.interface.d.ts +0 -5
  84. package/types/config/types/selection-change.interface.d.ts +0 -8
  85. package/types/config/types/toolbar-item.interface.d.ts +0 -13
  86. package/types/config/types/validate-error.interface.d.ts +0 -13
  87. package/types/modules/custom-image/BlotFormatter.d.ts +0 -29
  88. package/types/modules/custom-image/actions/CustomResizeAction.d.ts +0 -24
  89. package/types/modules/custom-image/actions/DeleteAction.d.ts +0 -7
  90. package/types/modules/custom-image/image-bar.d.ts +0 -17
  91. package/types/modules/custom-image/specs/BlotSpec.d.ts +0 -13
  92. package/types/modules/custom-image/specs/CustomImageSpec.d.ts +0 -21
  93. package/types/modules/custom-image/specs/ImageSpec.d.ts +0 -10
  94. package/types/modules/emoji/emoji-list/index.d.ts +0 -1
  95. package/types/modules/emoji/emoji-list/people.d.ts +0 -1
  96. package/types/modules/emoji/emoji-list.d.ts +0 -2
  97. package/types/modules/emoji/emoji-map.d.ts +0 -2
  98. package/types/modules/emoji/emoji-sprite.d.ts +0 -1
  99. package/types/modules/emoji/formats/emoji-blot.d.ts +0 -15
  100. package/types/modules/emoji/index.d.ts +0 -3
  101. package/types/modules/emoji/modules/emoji.d.ts +0 -38
  102. package/types/modules/emoji/modules/toolbar-emoji.d.ts +0 -9
  103. package/types/modules/emoji/utils.d.ts +0 -1
  104. package/types/modules/mention/MentionLink.d.ts +0 -16
  105. /package/types/modules/custom-image/actions/{Action.d.ts → action.d.ts} +0 -0
  106. /package/types/modules/mention/{Mention.d.ts → mention.d.ts} +0 -0
@@ -1,8 +0,0 @@
1
- export interface IMentionModule {
2
- data: object[];
3
- itemKey: string;
4
- searchKey: string;
5
- mentionSearchFn?: (term: string) => Promise<any[]>;
6
- mentionSelect?: any;
7
- mentionRemove?: any;
8
- }
@@ -1,6 +0,0 @@
1
- import { AnyFunction } from './type';
2
-
3
- export interface IPasteChange {
4
- files: File[];
5
- callback: AnyFunction;
6
- }
@@ -1,3 +0,0 @@
1
- export interface IQuickMenuModule {
2
- zIndex: number;
3
- }
@@ -1,4 +0,0 @@
1
- export interface IRange {
2
- index: number;
3
- length: number;
4
- }
@@ -1,5 +0,0 @@
1
- export interface IRegistryOption {
2
- importUrl?: string;
3
- params?: any;
4
- register?: any;
5
- }
@@ -1,8 +0,0 @@
1
- import { IRange } from './range.interface';
2
-
3
- export interface ISelectionChange {
4
- editor: any;
5
- oldRange: IRange | null;
6
- range: IRange | null;
7
- source: string;
8
- }
@@ -1,13 +0,0 @@
1
- export interface IToolbarItem {
2
- 'indent'?: string;
3
- 'list'?: string;
4
- 'direction'?: string;
5
- 'header'?: number | (boolean | number)[];
6
- 'color'?: string[];
7
- 'background'?: string[];
8
- 'align'?: string[];
9
- 'script'?: string;
10
- 'font'?: string[];
11
- 'size'?: boolean[] | string[];
12
- 'line-height'?: number[];
13
- }
@@ -1,13 +0,0 @@
1
- export interface IValidateError {
2
- minLengthError?: {
3
- given: number;
4
- minLength: number;
5
- };
6
- maxLengthError?: {
7
- given: number;
8
- maxLength: number;
9
- };
10
- requiredError?: {
11
- empty: boolean;
12
- };
13
- }
@@ -1,29 +0,0 @@
1
- import { default as Action } from './actions/Action';
2
- import { Options } from './Options';
3
- import { default as BlotSpec } from './specs/BlotSpec';
4
- import { default as ImageBar } from './image-bar';
5
-
6
- export default class BlotFormatter {
7
- quill: any;
8
- options: Options;
9
- currentSpec: BlotSpec;
10
- specs: BlotSpec[];
11
- overlay: HTMLElement;
12
- actions: Action[];
13
- observer: any;
14
- imageBar: ImageBar;
15
- private debounceTimer;
16
- static register(): void;
17
- constructor(quill: any, options?: any);
18
- show(spec: BlotSpec): void;
19
- hide(): void;
20
- update(): void;
21
- createActions(spec: BlotSpec): void;
22
- destroyActions(): void;
23
- repositionOverlay(): void;
24
- setUserSelect(value: string): void;
25
- onClick: () => void;
26
- onMouseOver: (event: any) => void;
27
- hideImageBar: () => void;
28
- hideImageOverlay: (event: any) => void;
29
- }
@@ -1,24 +0,0 @@
1
- import { default as Action } from './Action';
2
-
3
- export default class CustomResizeAction extends Action {
4
- topLeftHandle: HTMLElement;
5
- topRightHandle: HTMLElement;
6
- bottomRightHandle: HTMLElement;
7
- bottomLeftHandle: HTMLElement;
8
- dragHandle: HTMLElement;
9
- dragStartX: number;
10
- preDragWidth: number;
11
- targetRatio: number;
12
- maxWidth: number;
13
- minWidth: number;
14
- constructor(formatter: any);
15
- onCreate(): void;
16
- onDestroy(): void;
17
- createHandle(position: string, cursor: string): HTMLElement;
18
- repositionHandles(handleStyle: any): void;
19
- setCursor(value: string): void;
20
- onMouseDown: (event: MouseEvent) => void;
21
- findTd: (node: HTMLElement, level: number) => any;
22
- onDrag: (event: MouseEvent) => void;
23
- onMouseUp: () => void;
24
- }
@@ -1,7 +0,0 @@
1
- import { default as Action } from './Action';
2
-
3
- export default class DeleteAction extends Action {
4
- onCreate(): void;
5
- onDestroy(): void;
6
- onKeyUp: (event: any) => void;
7
- }
@@ -1,17 +0,0 @@
1
- import { default as FluentEditor } from '../../core/fluent-editor';
2
- import { Range } from 'quill';
3
-
4
- export type ImageOperateType = 'download' | 'copy' | 'delete';
5
- export declare class ImageBar {
6
- quill: FluentEditor;
7
- image: HTMLImageElement;
8
- domNode: HTMLElement;
9
- imageRange: Range;
10
- template: string;
11
- constructor(quill: FluentEditor, target: HTMLImageElement);
12
- createImageBar(): void;
13
- destroy(): void;
14
- operateImage(event: Event, operate: ImageOperateType): Promise<void>;
15
- setPosition(): void;
16
- css(domNode: HTMLElement, rules: Record<string, string | string[]>): void;
17
- }
@@ -1,13 +0,0 @@
1
- import { default as ResizeAction } from '../actions/CustomResizeAction';
2
- import { default as DeleteAction } from '../actions/DeleteAction';
3
-
4
- export default class BlotSpec {
5
- formatter: any;
6
- constructor(formatter: any);
7
- init(): void;
8
- getActions(): (typeof ResizeAction | typeof DeleteAction)[];
9
- getTargetElement(): any;
10
- getOverlayElement(): any;
11
- setSelection(): void;
12
- onHide(): void;
13
- }
@@ -1,21 +0,0 @@
1
- import { default as CustomResizeAction } from '../actions/CustomResizeAction';
2
- import { default as DeleteAction } from '../actions/DeleteAction';
3
- import { default as ImageSpec } from './ImageSpec';
4
-
5
- export declare class CustomImageSpec extends ImageSpec {
6
- formatter: any;
7
- editorElem: HTMLElement | undefined;
8
- observer: any;
9
- oldRootScrollTop: any;
10
- constructor(formatter: any);
11
- handleQuillRootScroll(): void;
12
- init(): void;
13
- getActions(): (typeof CustomResizeAction | typeof DeleteAction)[];
14
- imageMouseOver(event: any): void;
15
- imageMouseout: (event: any) => void;
16
- addImagePreviewOverlay(event: any): void;
17
- removeImagePreviewOverlay(): void;
18
- onHide(): void;
19
- resetOverlayMarginTop(): void;
20
- onClick: (event: MouseEvent) => void;
21
- }
@@ -1,10 +0,0 @@
1
- import { default as BlotSpec } from './BlotSpec';
2
-
3
- export default class ImageSpec extends BlotSpec {
4
- img: any;
5
- constructor(formatter: any);
6
- init(): void;
7
- getTargetElement(): any;
8
- onHide(): void;
9
- onClick: (event: MouseEvent) => void;
10
- }
@@ -1 +0,0 @@
1
- export { peopleEmoji } from './people';
@@ -1 +0,0 @@
1
- export declare const peopleEmoji: any[];
@@ -1,2 +0,0 @@
1
- declare const emojiList: any[];
2
- export default emojiList;
@@ -1,2 +0,0 @@
1
- declare const emojiMap: {};
2
- export default emojiMap;
@@ -1 +0,0 @@
1
- export declare const EMOJI_SPRITE = "data:image/png;base64,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";
@@ -1,15 +0,0 @@
1
- import { default as TypeEmbed } from 'quill/blots/embed';
2
-
3
- declare const Embed: typeof TypeEmbed;
4
- export declare class EmojiBlot extends Embed {
5
- static blotName: string;
6
- static className: string;
7
- static tagName: string;
8
- static emojiClass: string;
9
- static emojiPrefix: string;
10
- static create(value: any): HTMLElement;
11
- static value(node: any): any;
12
- static buildSpan(value: any, node: any): void;
13
- static parseUnicode(string: any): any;
14
- }
15
- export {};
@@ -1,3 +0,0 @@
1
- export * from './formats/emoji-blot';
2
- export * from './modules/emoji';
3
- export * from './modules/toolbar-emoji';
@@ -1,38 +0,0 @@
1
- import { default as FluentEditor } from '../../../core/fluent-editor';
2
-
3
- export declare class ShortNameEmoji {
4
- quill: FluentEditor;
5
- options: any;
6
- static DEFAULTS: {
7
- emojiList: any[];
8
- fuse: {
9
- shouldSort: boolean;
10
- threshold: number;
11
- location: number;
12
- distance: number;
13
- maxPatternLength: number;
14
- minMatchCharLength: number;
15
- keys: string[];
16
- };
17
- };
18
- emojiList: any;
19
- fuse: any;
20
- onOpen: any;
21
- onClose: any;
22
- container: HTMLUListElement;
23
- onSelectionChange: any;
24
- onTextChange: any;
25
- open: boolean;
26
- atIndex: any;
27
- focusedButton: any;
28
- isWhiteSpace: (ch: any) => boolean;
29
- query: any;
30
- buttons: any;
31
- constructor(quill: FluentEditor, options: any);
32
- triggerPicker(range: any, _context: any): boolean;
33
- handleArrow(): boolean;
34
- update(event: any): void;
35
- maybeUnfocus(): void;
36
- renderCompletions(emojis: any, evt: any): void;
37
- close(value: any, trailingDelete?: number): void;
38
- }
@@ -1,9 +0,0 @@
1
- import { default as TypeToolbar } from 'quill/modules/toolbar';
2
- import { default as FluentEditor } from '../../../core/fluent-editor';
3
-
4
- export declare class ToolbarEmoji {
5
- quill: FluentEditor;
6
- toolbar: TypeToolbar;
7
- constructor(quill: FluentEditor);
8
- checkPalatteExist(): void;
9
- }
@@ -1 +0,0 @@
1
- export declare function createEmoji(emojiArr: any): any[];
@@ -1,16 +0,0 @@
1
- import { default as TypeEmbed } from 'quill/blots/embed';
2
-
3
- declare const Embed: typeof TypeEmbed;
4
- declare class MentionLink extends Embed {
5
- static blotName: string;
6
- static tagName: string;
7
- static className: string;
8
- scroll: any;
9
- mentionData: any;
10
- static create(data: any): HTMLElement;
11
- static value(domNode: HTMLElement): Record<string, any>;
12
- constructor(scroll: any, domNode: any, data: any);
13
- value(): any;
14
- remove(): void;
15
- }
16
- export { MentionLink as default };