395ba0f8345bc8930103f4c3aabe8b9f8fa40c02923d5998b31d70b3628fdd5e772033b9760cd717f95faedb13547e6fea5e782ef0624ccc6e11c120565929 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. import type Quill from '../core.js';
  2. import type Clipboard from '../modules/clipboard.js';
  3. import type History from '../modules/history.js';
  4. import type Keyboard from '../modules/keyboard.js';
  5. import type { ToolbarProps } from '../modules/toolbar.js';
  6. import type Uploader from '../modules/uploader.js';
  7. export interface ThemeOptions {
  8. modules: Record<string, unknown> & {
  9. toolbar?: null | ToolbarProps;
  10. };
  11. }
  12. declare class Theme {
  13. protected quill: Quill;
  14. protected options: ThemeOptions;
  15. static DEFAULTS: ThemeOptions;
  16. static themes: {
  17. default: typeof Theme;
  18. };
  19. modules: ThemeOptions['modules'];
  20. constructor(quill: Quill, options: ThemeOptions);
  21. init(): void;
  22. addModule(name: 'clipboard'): Clipboard;
  23. addModule(name: 'keyboard'): Keyboard;
  24. addModule(name: 'uploader'): Uploader;
  25. addModule(name: 'history'): History;
  26. addModule(name: string): unknown;
  27. }
  28. export interface ThemeConstructor {
  29. new (quill: Quill, options: unknown): Theme;
  30. DEFAULTS: ThemeOptions;
  31. }
  32. export default Theme;