@ones-editor/editor 2.0.8-beta.3 → 2.1.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.
Files changed (133) hide show
  1. package/@ones-editor/block-menu/src/block-menu/items/insert-block-items/index.d.ts +1 -1
  2. package/@ones-editor/block-menu/src/block-menu-button/drag-preview/element-to-data-url.d.ts +1 -1
  3. package/@ones-editor/block-menu/src/block-menu-button/index.d.ts +4 -15
  4. package/@ones-editor/block-menu/src/block-menu-button/menu-button/index.d.ts +23 -0
  5. package/@ones-editor/callout-block/package.json +11 -0
  6. package/@ones-editor/callout-block/src/callout-block/callout-block-content.d.ts +3 -0
  7. package/@ones-editor/callout-block/src/callout-block/callout-block-doc.d.ts +2 -0
  8. package/@ones-editor/callout-block/src/callout-block/callout-block.d.ts +3 -0
  9. package/@ones-editor/callout-block/src/callout-block/callout-converter-interceptor.d.ts +8 -0
  10. package/@ones-editor/callout-block/src/callout-block/callout-input-handler.d.ts +11 -0
  11. package/@ones-editor/callout-block/src/callout-block/callout-last-callout-payload.d.ts +9 -0
  12. package/@ones-editor/callout-block/src/callout-block/callout-options.d.ts +2 -0
  13. package/@ones-editor/callout-block/src/callout-block/callout-properties.d.ts +2 -0
  14. package/@ones-editor/callout-block/src/callout-block/callout-quick-menu-item-filter.d.ts +8 -0
  15. package/@ones-editor/callout-block/src/callout-block/command-items/bg-color-item.d.ts +22 -0
  16. package/@ones-editor/callout-block/src/callout-block/command-items/delete-icon-item.d.ts +4 -0
  17. package/@ones-editor/callout-block/src/callout-block/command-items/preset-item.d.ts +16 -0
  18. package/@ones-editor/callout-block/src/callout-block/converter.d.ts +3 -0
  19. package/@ones-editor/callout-block/src/callout-block/helper.d.ts +4 -0
  20. package/@ones-editor/callout-block/src/callout-block/index.d.ts +1 -0
  21. package/@ones-editor/callout-block/src/callout-block/types.d.ts +9 -0
  22. package/@ones-editor/callout-block/src/index.d.ts +3 -0
  23. package/@ones-editor/callout-block/src/locale/en-us.d.ts +12 -0
  24. package/@ones-editor/callout-block/src/locale/index.d.ts +1 -0
  25. package/@ones-editor/callout-block/src/locale/ja-jp.d.ts +12 -0
  26. package/@ones-editor/callout-block/src/locale/zh-cn.d.ts +12 -0
  27. package/@ones-editor/context-menu/src/helper/command-items.d.ts +1 -0
  28. package/@ones-editor/core/src/core/blocks/common/block-wrapper.d.ts +2 -1
  29. package/@ones-editor/core/src/core/blocks/common/insert-empty-block.d.ts +3 -2
  30. package/@ones-editor/core/src/core/blocks/embed-blocks/embed-block/common.d.ts +1 -0
  31. package/@ones-editor/core/src/core/blocks/embed-blocks/embed-block/index.d.ts +1 -0
  32. package/@ones-editor/core/src/core/composition/editor-input.d.ts +3 -3
  33. package/@ones-editor/core/src/core/containers/children.d.ts +5 -2
  34. package/@ones-editor/core/src/core/containers/element.d.ts +1 -0
  35. package/@ones-editor/core/src/core/doc/container.d.ts +2 -2
  36. package/@ones-editor/core/src/core/editor/actions/insert-doc/insert-doc.d.ts +1 -1
  37. package/@ones-editor/core/src/core/editor-doc/handle-block-data-changed.d.ts +2 -1
  38. package/@ones-editor/core/src/core/types.d.ts +66 -10
  39. package/@ones-editor/core/src/helper/hovering-block.d.ts +3 -1
  40. package/@ones-editor/core/src/i18n/en-us.d.ts +1 -0
  41. package/@ones-editor/core/src/i18n/i18n.d.ts +3 -0
  42. package/@ones-editor/core/src/i18n/ja-jp.d.ts +1 -0
  43. package/@ones-editor/core/src/i18n/zh-cn.d.ts +1 -0
  44. package/@ones-editor/core/src/utils/data-url.d.ts +1 -0
  45. package/@ones-editor/drop-target/src/drop-indicator.d.ts +5 -4
  46. package/@ones-editor/drop-target/src/drop-target.d.ts +2 -1
  47. package/@ones-editor/drop-target/src/find-drop-target.d.ts +1 -1
  48. package/@ones-editor/drop-target/src/index.d.ts +2 -1
  49. package/@ones-editor/embed-block-helper/src/block-resizer/index.d.ts +2 -0
  50. package/@ones-editor/file/src/file-embed/card/index.d.ts +1 -1
  51. package/@ones-editor/file/src/types.d.ts +1 -0
  52. package/@ones-editor/graph-embed/src/config/index.d.ts +1 -0
  53. package/@ones-editor/graph-embed/src/helper/graph-base.d.ts +1 -1
  54. package/@ones-editor/graph-embed/src/helper/graph-block-commands.d.ts +3 -1
  55. package/@ones-editor/heading-collapse/src/heading-collapse-button/heading-utils.d.ts +2 -1
  56. package/@ones-editor/heading-collapse/src/index.d.ts +1 -0
  57. package/@ones-editor/image-embed/src/drag-drop/handle-drop-over.d.ts +1 -4
  58. package/@ones-editor/image-embed/src/drag-drop/handle-drop.d.ts +3 -2
  59. package/@ones-editor/image-embed/src/hovering-toolbar/index.d.ts +22 -0
  60. package/@ones-editor/image-embed/src/image-dom/download-image.d.ts +2 -0
  61. package/@ones-editor/image-embed/src/image-object.d.ts +3 -0
  62. package/@ones-editor/image-embed/src/index.d.ts +5 -1
  63. package/@ones-editor/image-embed/src/types.d.ts +1 -0
  64. package/@ones-editor/input-handlers/src/index.d.ts +4 -1
  65. package/@ones-editor/input-handlers/src/markdown-shortcuts/converter-interceptors.d.ts +12 -0
  66. package/@ones-editor/input-handlers/src/markdown-shortcuts/match-block-convert.d.ts +9 -1
  67. package/@ones-editor/{column-block → layout-block}/package.json +1 -1
  68. package/@ones-editor/layout-block/src/block-drop.d.ts +3 -0
  69. package/@ones-editor/layout-block/src/caption.d.ts +8 -0
  70. package/@ones-editor/layout-block/src/child-containers.d.ts +3 -0
  71. package/@ones-editor/layout-block/src/column-resizer/index.d.ts +2 -0
  72. package/@ones-editor/layout-block/src/constants.d.ts +32 -0
  73. package/@ones-editor/layout-block/src/index.d.ts +6 -0
  74. package/@ones-editor/layout-block/src/layout-creator/index.d.ts +27 -0
  75. package/@ones-editor/layout-block/src/layout-operations.d.ts +11 -0
  76. package/@ones-editor/layout-block/src/locale/en-us.d.ts +10 -0
  77. package/@ones-editor/layout-block/src/locale/index.d.ts +1 -0
  78. package/@ones-editor/layout-block/src/locale/ja-jp.d.ts +10 -0
  79. package/@ones-editor/layout-block/src/locale/zh-cn.d.ts +10 -0
  80. package/@ones-editor/layout-block/src/options.d.ts +2 -0
  81. package/@ones-editor/layout-block/src/percent-bar.d.ts +3 -0
  82. package/@ones-editor/layout-block/src/selection.d.ts +5 -0
  83. package/@ones-editor/layout-block/src/toolbar.d.ts +33 -0
  84. package/@ones-editor/layout-block/src/types.d.ts +17 -0
  85. package/@ones-editor/layout-block/src/utils.d.ts +6 -0
  86. package/@ones-editor/media-embed/src/core/hovering-toolbar/index.d.ts +22 -0
  87. package/@ones-editor/misc/src/image.d.ts +2 -1
  88. package/@ones-editor/paste-special/src/paste-special-handler.d.ts +1 -0
  89. package/@ones-editor/table-block/src/index.d.ts +1 -0
  90. package/@ones-editor/table-block/src/table-block/doc-table-grid.d.ts +1 -0
  91. package/@ones-editor/table-block/src/table-block/table-creator/index.d.ts +1 -1
  92. package/@ones-editor/table-block/src/table-block/table-grid.d.ts +1 -0
  93. package/@ones-editor/to-docx/src/doc2other/colors.d.ts +7 -1
  94. package/@ones-editor/to-docx/src/doc2other/core.d.ts +2 -0
  95. package/@ones-editor/to-docx/src/doc2other/layout.d.ts +10 -0
  96. package/@ones-editor/toc/src/build-toc.d.ts +1 -0
  97. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  98. package/@ones-editor/ui/src/index.d.ts +2 -2
  99. package/@ones-editor/ui/src/quick-menu/basic-menu-items.d.ts +1 -1
  100. package/@ones-editor/ui/src/quick-menu/index.d.ts +9 -2
  101. package/@ones-editor/ui/src/quick-menu/quick-menu-items.d.ts +4 -2
  102. package/@ones-editor/ui/src/quick-menu/types.d.ts +5 -0
  103. package/@ones-editor/ui/src/toolbar/toolbar-handler.d.ts +2 -0
  104. package/@ones-editor/ui-base/src/color-palette/color-palette.d.ts +2 -1
  105. package/@ones-editor/ui-base/src/color-palette/create-palette.d.ts +8 -0
  106. package/@ones-editor/ui-base/src/color-palette/index.d.ts +2 -2
  107. package/@ones-editor/ui-base/src/command-bar/types.d.ts +1 -0
  108. package/@ones-editor/ui-base/src/emoji-item/emoji-item.d.ts +19 -0
  109. package/@ones-editor/ui-base/src/emoji-item/index.d.ts +2 -0
  110. package/@ones-editor/ui-base/src/emoji-palette/emoji-content.d.ts +21 -0
  111. package/@ones-editor/ui-base/src/emoji-palette/emoji-data.d.ts +60 -0
  112. package/@ones-editor/ui-base/src/emoji-palette/emoji-navigation.d.ts +16 -0
  113. package/@ones-editor/ui-base/src/emoji-palette/emoji-search.d.ts +11 -0
  114. package/@ones-editor/ui-base/src/emoji-palette/index.d.ts +23 -0
  115. package/@ones-editor/ui-base/src/emoji-palette/types.d.ts +0 -0
  116. package/@ones-editor/ui-base/src/icons/index.d.ts +20 -1
  117. package/@ones-editor/ui-base/src/index.d.ts +1 -0
  118. package/@ones-editor/ui-base/src/input/create-input.d.ts +1 -0
  119. package/@ones-editor/ui-base/src/locale/en-us.d.ts +20 -0
  120. package/@ones-editor/ui-base/src/locale/ja-jp.d.ts +20 -0
  121. package/@ones-editor/ui-base/src/locale/zh-cn.d.ts +20 -0
  122. package/dist/index.d.ts +2 -1
  123. package/dist/index.js +53732 -3287
  124. package/dist/lang/en-us.d.ts +1 -0
  125. package/dist/lang/ja-jp.d.ts +1 -0
  126. package/dist/lang/zh-cn.d.ts +1 -0
  127. package/dist/types.d.ts +2 -0
  128. package/package.json +3 -3
  129. package/@ones-editor/column-block/src/child-containers.d.ts +0 -2
  130. package/@ones-editor/column-block/src/columns-options.d.ts +0 -2
  131. package/@ones-editor/column-block/src/columns-properties.d.ts +0 -15
  132. package/@ones-editor/column-block/src/index.d.ts +0 -4
  133. package/@ones-editor/column-block/src/types.d.ts +0 -11
@@ -1,6 +1,6 @@
1
1
  import './style.scss';
2
2
  import OnesEditorToolbar from './toolbar/toolbar-handler';
3
- import OnesEditorQuickMenu, { getAllQuickMenuItems, getHeadingMenuOptions, QuickMenuCommandBetween, QuickMenuCommandInline, QuickMenuCommandProvider, BasicCommands, GetAllQuickMenuItemsOptions, QuickMenuCommandParams, AddMenuCommand } from './quick-menu';
3
+ import OnesEditorQuickMenu, { getAllQuickMenuItems, getHeadingMenuOptions, QuickMenuCommandBetween, QuickMenuCommandInline, QuickMenuCommandProvider, BasicCommands, GetAllQuickMenuItemsOptions, QuickMenuCommandParams, AddMenuCommand, QuickMenuItemFilter } from './quick-menu';
4
4
  import OnesEditorTooltip from './tooltips';
5
5
  import TextStyleShortcuts from './shortcuts';
6
6
  import { editLink } from './link-popup';
@@ -12,7 +12,7 @@ import { InlineBoxCommandProvider } from './quick-menu/inline-box-items';
12
12
  import './locale';
13
13
  import type { OnesEditorToolbarBase } from './toolbar/types';
14
14
  import type { QuickMenuItem } from './quick-menu';
15
- export type { QuickMenuCommandParams, QuickMenuCommandProvider, QuickMenuCommandBetween, AddMenuCommand, QuickMenuCommandInline, GetAllQuickMenuItemsOptions, OnesEditorToolbarBase };
15
+ export type { QuickMenuItemFilter, QuickMenuCommandParams, QuickMenuCommandProvider, QuickMenuCommandBetween, AddMenuCommand, QuickMenuCommandInline, GetAllQuickMenuItemsOptions, OnesEditorToolbarBase, };
16
16
  export { OnesEditorToolbar, OnesEditorQuickMenu, OnesEditorTooltip, getAllQuickMenuItems, QuickMenuItem, editLink, TextStyleShortcuts, getToolbar, getHeadingMenuOptions, BasicCommands, GroupOrder, isSelectBoxOnly, InlineBoxCommandProvider, getReferenceClientRect, };
17
17
  export { createTextButton } from './text-button';
18
18
  export { mergeCommands } from './toolbar/merge-commands';
@@ -1,7 +1,7 @@
1
1
  import { BlockElement } from '../../../../@ones-editor/core';
2
2
  import type { BlockOptions, CommandItem, OnesEditor, InsertEmptyBlockOptions } from '../../../../@ones-editor/core';
3
3
  import type { AddMenuCommand, QuickMenuCommandBetween, QuickMenuCommandInline, QuickMenuCommandProvider } from './types';
4
- export declare function addQuickMenuItemFields(item: CommandItem, options: BlockOptions): void;
4
+ export declare function addQuickMenuItemFields(item: CommandItem, options: BlockOptions, blockType: string): void;
5
5
  export declare function getPlainTextMenuOptions(): BlockOptions;
6
6
  export declare function getHeadingMenuOptions(start?: number): BlockOptions;
7
7
  export declare function getCompleteHeadingMenuOptions(): CommandItem[];
@@ -1,6 +1,6 @@
1
1
  import { OnesEditor, CommandItem } from '../../../../@ones-editor/core';
2
2
  import { OnesEditorAutoSuggest } from '../../../../@ones-editor/ui-base';
3
- import { QuickMenuItem, QuickMenuOptions } from './types';
3
+ import { QuickMenuItemFilter, QuickMenuItemFilterId, QuickMenuItem, QuickMenuOptions } from './types';
4
4
  import { getHeadingMenuOptions } from './basic-menu-items';
5
5
  import * as BasicCommands from './basic-commands';
6
6
  export * from './types';
@@ -10,11 +10,18 @@ export default class OnesEditorQuickMenu {
10
10
  protected editor: OnesEditor;
11
11
  private options;
12
12
  protected suggest: OnesEditorAutoSuggest;
13
- private items;
13
+ private _items;
14
14
  private maxHeading;
15
15
  private firstEmptyOffset;
16
+ private commandFilters;
17
+ private currentContainerId;
18
+ private currentBlockIndex;
19
+ private get selectedBlock();
20
+ private get items();
21
+ private set items(value);
16
22
  constructor(editor: OnesEditor, options?: QuickMenuOptions);
17
23
  get menu(): import("@ones-editor/ui-base").ManualMenu;
24
+ addFilter(id: QuickMenuItemFilterId, filter: QuickMenuItemFilter): void;
18
25
  destroy(): void;
19
26
  queryItems: (suggest: unknown, text: string) => Promise<QuickMenuItem[]>;
20
27
  onClose: () => void;
@@ -1,7 +1,9 @@
1
- import { OnesEditor } from '../../../../@ones-editor/core';
1
+ import { BlockElement, CommandItemMenuType, OnesEditor } from '../../../../@ones-editor/core';
2
2
  import { QuickMenuCommandParams, QuickMenuItem } from './types';
3
3
  export interface GetAllQuickMenuItemsOptions {
4
4
  withPlainText: boolean;
5
5
  from: QuickMenuCommandParams['from'];
6
+ type: CommandItemMenuType;
7
+ ignoreFilter?: boolean;
6
8
  }
7
- export declare function getAllQuickMenuItems(editor: OnesEditor, options?: GetAllQuickMenuItemsOptions): QuickMenuItem[];
9
+ export declare function getAllQuickMenuItems(editor: OnesEditor, block: BlockElement | undefined, options: GetAllQuickMenuItemsOptions): QuickMenuItem[];
@@ -1,6 +1,7 @@
1
1
  import { CommandItem, BlockOptions, OnesEditor, BlockElement } from '../../../../@ones-editor/core';
2
2
  export interface QuickMenuItem extends CommandItem {
3
3
  itemType: 'insert-block';
4
+ blockType?: string;
4
5
  blockOptions?: BlockOptions;
5
6
  commandProvider?: QuickMenuCommandProvider;
6
7
  }
@@ -26,6 +27,10 @@ export interface QuickMenuCommandProvider {
26
27
  getCommands: (editor: OnesEditor, params: QuickMenuCommandParams) => CommandItem[];
27
28
  executeCommand: (editor: OnesEditor, item: CommandItem, params: QuickMenuCommandInline | QuickMenuCommandBetween | AddMenuCommand) => Promise<BlockElement | null>;
28
29
  }
30
+ export interface QuickMenuItemFilter {
31
+ filter: (editor: OnesEditor, items: QuickMenuItem[], from: QuickMenuCommandParams['from']) => QuickMenuItem[];
32
+ }
33
+ export type QuickMenuItemFilterId = keyof any;
29
34
  export interface QuickMenuOptions {
30
35
  id?: string;
31
36
  trigger: string[];
@@ -30,6 +30,8 @@ export default class OnesEditorToolbar implements OnesEditorHoveringBlockFilter,
30
30
  handleDocumentMouseUp: () => void;
31
31
  private handleHoveringBlockChildChange;
32
32
  handleSelectionChange: import("lodash").DebouncedFunc<(editor: OnesEditor) => void>;
33
+ updateItems(updater: (items: CommandItem[]) => CommandItem[]): void;
34
+ updateItemStates(id: CommandItem['id'], states: Required<CommandItem>['states']): void;
33
35
  update(reason: ShowToolbarReason): void;
34
36
  private showTextToolbar;
35
37
  private showObjectToolbar;
@@ -3,8 +3,9 @@ import type { ColorPaletteOptions } from './create-palette';
3
3
  import './palette.scss';
4
4
  export { ColorPaletteOptions };
5
5
  export type ColorType = 'color' | 'backgroundColor';
6
+ export type PaletteClickHandler = (type: ColorType | 'clearColor', value: number) => void;
6
7
  export interface ColorPaletteEvents {
7
- onClick: (type: ColorType | 'clearColor', value: number) => void;
8
+ onClick: PaletteClickHandler;
8
9
  beforePopup: () => void;
9
10
  }
10
11
  export default class ColorPalette extends TypedEmitter<ColorPaletteEvents> {
@@ -1,7 +1,15 @@
1
+ type DefaultPaletteCreator<T> = (count: number, rows: number, fun: ColorButtonCreator, containerClass: T) => HTMLElement;
2
+ type CustomPaletteCreator<T extends 'color' | 'background-color'> = (defaultPaletteCreator: DefaultPaletteCreator<T>) => HTMLElement;
1
3
  export interface ColorPaletteOptions {
2
4
  color?: boolean;
3
5
  backgroundColor?: boolean;
4
6
  clearColorButton?: boolean;
7
+ defaultColor?: number;
8
+ defaultBgColor?: number;
9
+ customColorPalette?: CustomPaletteCreator<'color'>;
10
+ customBgColorPalette?: CustomPaletteCreator<'background-color'>;
5
11
  }
12
+ type ColorButtonCreator = (index: number) => HTMLElement;
6
13
  export declare function createPalette(options: ColorPaletteOptions): HTMLDivElement;
7
14
  export declare function selectPaletteColor(root: HTMLElement, type: 'color' | 'backgroundColor', value: number | null): void;
15
+ export {};
@@ -1,4 +1,4 @@
1
- import type { ColorPaletteOptions } from './color-palette';
1
+ import type { ColorPaletteOptions, PaletteClickHandler } from './color-palette';
2
2
  import ColorPalette from './color-palette';
3
3
  import ColorPaletteItem from './color-palette-item';
4
- export { ColorPalette, ColorPaletteOptions, ColorPaletteItem };
4
+ export { ColorPalette, ColorPaletteOptions, ColorPaletteItem, PaletteClickHandler };
@@ -34,6 +34,7 @@ export interface ShowCommandBarOptions {
34
34
  }
35
35
  export interface AbstractManualCommandBar extends AbstractCommandBar {
36
36
  manualShow: (target: HTMLElement, options?: ShowCommandBarOptions) => void;
37
+ popper: Element | null;
37
38
  }
38
39
  export interface AbstractHoveringCommandBar extends AbstractCommandBar {
39
40
  setTarget: (target: HTMLElement, options: ShowCommandBarOptions) => void;
@@ -0,0 +1,19 @@
1
+ import { Closeable, CommandItem, OnesEditor, OnesEditorCustom } from '../../../../@ones-editor/core';
2
+ import { EmojiPalette } from '../emoji-palette';
3
+ export declare class EmojiItem implements CommandItem, OnesEditorCustom {
4
+ id: string;
5
+ name: string;
6
+ element: HTMLButtonElement;
7
+ dropdown: boolean;
8
+ children: CommandItem[];
9
+ palette: EmojiPalette;
10
+ manualShowChildren: boolean;
11
+ childrenPlacement: "bottom-start";
12
+ childrenMenuId: string;
13
+ closeable: Closeable;
14
+ constructor();
15
+ beforePopup(): void;
16
+ setCloseable(closeable: Closeable): void;
17
+ destroy(): void;
18
+ static get(editor: OnesEditor): EmojiItem;
19
+ }
@@ -0,0 +1,2 @@
1
+ import './index.scss';
2
+ export { EmojiItem } from './emoji-item';
@@ -0,0 +1,21 @@
1
+ import { Emojis } from './emoji-data';
2
+ interface EmojiContentOptions {
3
+ onSelectEmoji: (emoji: string) => void;
4
+ onCategoryReach: (category: string) => void;
5
+ }
6
+ export declare class EmojiContent {
7
+ private parent;
8
+ private options;
9
+ private root;
10
+ private observer;
11
+ constructor(parent: HTMLElement, options: EmojiContentOptions);
12
+ private handleIntersectionObserver;
13
+ private handleRootClick;
14
+ private updateCategoryGroupContent;
15
+ private createCategoryGroup;
16
+ updateFrequentlyUsedContent(emojis: Emojis): void;
17
+ updateContent: (emojis: Emojis) => void;
18
+ scrollToCategory(categoryId: string): void;
19
+ destroy(): void;
20
+ }
21
+ export {};
@@ -0,0 +1,60 @@
1
+ export type Emoji = string;
2
+ export type EmojiCategory = string;
3
+ export type Emojis = EmojiMetaData['emojis'];
4
+ interface EmojiMetaData {
5
+ emojis: Record<EmojiCategory, Emoji[]>;
6
+ keywords: Record<Emoji, string[]>;
7
+ }
8
+ type EmojiEntity = {
9
+ category: EmojiCategory;
10
+ emoji: Emoji;
11
+ keyword: string;
12
+ };
13
+ export declare function getCategoryInfo(category: string): {
14
+ icon: string;
15
+ label: string;
16
+ } | {
17
+ icon: string;
18
+ label: string;
19
+ } | {
20
+ icon: string;
21
+ label: string;
22
+ } | {
23
+ icon: string;
24
+ label: string;
25
+ } | {
26
+ icon: string;
27
+ label: string;
28
+ } | {
29
+ icon: string;
30
+ label: string;
31
+ } | {
32
+ icon: string;
33
+ label: string;
34
+ } | {
35
+ icon: string;
36
+ label: string;
37
+ };
38
+ export declare class EmojiData {
39
+ static metaData: EmojiMetaData | null;
40
+ private emojiEntities;
41
+ private localMetaData;
42
+ constructor();
43
+ get recentlyUsedEmojis(): EmojiMetaData['emojis'];
44
+ get emojis(): {
45
+ [x: string]: string[];
46
+ };
47
+ get categories(): EmojiCategory[];
48
+ static get loaded(): boolean;
49
+ saveEmojiToRecentlyUsed(emoji: Emoji): void;
50
+ filterEmojis(v: string): {
51
+ emojis: {
52
+ [x: string]: string[];
53
+ };
54
+ categories: string[];
55
+ };
56
+ getEmojiEntity(emoji: string): EmojiEntity | null;
57
+ static loadData(): Promise<EmojiMetaData>;
58
+ }
59
+ export declare function isEmptyEmojiData(emojis: Emojis): boolean;
60
+ export {};
@@ -0,0 +1,16 @@
1
+ import { EmojiCategory } from './emoji-data';
2
+ interface EmojiNavigationOptions {
3
+ onSelectCategory: (category: string) => void;
4
+ }
5
+ export declare class EmojiNavigation {
6
+ private parent;
7
+ private options;
8
+ private root;
9
+ constructor(parent: HTMLElement, options: EmojiNavigationOptions);
10
+ private handleRootClick;
11
+ private createCategoryItem;
12
+ updateFrequentlyUsedItem(): void;
13
+ updateContent(categories: EmojiCategory[]): void;
14
+ updateActiveCategory(category: string): void;
15
+ }
16
+ export {};
@@ -0,0 +1,11 @@
1
+ import { createInput } from '../input/create-input';
2
+ interface EmojiSearchOptions {
3
+ onSearch: (value: string) => void;
4
+ }
5
+ export declare class EmojiSearch {
6
+ private parent;
7
+ private options;
8
+ input: ReturnType<typeof createInput>;
9
+ constructor(parent: HTMLElement, options: EmojiSearchOptions);
10
+ }
11
+ export {};
@@ -0,0 +1,23 @@
1
+ import { CommandItem } from '../../../../@ones-editor/core';
2
+ import { TypedEmitter } from 'tiny-typed-emitter';
3
+ import './index.scss';
4
+ export interface EmojiPaletteEvents {
5
+ onSelectEmoji: (emoji: string) => void;
6
+ }
7
+ export declare class EmojiPalette extends TypedEmitter<EmojiPaletteEvents> implements CommandItem {
8
+ id: string;
9
+ name: string;
10
+ element: HTMLDivElement;
11
+ private emojiData;
12
+ private emojiSearch;
13
+ private emojiContent;
14
+ private emojiNavigation;
15
+ constructor();
16
+ private initEmojiData;
17
+ private handleSearch;
18
+ private handleEmojiSelect;
19
+ private handleSelectCategory;
20
+ private handleCategoryReach;
21
+ updateComponents(): void;
22
+ destroy(): void;
23
+ }
@@ -3,6 +3,7 @@ import PrevIcon from './prev.svg?raw';
3
3
  import NextIcon from './next.svg?raw';
4
4
  import MoreIcon from './more.svg?raw';
5
5
  import TextColorIcon from './text-color.svg?raw';
6
+ import AddIcon from './add.svg?raw';
6
7
  import ArrowDownIcon from './arrow-down.svg?raw';
7
8
  import ArrowUpIcon from './arrow-up.svg?raw';
8
9
  import ArrowLeftIcon from './arrow-left.svg?raw';
@@ -60,7 +61,9 @@ import UmlIcon from './uml.svg?raw';
60
61
  import DividingLineIcon from './dividing-line-icon.svg?raw';
61
62
  import LinkIcon from './link-icon.svg?raw';
62
63
  import CodeIcon from './code-icon.svg?raw';
64
+ import LayoutIcon from './layout.svg?raw';
63
65
  import TableIcon from './table-icon.svg?raw';
66
+ import CalloutIcon from './callout-icon.svg?raw';
64
67
  import HeadingH1Icon from './heading-h1.svg?raw';
65
68
  import HeadingH2Icon from './heading-h2.svg?raw';
66
69
  import HeadingH3Icon from './heading-h3.svg?raw';
@@ -85,6 +88,7 @@ import MentionIcon from './mention-icon.svg?raw';
85
88
  import ClearIcon from './clear.svg?raw';
86
89
  import CircleAddIcon from './circle-add.svg?raw';
87
90
  import LoadingIcon from './loading.svg?raw';
91
+ import LoadingCircleIcon from './loading-circle.svg?raw';
88
92
  import DragIcon from './drag.svg?raw';
89
93
  import UmlBrandIcon from './uml-brand.svg?raw';
90
94
  import OnesLoadingIcon from './ones-loading.svg?raw';
@@ -101,4 +105,19 @@ import FullScreenIcon from './full-screen.svg?raw';
101
105
  import ExitFullScreenIcon from './exit-full-screen.svg?raw';
102
106
  import CaretDownIcon from './caret-down.svg?raw';
103
107
  import StatusIcon from './status.svg?raw';
104
- export { ClearIcon, CloseIcon, PrevIcon, NextIcon, MoreIcon, TextColorIcon, ArrowDownIcon, ArrowUpIcon, ArrowLeftIcon, ArrowRightIcon, DeleteRowIcon, DeleteColIcon, MergeCellIcon, SplitCellIcon, DeleteTableIcon, Heading1Icon, Heading2Icon, Heading3Icon, Heading4Icon, Heading5Icon, Heading6Icon, Heading7Icon, Heading8Icon, HeadingNIcon, OrderedListIcon, UnorderedListIcon, CheckListIcon, BlockquoteIcon, AlignCenterIcon, AlignLeftIcon, AlignRightIcon, ImageIcon, ImageMenuIcon, ImageErrorIcon, ImageEmptyIcon, LinkIcon, LinkOffIcon, WarningIcon, PasteSpecialIcon, LaunchIcon, CodeIcon, AudioIcon, GraphIcon, VideoIcon, FileIcon, MathIcon, MathMenuIcon, TableIcon, TableMenuIcon, BilibiliIcon, YoukuIcon, ModaoIcon, FigmaIcon, EditIcon, CommentIcon, RefreshIcon, HelpIcon, CheckMarkIcon, TextIcon, RightArrowIcon, TencentVideoIcon, WebPageIcon, UmlIcon, DividingLineIcon, HeadingH1Icon, HeadingH2Icon, HeadingH3Icon, HeadingH4Icon, HeadingH5Icon, HeadingH6Icon, HeadingH7Icon, HeadingH8Icon, CheckboxIcon, QuoteIcon, LinkHrefIcon, OrderedIcon, UnorderedIcon, CopyIcon, CutIcon, DeleteIcon, LockBlockIcon, UnLockBlockIcon, InsertBeforeIcon, InsertAfterIcon, MentionIcon, CircleAddIcon, LoadingIcon, DragIcon, UmlBrandIcon, OnesLoadingIcon, BoldIcon, ItalicIcon, UnderlineIcon, LineThroughIcon, SubscriptIcon, SuperscriptIcon, InlineCodeIcon, ToMindMapIcon, FitIcon, FullScreenIcon, ExitFullScreenIcon, CaretDownIcon, StatusIcon, };
108
+ import DownloadIcon from './download.svg?raw';
109
+ import AlertEmojiIcon from '../icons/alter-emoji.svg?raw';
110
+ import ForbiddenIcon from './forbidden.svg?raw';
111
+ import WarningFilledIcon from './warning-filled.svg?raw';
112
+ import InformationFilledIcon from './information-filled.svg?raw';
113
+ import AddEmojiIcon from './add-emoji.svg?raw';
114
+ import BallIcon from './ball.svg?raw';
115
+ import CardIcon from './car.svg?raw';
116
+ import FoodIcon from './food.svg?raw';
117
+ import LightIcon from './light.svg?raw';
118
+ import SmileIcon from './smile.svg?raw';
119
+ import SymbolIcon from './symbol.svg?raw';
120
+ import TreeIcon from './tree.svg?raw';
121
+ import TimeIcon from './time.svg?raw';
122
+ import SearchIcon from './search.svg?raw';
123
+ export { DownloadIcon, AddEmojiIcon, BallIcon, CardIcon, FoodIcon, LightIcon, SmileIcon, SymbolIcon, TreeIcon, TimeIcon, ClearIcon, CloseIcon, PrevIcon, NextIcon, MoreIcon, TextColorIcon, AddIcon, ArrowDownIcon, ArrowUpIcon, ArrowLeftIcon, ArrowRightIcon, DeleteRowIcon, DeleteColIcon, MergeCellIcon, SplitCellIcon, DeleteTableIcon, Heading1Icon, Heading2Icon, Heading3Icon, Heading4Icon, Heading5Icon, Heading6Icon, Heading7Icon, Heading8Icon, HeadingNIcon, OrderedListIcon, UnorderedListIcon, CheckListIcon, BlockquoteIcon, AlignCenterIcon, AlignLeftIcon, AlignRightIcon, ImageIcon, ImageMenuIcon, ImageErrorIcon, ImageEmptyIcon, LinkIcon, LinkOffIcon, WarningIcon, PasteSpecialIcon, LaunchIcon, CodeIcon, LayoutIcon, AudioIcon, GraphIcon, VideoIcon, FileIcon, MathIcon, MathMenuIcon, TableIcon, TableMenuIcon, BilibiliIcon, YoukuIcon, ModaoIcon, FigmaIcon, EditIcon, CommentIcon, RefreshIcon, HelpIcon, CheckMarkIcon, TextIcon, RightArrowIcon, TencentVideoIcon, WebPageIcon, UmlIcon, DividingLineIcon, HeadingH1Icon, HeadingH2Icon, HeadingH3Icon, HeadingH4Icon, HeadingH5Icon, HeadingH6Icon, HeadingH7Icon, HeadingH8Icon, CheckboxIcon, QuoteIcon, LinkHrefIcon, OrderedIcon, UnorderedIcon, CopyIcon, CutIcon, DeleteIcon, LockBlockIcon, UnLockBlockIcon, InsertBeforeIcon, InsertAfterIcon, MentionIcon, CircleAddIcon, LoadingIcon, DragIcon, UmlBrandIcon, OnesLoadingIcon, BoldIcon, ItalicIcon, UnderlineIcon, LineThroughIcon, SubscriptIcon, SuperscriptIcon, InlineCodeIcon, ToMindMapIcon, FitIcon, FullScreenIcon, ExitFullScreenIcon, CaretDownIcon, StatusIcon, AlertEmojiIcon, ForbiddenIcon, WarningFilledIcon, InformationFilledIcon, SearchIcon, CalloutIcon, LoadingCircleIcon, };
@@ -14,4 +14,5 @@ export * from './color-button';
14
14
  export * from './input/create-input';
15
15
  export * from './auto-suggest';
16
16
  export * from './item-shortcuts';
17
+ export * from './emoji-item';
17
18
  export { tippy, };
@@ -8,6 +8,7 @@ export declare function createInput(parent: HTMLElement, options: {
8
8
  onChange?: (e: Event) => void;
9
9
  onKeyDown?: (e: KeyboardEvent, composing: boolean) => void;
10
10
  maxLength?: number;
11
+ prefix?: Element;
11
12
  }): {
12
13
  getField: () => HTMLInputElement;
13
14
  getInputValue: () => string;
@@ -5,6 +5,26 @@ declare const _default: {
5
5
  backgroundDesc: string;
6
6
  reset: string;
7
7
  };
8
+ emojiPalette: {
9
+ name: string;
10
+ search: {
11
+ placeholder: string;
12
+ };
13
+ content: {
14
+ loading: string;
15
+ empty: string;
16
+ };
17
+ category: {
18
+ frequentlyUsed: string;
19
+ smileysAndPeople: string;
20
+ animalsAndNature: string;
21
+ foodAndDrink: string;
22
+ travelAndPlaces: string;
23
+ activity: string;
24
+ objects: string;
25
+ symbols: string;
26
+ };
27
+ };
8
28
  search: {
9
29
  emptyTips: string;
10
30
  };
@@ -5,6 +5,26 @@ declare const _default: {
5
5
  backgroundDesc: string;
6
6
  reset: string;
7
7
  };
8
+ emojiPalette: {
9
+ name: string;
10
+ search: {
11
+ placeholder: string;
12
+ };
13
+ content: {
14
+ loading: string;
15
+ empty: string;
16
+ };
17
+ category: {
18
+ frequentlyUsed: string;
19
+ smileysAndPeople: string;
20
+ animalsAndNature: string;
21
+ foodAndDrink: string;
22
+ activity: string;
23
+ travelAndPlaces: string;
24
+ objects: string;
25
+ symbols: string;
26
+ };
27
+ };
8
28
  search: {
9
29
  emptyTips: string;
10
30
  };
@@ -5,6 +5,26 @@ declare const _default: {
5
5
  backgroundDesc: string;
6
6
  reset: string;
7
7
  };
8
+ emojiPalette: {
9
+ name: string;
10
+ search: {
11
+ placeholder: string;
12
+ };
13
+ content: {
14
+ loading: string;
15
+ empty: string;
16
+ };
17
+ category: {
18
+ frequentlyUsed: string;
19
+ smileysAndPeople: string;
20
+ animalsAndNature: string;
21
+ foodAndDrink: string;
22
+ activity: string;
23
+ travelAndPlaces: string;
24
+ objects: string;
25
+ symbols: string;
26
+ };
27
+ };
8
28
  search: {
9
29
  emptyTips: string;
10
30
  };
package/dist/index.d.ts CHANGED
@@ -15,7 +15,8 @@ export * from '../@ones-editor/misc';
15
15
  export * from '../@ones-editor/versions';
16
16
  export * from '../@ones-editor/misc';
17
17
  export * from '../@ones-editor/block-locker';
18
- export { Popup, ManualMenu, OnesEditorAutoSuggest, tippy, ManualToolbar, ManualCloseDialog, TextColorItem, } from '../@ones-editor/ui-base';
18
+ export * from '../@ones-editor/layout-block';
19
+ export { Popup, ManualMenu, OnesEditorAutoSuggest, tippy, ManualToolbar, ManualCloseDialog, TextColorItem, shouldFocusToEditor, } from '../@ones-editor/ui-base';
19
20
  export * from '../@ones-editor/drawio-embed';
20
21
  export * from '../@ones-editor/block-resizer';
21
22
  export { editorAddComment } from '../@ones-editor/comments';