@seyamali/aurelia-editor 0.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.
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/dist/core/commands.d.ts +1 -0
- package/dist/core/engine.d.ts +11 -0
- package/dist/core/registry.d.ts +13 -0
- package/dist/core/sdk.d.ts +57 -0
- package/dist/counter.d.ts +1 -0
- package/dist/horizontal-rule-plugin-DdpCd1us.js +20 -0
- package/dist/index-C9G087KG.js +54332 -0
- package/dist/index.d.ts +4 -0
- package/dist/main.d.ts +0 -0
- package/dist/omni-editor.js +6 -0
- package/dist/omni-editor.umd.cjs +822 -0
- package/dist/plugins/advanced/asset-link-node.d.ts +18 -0
- package/dist/plugins/advanced/code-block-node.d.ts +33 -0
- package/dist/plugins/advanced/code-blocks.d.ts +13 -0
- package/dist/plugins/advanced/footnote-node.d.ts +59 -0
- package/dist/plugins/advanced/footnote-plugin.d.ts +6 -0
- package/dist/plugins/advanced/footnote.d.ts +8 -0
- package/dist/plugins/advanced/html-snippet-node.d.ts +16 -0
- package/dist/plugins/advanced/markdown.d.ts +5 -0
- package/dist/plugins/advanced/media-embed.d.ts +4 -0
- package/dist/plugins/advanced/placeholder-node.d.ts +22 -0
- package/dist/plugins/advanced/placeholder.d.ts +18 -0
- package/dist/plugins/advanced/revision-history.d.ts +22 -0
- package/dist/plugins/advanced/source-view.d.ts +37 -0
- package/dist/plugins/advanced/style-node.d.ts +18 -0
- package/dist/plugins/advanced/youtube-node.d.ts +34 -0
- package/dist/plugins/collaboration/revision-history.d.ts +25 -0
- package/dist/plugins/collaboration/revision-ui.d.ts +2 -0
- package/dist/plugins/collaboration/suggestion-node.d.ts +21 -0
- package/dist/plugins/collaboration/track-changes.d.ts +8 -0
- package/dist/plugins/configuration/accessibility.d.ts +11 -0
- package/dist/plugins/configuration/context-aware-toolbar.d.ts +66 -0
- package/dist/plugins/configuration/i18n.d.ts +40 -0
- package/dist/plugins/configuration/toolbar-config.d.ts +73 -0
- package/dist/plugins/configuration/toolbar-customization-ui.d.ts +73 -0
- package/dist/plugins/configuration/toolbar-customization.d.ts +12 -0
- package/dist/plugins/configuration/toolbar-system.d.ts +25 -0
- package/dist/plugins/configuration/toolbar-ui.d.ts +1 -0
- package/dist/plugins/custom-plugin-demo.d.ts +11 -0
- package/dist/plugins/essentials/clipboard.d.ts +4 -0
- package/dist/plugins/essentials/history.d.ts +12 -0
- package/dist/plugins/essentials/horizontal-rule-plugin.d.ts +2 -0
- package/dist/plugins/export/pdf-export.d.ts +4 -0
- package/dist/plugins/export/word-export.d.ts +4 -0
- package/dist/plugins/formatting/basic-styles.d.ts +33 -0
- package/dist/plugins/formatting/custom-heading-node.d.ts +17 -0
- package/dist/plugins/formatting/custom-link-node.d.ts +17 -0
- package/dist/plugins/formatting/custom-paragraph-node.d.ts +16 -0
- package/dist/plugins/formatting/icon-node.d.ts +22 -0
- package/dist/plugins/formatting/span-node.d.ts +18 -0
- package/dist/plugins/import/word-import.d.ts +5 -0
- package/dist/plugins/layout/headings.d.ts +7 -0
- package/dist/plugins/layout/indent.d.ts +2 -0
- package/dist/plugins/layout/layout-node.d.ts +22 -0
- package/dist/plugins/layout/lists.d.ts +22 -0
- package/dist/plugins/layout/table-resizer.d.ts +5 -0
- package/dist/plugins/layout/tables.d.ts +16 -0
- package/dist/plugins/media/custom-image-node.d.ts +23 -0
- package/dist/plugins/media/embed-plugin.d.ts +9 -0
- package/dist/plugins/media/image-drag-move.d.ts +2 -0
- package/dist/plugins/media/image-node.d.ts +70 -0
- package/dist/plugins/media/image-popover-ui.d.ts +2 -0
- package/dist/plugins/media/image-resizer.d.ts +6 -0
- package/dist/plugins/media/image-url-modal.d.ts +3 -0
- package/dist/plugins/media/images.d.ts +4 -0
- package/dist/plugins/media/link-popover-ui.d.ts +3 -0
- package/dist/plugins/media/links.d.ts +3 -0
- package/dist/plugins/media/unified-image-modal.d.ts +3 -0
- package/dist/plugins/page-layout/page-break-node.d.ts +20 -0
- package/dist/plugins/page-layout/page-break.d.ts +7 -0
- package/dist/plugins/page-layout/toc-node.d.ts +46 -0
- package/dist/plugins/page-layout/toc-plugin.d.ts +8 -0
- package/dist/plugins/productivity/autosave.d.ts +6 -0
- package/dist/plugins/productivity/case-change.d.ts +11 -0
- package/dist/plugins/productivity/document-outline.d.ts +12 -0
- package/dist/plugins/productivity/emoji-ui.d.ts +2 -0
- package/dist/plugins/productivity/emoji.d.ts +9 -0
- package/dist/plugins/productivity/find-replace-ui.d.ts +2 -0
- package/dist/plugins/productivity/find-replace.d.ts +26 -0
- package/dist/plugins/productivity/format-painter.d.ts +10 -0
- package/dist/plugins/productivity/minimap.d.ts +6 -0
- package/dist/plugins/productivity/productivity-pack.d.ts +5 -0
- package/dist/plugins/productivity/slash-commands.d.ts +5 -0
- package/dist/plugins/productivity/slash-menu-ui.d.ts +25 -0
- package/dist/plugins/upload/adapters.d.ts +16 -0
- package/dist/plugins/upload/upload-manager.d.ts +20 -0
- package/dist/shared/dialog-system.d.ts +28 -0
- package/dist/spare.d.ts +7 -0
- package/dist/ui/code-block-popover-ui.d.ts +5 -0
- package/dist/ui/components/editor-main-html.d.ts +1 -0
- package/dist/ui/components/modals-html.d.ts +1 -0
- package/dist/ui/components/status-bar-html.d.ts +1 -0
- package/dist/ui/components/toolbar-html.d.ts +1 -0
- package/dist/ui/icons.d.ts +53 -0
- package/dist/ui/layout.d.ts +1 -0
- package/dist/ui/revision-history-ui.d.ts +2 -0
- package/dist/ui/table-grid-picker.d.ts +3 -0
- package/dist/ui/table-popover-ui.d.ts +2 -0
- package/dist/ui/toolbar-delegation.d.ts +6 -0
- package/dist/ui/toolbar-logic/advanced-logic.d.ts +2 -0
- package/dist/ui/toolbar-logic/basic-logic.d.ts +2 -0
- package/dist/ui/toolbar-logic/document-logic.d.ts +2 -0
- package/dist/ui/toolbar-logic/state-logic.d.ts +1 -0
- package/dist/ui/toolbar-setup.d.ts +6 -0
- package/dist/ui/toolbar.d.ts +3 -0
- package/dist/ui/track-changes-ui.d.ts +2 -0
- package/dist/vite.svg +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LexicalEditor } from 'lexical';
|
|
2
|
+
export interface SlashCommand {
|
|
3
|
+
label: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
icon: string;
|
|
6
|
+
execute: (editor: LexicalEditor) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare class SlashMenuUI {
|
|
9
|
+
menuElement: HTMLElement;
|
|
10
|
+
items: SlashCommand[];
|
|
11
|
+
selectedIndex: number;
|
|
12
|
+
isVisible: boolean;
|
|
13
|
+
currentQuery: string;
|
|
14
|
+
private editor;
|
|
15
|
+
private commands;
|
|
16
|
+
constructor(editor: LexicalEditor, commands: SlashCommand[]);
|
|
17
|
+
show(rect: DOMRect, query: string): void;
|
|
18
|
+
hide(): void;
|
|
19
|
+
renderItems(commands: SlashCommand[]): void;
|
|
20
|
+
updateSelection(): void;
|
|
21
|
+
executeCommand(cmd: SlashCommand): void;
|
|
22
|
+
moveUp(): void;
|
|
23
|
+
moveDown(): void;
|
|
24
|
+
selectAction(): SlashCommand | null;
|
|
25
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ImageUploadAdapter } from './upload-manager';
|
|
2
|
+
/**
|
|
3
|
+
* Default adapter that converts images to Base64 strings.
|
|
4
|
+
* Use for offline or small demo applications.
|
|
5
|
+
*/
|
|
6
|
+
export declare const Base64UploadAdapter: ImageUploadAdapter;
|
|
7
|
+
/**
|
|
8
|
+
* Mock adapter for CKBox integration.
|
|
9
|
+
* CKBox is CKEditor's file manager. In a real app, this would use the CKBox SDK.
|
|
10
|
+
*/
|
|
11
|
+
export declare const CKBoxUploadAdapter: ImageUploadAdapter;
|
|
12
|
+
/**
|
|
13
|
+
* Template for a Custom Adapter.
|
|
14
|
+
* Developers can implement this to connect to their own S3 bucket or server.
|
|
15
|
+
*/
|
|
16
|
+
export declare const CustomUploadAdapter: ImageUploadAdapter;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface UploadResponse {
|
|
2
|
+
url: string;
|
|
3
|
+
filename?: string;
|
|
4
|
+
size?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ImageUploadAdapter {
|
|
7
|
+
name: string;
|
|
8
|
+
upload: (file: File) => Promise<UploadResponse>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Manager to handle multiple upload adapters
|
|
12
|
+
*/
|
|
13
|
+
export declare class UploadManager {
|
|
14
|
+
private static adapters;
|
|
15
|
+
private static currentAdapter;
|
|
16
|
+
static register(adapter: ImageUploadAdapter): void;
|
|
17
|
+
static setAdapter(name: string): void;
|
|
18
|
+
static upload(file: File): Promise<UploadResponse>;
|
|
19
|
+
static getAdapters(): string[];
|
|
20
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal Dialog & Notification System
|
|
3
|
+
* Replaces native alert(), prompt(), and console logs with modern UX.
|
|
4
|
+
*/
|
|
5
|
+
type ToastLevel = 'info' | 'success' | 'warning' | 'error';
|
|
6
|
+
export declare const DialogSystem: {
|
|
7
|
+
/**
|
|
8
|
+
* Show a modern alert modal.
|
|
9
|
+
*/
|
|
10
|
+
alert: (message: string, title?: string) => Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Show a modern prompt modal.
|
|
13
|
+
*/
|
|
14
|
+
prompt: (message: string, defaultValue?: string, title?: string) => Promise<string | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Show a modern confirmation modal.
|
|
17
|
+
*/
|
|
18
|
+
confirm: (message: string, title?: string) => Promise<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* Show a sleek toast notification.
|
|
21
|
+
*/
|
|
22
|
+
toast: (message: string, level?: ToastLevel, duration?: number) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Intercept console methods to use Toasts automatically.
|
|
25
|
+
*/
|
|
26
|
+
initConsoleProxy: () => void;
|
|
27
|
+
};
|
|
28
|
+
export {};
|
package/dist/spare.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EDITOR_MAIN_HTML = "\n <div class=\"editor-main-area\">\n <div id=\"editor-canvas\" class=\"editor-container\" role=\"textbox\" aria-multiline=\"true\" aria-label=\"Rich Text Content\"></div>\n </div>\n <textarea id=\"source-editor\" class=\"source-view-area\" style=\"display: none;\"></textarea>\n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const MODALS_HTML = "\n <!-- Find & Replace Dialog -->\n <!-- Find & Replace Dialog -->\n <div id=\"find-replace-dialog\" class=\"find-replace-dialog hidden\">\n <div class=\"fr-header\">\n <span>Find & Replace</span>\n <button id=\"close-find-btn\" class=\"fr-close-btn\">×</button>\n </div>\n <div class=\"fr-body\">\n <div class=\"fr-input-group\">\n <input type=\"text\" id=\"find-input\" placeholder=\"Find...\" />\n <div class=\"fr-nav-buttons\">\n <button id=\"find-prev-btn\" title=\"Previous Match\">\u2191</button>\n <button id=\"find-next-btn\" title=\"Next Match\">\u2193</button>\n </div>\n </div>\n <input type=\"text\" id=\"replace-input\" placeholder=\"Replace with...\" />\n \n <div class=\"fr-options\">\n <label title=\"Case Sensitive\"><input type=\"checkbox\" id=\"fr-opt-case\" /> aA</label>\n <label title=\"Whole Word\"><input type=\"checkbox\" id=\"fr-opt-whole\" /> [ ]</label>\n <label title=\"Regular Expression\"><input type=\"checkbox\" id=\"fr-opt-regex\" /> .*</label>\n </div>\n\n <div class=\"fr-actions\">\n <button id=\"replace-btn\" class=\"btn-secondary-sm\">Replace</button>\n <button id=\"replace-all-btn\" class=\"btn-secondary-sm\">Replace All</button>\n </div>\n <div class=\"fr-info\" id=\"fr-info-text\"></div>\n </div>\n </div>\n \n <!-- Emoji Dialog -->\n <div id=\"emoji-dialog\" class=\"emoji-picker hidden\">\n <div class=\"emoji-header\">\n <span>Pick an Emoji</span>\n <button id=\"close-emoji-btn\">×</button>\n </div>\n <div class=\"emoji-search-area\">\n <input type=\"text\" id=\"emoji-search-input\" placeholder=\"Search emojis...\" />\n </div>\n <div class=\"emoji-tabs\">\n <button class=\"emoji-tab active\" data-category=\"all\">All</button>\n <button class=\"emoji-tab\" data-category=\"smileys\">\uD83D\uDE00</button>\n <button class=\"emoji-tab\" data-category=\"nature\">\uD83C\uDF32</button>\n <button class=\"emoji-tab\" data-category=\"objects\">\uD83D\uDCA1</button>\n <button class=\"emoji-tab\" data-category=\"symbols\">\u2764\uFE0F</button>\n <button class=\"emoji-tab\" data-category=\"math\">Math</button>\n </div>\n <div id=\"emoji-grid\" class=\"emoji-grid\"></div>\n </div>\n \n <!-- New Revision History is handled via sidebar injected into body -->\n\n <!-- Toolbar Settings Modal -->\n <div id=\"toolbar-settings-modal\" class=\"modal hidden\">\n <div class=\"modal-content\">\n <h3>Customize Toolbar</h3>\n <p>Show/Hide toolbar items:</p>\n <div id=\"toolbar-items-list\" class=\"settings-grid\"></div>\n <div class=\"modal-footer\">\n <button id=\"save-toolbar-settings\" class=\"btn-primary\">Save Changes</button>\n <button id=\"reset-toolbar-settings\" class=\"btn-secondary\">Reset to Default</button>\n <button id=\"close-toolbar-settings\" class=\"btn-ghost\" style=\"margin-top: 10px;\">Cancel</button>\n </div>\n </div>\n </div>\n <!-- Link Popover -->\n <div id=\"link-popover\" class=\"link-popover hidden\">\n <div class=\"link-popover-main\">\n <input type=\"text\" id=\"link-url-input\" placeholder=\"Paste or type a link...\" />\n <button id=\"link-apply-btn\" class=\"btn-primary-sm\">Apply</button>\n <span class=\"divider-v\"></span>\n <button id=\"link-open-btn\" class=\"btn-icon-sm\" title=\"Open Link\">\u2197\uFE0F</button>\n <button id=\"link-remove-btn\" class=\"btn-icon-sm\" title=\"Remove Link\">\uD83D\uDDD1\uFE0F</button>\n </div>\n <div class=\"link-popover-footer\">\n <label><input type=\"checkbox\" id=\"link-target-checkbox\" /> Open in new tab</label>\n </div>\n </div>\n \n <!-- Table of Contents Configuration Modal -->\n <div id=\"toc-config-modal\" class=\"modal hidden\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3>\uD83D\uDCD1 Insert Table of Contents</h3>\n <button id=\"close-toc-config-btn\" class=\"modal-close-btn\">×</button>\n </div>\n <div class=\"modal-body\">\n <div class=\"toc-config-group\">\n <label>Heading Levels to Include:</label>\n <div class=\"toc-level-inputs\">\n <label>\n From Level:\n <select id=\"toc-min-level\">\n <option value=\"1\">H1</option>\n <option value=\"2\">H2</option>\n <option value=\"3\">H3</option>\n <option value=\"4\">H4</option>\n <option value=\"5\">H5</option>\n <option value=\"6\">H6</option>\n </select>\n </label>\n <label>\n To Level:\n <select id=\"toc-max-level\">\n <option value=\"1\">H1</option>\n <option value=\"2\">H2</option>\n <option value=\"3\" selected>H3</option>\n <option value=\"4\">H4</option>\n <option value=\"5\">H5</option>\n <option value=\"6\" selected>H6</option>\n </select>\n </label>\n </div>\n </div>\n \n <div class=\"toc-config-group\">\n <label>List Style:</label>\n <select id=\"toc-style\">\n <option value=\"nested\">Nested List (Recommended)</option>\n <option value=\"unordered\">Unordered List</option>\n <option value=\"ordered\">Ordered List</option>\n </select>\n </div>\n \n <div class=\"toc-config-group\">\n <label>\n <input type=\"checkbox\" id=\"toc-numbered\" />\n Numbered Headings (e.g., 1.1, 1.2, 2.1)\n </label>\n </div>\n \n <div class=\"toc-config-group\">\n <label>\n <input type=\"checkbox\" id=\"toc-collapsible\" />\n Collapsible Sections\n </label>\n </div>\n\n <div class=\"toc-config-group\">\n <label>Theme Preference:</label>\n <select id=\"toc-theme\">\n <option value=\"auto\">Auto (System Default)</option>\n <option value=\"light\">Light Mode</option>\n <option value=\"dark\">Dark Mode</option>\n </select>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button id=\"toc-insert-btn\" class=\"btn-primary\">Insert TOC</button>\n <button id=\"toc-cancel-btn\" class=\"btn-secondary\">Cancel</button>\n </div>\n </div>\n </div>\n\n <!-- Generic Alert/Info Modal -->\n <div id=\"universal-alert-modal\" class=\"modal hidden\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 id=\"ua-title\">Notification</h3>\n <button id=\"close-ua-btn\" class=\"modal-close-btn\">×</button>\n </div>\n <div class=\"modal-body\">\n <p id=\"ua-message\"></p>\n </div>\n <div class=\"modal-footer\">\n <button id=\"ua-ok-btn\" class=\"btn-primary\">OK</button>\n </div>\n </div>\n </div>\n\n <!-- Generic Prompt/Input Modal -->\n <div id=\"universal-prompt-modal\" class=\"modal hidden\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 id=\"up-title\">Input Required</h3>\n <button id=\"close-up-btn\" class=\"modal-close-btn\">×</button>\n </div>\n <div class=\"modal-body\">\n <p id=\"up-message\" style=\"margin-bottom: 12px;\"></p>\n <input type=\"text\" id=\"up-input\" style=\"width: 100%;\" />\n </div>\n <div class=\"modal-footer\">\n <button id=\"up-cancel-btn\" class=\"btn-secondary\">Cancel</button>\n <button id=\"up-submit-btn\" class=\"btn-primary\">Submit</button>\n </div>\n </div>\n </div>\n\n <!-- Toast Notification Container -->\n <div id=\"toast-container\" class=\"toast-container\"></div>\n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const STATUS_BAR_HTML = "\n <div class=\"editor-status-bar\">\n <div class=\"status-left\">\n <span id=\"word-count\">0 words</span>\n <span class=\"status-sep\">|</span>\n <span id=\"char-count\">0 characters</span>\n </div>\n <div class=\"status-right\">\n <span id=\"autosave-status\" class=\"autosave-status\"></span>\n <span id=\"reading-time\">1 min read</span>\n </div>\n </div>\n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TOOLBAR_HTML = "\n <div id=\"toolbar\" class=\"toolbar\" role=\"toolbar\" aria-label=\"Editor toolbar\">\n <button id=\"undo-btn\" data-i18n=\"undo\" data-i18n-icon=\"\u21B6\" aria-label=\"Undo\">\u21B6 Undo</button>\n <button id=\"redo-btn\" data-i18n=\"redo\" data-i18n-icon=\"\u21B7\" aria-label=\"Redo\">\u21B7 Redo</button>\n <span class=\"divider\"></span>\n <button id=\"cut-btn\" title=\"Cut (Ctrl+X)\">\u2702\uFE0F Cut</button>\n <button id=\"copy-btn\" title=\"Copy (Ctrl+C)\">\uD83D\uDCCB Copy</button>\n <button id=\"paste-btn\" title=\"Paste (Ctrl+V)\">\uD83D\uDCE5 Paste</button>\n <button id=\"paste-plain-btn\" title=\"Paste as Plain Text (Ctrl+Shift+V)\">\uD83D\uDCC4 Paste Plain</button>\n <span class=\"divider\"></span>\n <button id=\"clear-btn\" data-i18n=\"clearFormatting\" aria-label=\"Clear formatting\">Clear Format</button>\n <button id=\"format-painter-btn\" aria-label=\"Format Painter\">\uD83D\uDD8C\uFE0F Painter</button>\n <button id=\"find-btn\" title=\"Find & Replace (Ctrl+F)\">\uD83D\uDD0D Find</button>\n \n <span class=\"divider\"></span>\n\n <button id=\"bold-btn\" data-i18n=\"bold\" aria-label=\"Bold text\"><b>B</b></button>\n <button id=\"italic-btn\" data-i18n=\"italic\" aria-label=\"Italic text\"><i>I</i></button>\n <button id=\"underline-btn\" data-i18n=\"underline\" aria-label=\"Underline text\"><u>U</u></button>\n <button id=\"strike-btn\" data-i18n=\"strikethrough\" aria-label=\"Strikethrough text\"><s>S</s></button>\n <button id=\"sub-btn\" aria-label=\"Subscript\">X<sub>2</sub></button>\n <button id=\"sup-btn\" aria-label=\"Superscript\">X<sup>2</sup></button>\n <button id=\"code-btn\" aria-label=\"Inline Code\"><code></></code></button>\n \n <span class=\"divider\"></span>\n\n <select id=\"block-type-select\" class=\"toolbar-select\" aria-label=\"Block style\">\n <option value=\"paragraph\" data-i18n=\"paragraph\">Paragraph</option>\n <option value=\"h1\" data-i18n=\"h1\">Heading 1</option>\n <option value=\"h2\" data-i18n=\"h2\">Heading 2</option>\n <option value=\"h3\" data-i18n=\"h3\">Heading 3</option>\n <option value=\"h4\" data-i18n=\"h4\">Heading 4</option>\n <option value=\"h5\" data-i18n=\"h5\">Heading 5</option>\n <option value=\"h6\" data-i18n=\"h6\">Heading 6</option>\n <option value=\"quote\" data-i18n=\"quote\">Block Quote</option>\n </select>\n <button id=\"hr-btn\" title=\"Horizontal Line\">\u2014</button>\n <button id=\"quote-btn\" title=\"Block Quote\" aria-label=\"Block Quote\">\u201C</button>\n \n <button id=\"bullet-btn\" title=\"Bulleted List\" aria-label=\"Bulleted List\">\u2022 List</button>\n <button id=\"number-btn\" title=\"Numbered List\" aria-label=\"Numbered List\">1. List</button>\n <button id=\"outdent-btn\" title=\"Decrease Indent\" aria-label=\"Decrease Indent\">\u2190 Indent</button>\n <button id=\"indent-btn\" title=\"Increase Indent\" aria-label=\"Increase Indent\">Indent \u2192</button>\n \n <span class=\"divider\"></span>\n\n <button id=\"link-btn\" data-i18n=\"link\" data-i18n-icon=\"\uD83D\uDD17\">\uD83D\uDD17 Link</button>\n <button id=\"image-btn\" data-i18n=\"image\" data-i18n-icon=\"\uD83D\uDDBC\uFE0F\" title=\"Insert Image (Upload, URL, Paste, or Drag & Drop)\">\uD83D\uDDBC\uFE0F Image</button>\n <button id=\"emoji-btn\" data-i18n=\"emoji\" data-i18n-icon=\"\uD83D\uDE00\" title=\"Insert Emoji\">\uD83D\uDE00 Emoji</button>\n <button id=\"table-btn\" data-i18n=\"table\" data-i18n-icon=\"\uD83D\uDCC5\">\uD83D\uDCC5 Table</button>\n \n <button id=\"video-btn\" data-i18n=\"youtube\" data-i18n-icon=\"\uD83D\uDCF9\">\uD83D\uDCF9 Video</button>\n <button id=\"html-snippet-btn\" data-i18n=\"htmlSnippet\" data-i18n-icon=\"</>\"></> Snippet</button>\n <button id=\"code-block-btn\" data-i18n=\"codeBlock\" data-i18n-icon=\"{}\">{} Code Block</button>\n \n <span class=\"divider\"></span>\n<button id=\"insert-placeholder-btn\" title=\"Insert Placeholder\" data-i18n=\"placeholders\">\uD83C\uDFF7\uFE0F Field</button>\n \n <span class=\"divider\"></span>\n \n <button id=\"export-pdf-btn\" data-i18n=\"pdf\" data-i18n-icon=\"\uD83D\uDCC4\">\uD83D\uDCC4 PDF</button>\n <button id=\"export-word-btn\" data-i18n=\"word\" data-i18n-icon=\"\uD83D\uDCDD\">\uD83D\uDCDD Word</button>\n <button id=\"import-word-btn\" data-i18n=\"importWord\" data-i18n-icon=\"\uD83D\uDCE5\">\uD83D\uDCE5 Import Word</button>\n \n <span class=\"divider\"></span>\n <button id=\"page-break-btn\" data-i18n=\"pageBreak\" data-i18n-icon=\"\uD83D\uDCC4\">\uD83D\uDCC4 Break</button>\n <button id=\"footnote-btn\" data-i18n=\"footnote\" data-i18n-icon=\"\u00B9\">\u00B9 Footnote</button>\n <button id=\"toc-btn\" data-i18n=\"toc\" data-i18n-icon=\"\uD83D\uDCD1\">\uD83D\uDCD1 TOC</button>\n <button id=\"outline-toggle-btn\" data-i18n=\"outline\" data-i18n-icon=\"\uD83D\uDCD1\">\uD83D\uDCD1 Outline Sidebar</button>\n <button id=\"minimap-toggle-btn\" title=\"Toggle Minimap\">\uD83D\uDDFA\uFE0F Minimap</button>\n \n <span class=\"divider\"></span>\n <button id=\"uppercase-btn\" title=\"Uppercase\">ABC</button>\n <button id=\"lowercase-btn\" title=\"Lowercase\">abc</button>\n <button id=\"titlecase-btn\" title=\"Title Case\">Abc</button>\n\n <span class=\"divider\"></span>\n <button id=\"source-toggle-btn\">HTML Source</button>\n \n <span class=\"divider\"></span>\n <select id=\"language-select\" class=\"toolbar-select\">\n <option value=\"en\">\uD83C\uDDFA\uD83C\uDDF8 English</option>\n <option value=\"ar\">\uD83C\uDDF8\uD83C\uDDE6 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 (Arabic)</option>\n <option value=\"es\">\uD83C\uDDEA\uD83C\uDDF8 Espa\u00F1ol</option>\n <option value=\"fr\">\uD83C\uDDEB\uD83C\uDDF7 Fran\u00E7ais</option>\n </select>\n\n <button id=\"toolbar-settings-btn\" title=\"Toolbar Settings\">\u2699\uFE0F</button>\n\n <button id=\"track-changes-btn\" class=\"off\" data-i18n=\"trackChanges\" data-i18n-icon=\"\uD83D\uDC41\uFE0F\">\uD83D\uDC41\uFE0F Track Changes: OFF</button>\n <button id=\"zen-mode-btn\" title=\"Zen Mode\" data-i18n=\"zenMode\">\uD83E\uDDD8 Zen</button>\n <div id=\"autosave-status\"></div>\n </div>\n";
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export declare const ICONS: {
|
|
2
|
+
BOLD: string;
|
|
3
|
+
ITALIC: string;
|
|
4
|
+
UNDERLINE: string;
|
|
5
|
+
STRIKETHROUGH: string;
|
|
6
|
+
CODE: string;
|
|
7
|
+
CODE_BLOCK: string;
|
|
8
|
+
SUBSCRIPT: string;
|
|
9
|
+
SUPERSCRIPT: string;
|
|
10
|
+
ALIGN_LEFT: string;
|
|
11
|
+
ALIGN_CENTER: string;
|
|
12
|
+
ALIGN_RIGHT: string;
|
|
13
|
+
ALIGN_JUSTIFY: string;
|
|
14
|
+
UL: string;
|
|
15
|
+
OL: string;
|
|
16
|
+
IMAGE: string;
|
|
17
|
+
VIDEO: string;
|
|
18
|
+
LINK: string;
|
|
19
|
+
TABLE: string;
|
|
20
|
+
QUOTE: string;
|
|
21
|
+
HR: string;
|
|
22
|
+
PAGE_BREAK: string;
|
|
23
|
+
FOOTNOTE: string;
|
|
24
|
+
TOC: string;
|
|
25
|
+
FIND: string;
|
|
26
|
+
EMOJI: string;
|
|
27
|
+
PAINT: string;
|
|
28
|
+
INDENT: string;
|
|
29
|
+
OUTDENT: string;
|
|
30
|
+
CLEAR: string;
|
|
31
|
+
UNDO: string;
|
|
32
|
+
REDO: string;
|
|
33
|
+
HEADING: string;
|
|
34
|
+
SOURCE: string;
|
|
35
|
+
CHECK: string;
|
|
36
|
+
PDF: string;
|
|
37
|
+
WORD: string;
|
|
38
|
+
IMPORT: string;
|
|
39
|
+
OUTLINE: string;
|
|
40
|
+
MINIMAP: string;
|
|
41
|
+
ZEN: string;
|
|
42
|
+
SNIPPET: string;
|
|
43
|
+
PLACEHOLDER: string;
|
|
44
|
+
TABLE_ROW_ABOVE: string;
|
|
45
|
+
TABLE_ROW_BELOW: string;
|
|
46
|
+
TABLE_ROW_DELETE: string;
|
|
47
|
+
TABLE_COL_LEFT: string;
|
|
48
|
+
TABLE_COL_RIGHT: string;
|
|
49
|
+
TABLE_COL_DELETE: string;
|
|
50
|
+
TABLE_MERGE: string;
|
|
51
|
+
TABLE_SPLIT: string;
|
|
52
|
+
TABLE_DELETE: string;
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EDITOR_LAYOUT_HTML = "\n <div id=\"editor-wrapper\" class=\"editor-wrapper\" role=\"application\" aria-label=\"Rich Text Editor Container\">\n \n <div id=\"toolbar\" class=\"toolbar\" role=\"toolbar\" aria-label=\"Editor toolbar\">\n <button id=\"undo-btn\" data-i18n=\"undo\" data-i18n-icon=\"\u21B6\" aria-label=\"Undo\">\u21B6 Undo</button>\n <button id=\"redo-btn\" data-i18n=\"redo\" data-i18n-icon=\"\u21B7\" aria-label=\"Redo\">\u21B7 Redo</button>\n <span class=\"divider\"></span>\n <button id=\"cut-btn\" title=\"Cut (Ctrl+X)\">\u2702\uFE0F Cut</button>\n <button id=\"copy-btn\" title=\"Copy (Ctrl+C)\">\uD83D\uDCCB Copy</button>\n <button id=\"paste-btn\" title=\"Paste (Ctrl+V)\">\uD83D\uDCE5 Paste</button>\n <button id=\"paste-plain-btn\" title=\"Paste as Plain Text (Ctrl+Shift+V)\">\uD83D\uDCC4 Paste Plain</button>\n <span class=\"divider\"></span>\n <button id=\"clear-btn\" data-i18n=\"clearFormatting\" aria-label=\"Clear formatting\">Clear Format</button>\n <button id=\"format-painter-btn\" aria-label=\"Format Painter\">\uD83D\uDD8C\uFE0F Painter</button>\n <button id=\"find-btn\" title=\"Find & Replace (Ctrl+F)\">\uD83D\uDD0D Find</button>\n \n <span class=\"divider\"></span>\n\n <button id=\"bold-btn\" data-i18n=\"bold\" aria-label=\"Bold text\"><b>B</b></button>\n <button id=\"italic-btn\" data-i18n=\"italic\" aria-label=\"Italic text\"><i>I</i></button>\n <button id=\"underline-btn\" data-i18n=\"underline\" aria-label=\"Underline text\"><u>U</u></button>\n <button id=\"strike-btn\" data-i18n=\"strikethrough\" aria-label=\"Strikethrough text\"><s>S</s></button>\n <button id=\"sub-btn\" aria-label=\"Subscript\">X<sub>2</sub></button>\n <button id=\"sup-btn\" aria-label=\"Superscript\">X<sup>2</sup></button>\n <button id=\"code-btn\" aria-label=\"Inline Code\"><code></></code></button>\n \n <span class=\"divider\"></span>\n\n <select id=\"block-type-select\" class=\"toolbar-select\" aria-label=\"Block style\">\n <option value=\"paragraph\" data-i18n=\"paragraph\">Paragraph</option>\n <option value=\"h1\" data-i18n=\"h1\">Heading 1</option>\n <option value=\"h2\" data-i18n=\"h2\">Heading 2</option>\n <option value=\"h3\" data-i18n=\"h3\">Heading 3</option>\n <option value=\"h4\" data-i18n=\"h4\">Heading 4</option>\n <option value=\"h5\" data-i18n=\"h5\">Heading 5</option>\n <option value=\"h6\" data-i18n=\"h6\">Heading 6</option>\n <option value=\"quote\" data-i18n=\"quote\">Block Quote</option>\n </select>\n <button id=\"hr-btn\" title=\"Horizontal Line\">\u2014</button>\n <button id=\"quote-btn\" title=\"Block Quote\" aria-label=\"Block Quote\">\u201C</button>\n \n <button id=\"bullet-btn\" title=\"Bulleted List\" aria-label=\"Bulleted List\">\u2022 List</button>\n <button id=\"number-btn\" title=\"Numbered List\" aria-label=\"Numbered List\">1. List</button>\n <button id=\"outdent-btn\" title=\"Decrease Indent\" aria-label=\"Decrease Indent\">\u2190 Indent</button>\n <button id=\"indent-btn\" title=\"Increase Indent\" aria-label=\"Increase Indent\">Indent \u2192</button>\n \n <span class=\"divider\"></span>\n\n <button id=\"link-btn\" data-i18n=\"link\" data-i18n-icon=\"\uD83D\uDD17\">\uD83D\uDD17 Link</button>\n <button id=\"image-btn\" data-i18n=\"image\" data-i18n-icon=\"\uD83D\uDDBC\uFE0F\" title=\"Insert Image (Upload, URL, Paste, or Drag & Drop)\">\uD83D\uDDBC\uFE0F Image</button>\n <button id=\"emoji-btn\" data-i18n=\"emoji\" data-i18n-icon=\"\uD83D\uDE00\" title=\"Insert Emoji\">\uD83D\uDE00 Emoji</button>\n <button id=\"table-btn\" data-i18n=\"table\" data-i18n-icon=\"\uD83D\uDCC5\">\uD83D\uDCC5 Table</button>\n \n <button id=\"video-btn\" data-i18n=\"youtube\" data-i18n-icon=\"\uD83D\uDCF9\">\uD83D\uDCF9 Video</button>\n <button id=\"html-snippet-btn\" data-i18n=\"htmlSnippet\" data-i18n-icon=\"</>\"></> Snippet</button>\n <button id=\"code-block-btn\" data-i18n=\"codeBlock\" data-i18n-icon=\"{}\">{} Code Block</button>\n \n <span class=\"divider\"></span>\n<button id=\"insert-placeholder-btn\" title=\"Insert Placeholder\" data-i18n=\"placeholders\">\uD83C\uDFF7\uFE0F Field</button>\n \n <span class=\"divider\"></span>\n \n <button id=\"export-pdf-btn\" data-i18n=\"pdf\" data-i18n-icon=\"\uD83D\uDCC4\">\uD83D\uDCC4 PDF</button>\n <button id=\"export-word-btn\" data-i18n=\"word\" data-i18n-icon=\"\uD83D\uDCDD\">\uD83D\uDCDD Word</button>\n <button id=\"import-word-btn\" data-i18n=\"importWord\" data-i18n-icon=\"\uD83D\uDCE5\">\uD83D\uDCE5 Import Word</button>\n \n <span class=\"divider\"></span>\n <button id=\"page-break-btn\" data-i18n=\"pageBreak\" data-i18n-icon=\"\uD83D\uDCC4\">\uD83D\uDCC4 Break</button>\n <button id=\"footnote-btn\" data-i18n=\"footnote\" data-i18n-icon=\"\u00B9\">\u00B9 Footnote</button>\n <button id=\"toc-btn\" data-i18n=\"toc\" data-i18n-icon=\"\uD83D\uDCD1\">\uD83D\uDCD1 TOC</button>\n <button id=\"outline-toggle-btn\" data-i18n=\"outline\" data-i18n-icon=\"\uD83D\uDCD1\">\uD83D\uDCD1 Outline Sidebar</button>\n <button id=\"minimap-toggle-btn\" title=\"Toggle Minimap\">\uD83D\uDDFA\uFE0F Minimap</button>\n \n <span class=\"divider\"></span>\n <button id=\"uppercase-btn\" title=\"Uppercase\">ABC</button>\n <button id=\"lowercase-btn\" title=\"Lowercase\">abc</button>\n <button id=\"titlecase-btn\" title=\"Title Case\">Abc</button>\n\n <span class=\"divider\"></span>\n <button id=\"source-toggle-btn\">HTML Source</button>\n \n <span class=\"divider\"></span>\n <select id=\"language-select\" class=\"toolbar-select\">\n <option value=\"en\">\uD83C\uDDFA\uD83C\uDDF8 English</option>\n <option value=\"ar\">\uD83C\uDDF8\uD83C\uDDE6 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 (Arabic)</option>\n <option value=\"es\">\uD83C\uDDEA\uD83C\uDDF8 Espa\u00F1ol</option>\n <option value=\"fr\">\uD83C\uDDEB\uD83C\uDDF7 Fran\u00E7ais</option>\n </select>\n\n <button id=\"toolbar-settings-btn\" title=\"Toolbar Settings\">\u2699\uFE0F</button>\n\n <button id=\"track-changes-btn\" class=\"off\" data-i18n=\"trackChanges\" data-i18n-icon=\"\uD83D\uDC41\uFE0F\">\uD83D\uDC41\uFE0F Track Changes: OFF</button>\n <button id=\"zen-mode-btn\" title=\"Zen Mode\" data-i18n=\"zenMode\">\uD83E\uDDD8 Zen</button>\n <div id=\"autosave-status\"></div>\n </div>\n\n \n <div class=\"editor-main-area\">\n <div id=\"editor-canvas\" class=\"editor-container\" role=\"textbox\" aria-multiline=\"true\" aria-label=\"Rich Text Content\"></div>\n </div>\n <textarea id=\"source-editor\" class=\"source-view-area\" style=\"display: none;\"></textarea>\n\n \n <div class=\"editor-status-bar\">\n <div class=\"status-left\">\n <span id=\"word-count\">0 words</span>\n <span class=\"status-sep\">|</span>\n <span id=\"char-count\">0 characters</span>\n </div>\n <div class=\"status-right\">\n <span id=\"autosave-status\" class=\"autosave-status\"></span>\n <span id=\"reading-time\">1 min read</span>\n </div>\n </div>\n\n \n <!-- Find & Replace Dialog -->\n <!-- Find & Replace Dialog -->\n <div id=\"find-replace-dialog\" class=\"find-replace-dialog hidden\">\n <div class=\"fr-header\">\n <span>Find & Replace</span>\n <button id=\"close-find-btn\" class=\"fr-close-btn\">×</button>\n </div>\n <div class=\"fr-body\">\n <div class=\"fr-input-group\">\n <input type=\"text\" id=\"find-input\" placeholder=\"Find...\" />\n <div class=\"fr-nav-buttons\">\n <button id=\"find-prev-btn\" title=\"Previous Match\">\u2191</button>\n <button id=\"find-next-btn\" title=\"Next Match\">\u2193</button>\n </div>\n </div>\n <input type=\"text\" id=\"replace-input\" placeholder=\"Replace with...\" />\n \n <div class=\"fr-options\">\n <label title=\"Case Sensitive\"><input type=\"checkbox\" id=\"fr-opt-case\" /> aA</label>\n <label title=\"Whole Word\"><input type=\"checkbox\" id=\"fr-opt-whole\" /> [ ]</label>\n <label title=\"Regular Expression\"><input type=\"checkbox\" id=\"fr-opt-regex\" /> .*</label>\n </div>\n\n <div class=\"fr-actions\">\n <button id=\"replace-btn\" class=\"btn-secondary-sm\">Replace</button>\n <button id=\"replace-all-btn\" class=\"btn-secondary-sm\">Replace All</button>\n </div>\n <div class=\"fr-info\" id=\"fr-info-text\"></div>\n </div>\n </div>\n \n <!-- Emoji Dialog -->\n <div id=\"emoji-dialog\" class=\"emoji-picker hidden\">\n <div class=\"emoji-header\">\n <span>Pick an Emoji</span>\n <button id=\"close-emoji-btn\">×</button>\n </div>\n <div class=\"emoji-search-area\">\n <input type=\"text\" id=\"emoji-search-input\" placeholder=\"Search emojis...\" />\n </div>\n <div class=\"emoji-tabs\">\n <button class=\"emoji-tab active\" data-category=\"all\">All</button>\n <button class=\"emoji-tab\" data-category=\"smileys\">\uD83D\uDE00</button>\n <button class=\"emoji-tab\" data-category=\"nature\">\uD83C\uDF32</button>\n <button class=\"emoji-tab\" data-category=\"objects\">\uD83D\uDCA1</button>\n <button class=\"emoji-tab\" data-category=\"symbols\">\u2764\uFE0F</button>\n <button class=\"emoji-tab\" data-category=\"math\">Math</button>\n </div>\n <div id=\"emoji-grid\" class=\"emoji-grid\"></div>\n </div>\n \n <!-- New Revision History is handled via sidebar injected into body -->\n\n <!-- Toolbar Settings Modal -->\n <div id=\"toolbar-settings-modal\" class=\"modal hidden\">\n <div class=\"modal-content\">\n <h3>Customize Toolbar</h3>\n <p>Show/Hide toolbar items:</p>\n <div id=\"toolbar-items-list\" class=\"settings-grid\"></div>\n <div class=\"modal-footer\">\n <button id=\"save-toolbar-settings\" class=\"btn-primary\">Save Changes</button>\n <button id=\"reset-toolbar-settings\" class=\"btn-secondary\">Reset to Default</button>\n <button id=\"close-toolbar-settings\" class=\"btn-ghost\" style=\"margin-top: 10px;\">Cancel</button>\n </div>\n </div>\n </div>\n <!-- Link Popover -->\n <div id=\"link-popover\" class=\"link-popover hidden\">\n <div class=\"link-popover-main\">\n <input type=\"text\" id=\"link-url-input\" placeholder=\"Paste or type a link...\" />\n <button id=\"link-apply-btn\" class=\"btn-primary-sm\">Apply</button>\n <span class=\"divider-v\"></span>\n <button id=\"link-open-btn\" class=\"btn-icon-sm\" title=\"Open Link\">\u2197\uFE0F</button>\n <button id=\"link-remove-btn\" class=\"btn-icon-sm\" title=\"Remove Link\">\uD83D\uDDD1\uFE0F</button>\n </div>\n <div class=\"link-popover-footer\">\n <label><input type=\"checkbox\" id=\"link-target-checkbox\" /> Open in new tab</label>\n </div>\n </div>\n \n <!-- Table of Contents Configuration Modal -->\n <div id=\"toc-config-modal\" class=\"modal hidden\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3>\uD83D\uDCD1 Insert Table of Contents</h3>\n <button id=\"close-toc-config-btn\" class=\"modal-close-btn\">×</button>\n </div>\n <div class=\"modal-body\">\n <div class=\"toc-config-group\">\n <label>Heading Levels to Include:</label>\n <div class=\"toc-level-inputs\">\n <label>\n From Level:\n <select id=\"toc-min-level\">\n <option value=\"1\">H1</option>\n <option value=\"2\">H2</option>\n <option value=\"3\">H3</option>\n <option value=\"4\">H4</option>\n <option value=\"5\">H5</option>\n <option value=\"6\">H6</option>\n </select>\n </label>\n <label>\n To Level:\n <select id=\"toc-max-level\">\n <option value=\"1\">H1</option>\n <option value=\"2\">H2</option>\n <option value=\"3\" selected>H3</option>\n <option value=\"4\">H4</option>\n <option value=\"5\">H5</option>\n <option value=\"6\" selected>H6</option>\n </select>\n </label>\n </div>\n </div>\n \n <div class=\"toc-config-group\">\n <label>List Style:</label>\n <select id=\"toc-style\">\n <option value=\"nested\">Nested List (Recommended)</option>\n <option value=\"unordered\">Unordered List</option>\n <option value=\"ordered\">Ordered List</option>\n </select>\n </div>\n \n <div class=\"toc-config-group\">\n <label>\n <input type=\"checkbox\" id=\"toc-numbered\" />\n Numbered Headings (e.g., 1.1, 1.2, 2.1)\n </label>\n </div>\n \n <div class=\"toc-config-group\">\n <label>\n <input type=\"checkbox\" id=\"toc-collapsible\" />\n Collapsible Sections\n </label>\n </div>\n\n <div class=\"toc-config-group\">\n <label>Theme Preference:</label>\n <select id=\"toc-theme\">\n <option value=\"auto\">Auto (System Default)</option>\n <option value=\"light\">Light Mode</option>\n <option value=\"dark\">Dark Mode</option>\n </select>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button id=\"toc-insert-btn\" class=\"btn-primary\">Insert TOC</button>\n <button id=\"toc-cancel-btn\" class=\"btn-secondary\">Cancel</button>\n </div>\n </div>\n </div>\n\n <!-- Generic Alert/Info Modal -->\n <div id=\"universal-alert-modal\" class=\"modal hidden\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 id=\"ua-title\">Notification</h3>\n <button id=\"close-ua-btn\" class=\"modal-close-btn\">×</button>\n </div>\n <div class=\"modal-body\">\n <p id=\"ua-message\"></p>\n </div>\n <div class=\"modal-footer\">\n <button id=\"ua-ok-btn\" class=\"btn-primary\">OK</button>\n </div>\n </div>\n </div>\n\n <!-- Generic Prompt/Input Modal -->\n <div id=\"universal-prompt-modal\" class=\"modal hidden\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 id=\"up-title\">Input Required</h3>\n <button id=\"close-up-btn\" class=\"modal-close-btn\">×</button>\n </div>\n <div class=\"modal-body\">\n <p id=\"up-message\" style=\"margin-bottom: 12px;\"></p>\n <input type=\"text\" id=\"up-input\" style=\"width: 100%;\" />\n </div>\n <div class=\"modal-footer\">\n <button id=\"up-cancel-btn\" class=\"btn-secondary\">Cancel</button>\n <button id=\"up-submit-btn\" class=\"btn-primary\">Submit</button>\n </div>\n </div>\n </div>\n\n <!-- Toast Notification Container -->\n <div id=\"toast-container\" class=\"toast-container\"></div>\n\n <!-- Visually Hidden Announcer -->\n <div id=\"announcer\" class=\"sr-only\" aria-live=\"assertive\"></div>\n </div>\n";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AureliaEditor } from '../core/engine';
|
|
2
|
+
/**
|
|
3
|
+
* centralized delegation for all toolbar actions.
|
|
4
|
+
* This replaces individual event listeners on static IDs.
|
|
5
|
+
*/
|
|
6
|
+
export declare function setupToolbarDelegation(editor: AureliaEditor, internalEditor: any): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function setupToolbarState(internalEditor: any): void;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AureliaEditor } from '../core/engine';
|
|
2
|
+
/**
|
|
3
|
+
* Initializes all toolbar button event listeners and dynamic state updates.
|
|
4
|
+
* Logic is modularized into the ./toolbar-logic/ directory.
|
|
5
|
+
*/
|
|
6
|
+
export declare function setupToolbar(editor: AureliaEditor, internalEditor: any): void;
|
package/dist/vite.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@seyamali/aurelia-editor",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/aurelia-editor.umd.cjs",
|
|
7
|
+
"module": "./dist/aurelia-editor.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/aurelia-editor.js",
|
|
12
|
+
"require": "./dist/aurelia-editor.umd.cjs"
|
|
13
|
+
},
|
|
14
|
+
"./style.css": "./dist/style.css"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"dev": "vite",
|
|
21
|
+
"build": "tsc && vite build",
|
|
22
|
+
"preview": "vite preview",
|
|
23
|
+
"prepublishOnly": "npm run build"
|
|
24
|
+
},
|
|
25
|
+
"author": "Seyam Ali",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"typescript": "~5.9.3",
|
|
29
|
+
"vite": "^7.2.4",
|
|
30
|
+
"vite-plugin-dts": "^4.5.4"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@lexical/clipboard": "^0.39.0",
|
|
34
|
+
"@lexical/code": "^0.39.0",
|
|
35
|
+
"@lexical/history": "^0.39.0",
|
|
36
|
+
"@lexical/html": "^0.39.0",
|
|
37
|
+
"@lexical/list": "^0.39.0",
|
|
38
|
+
"@lexical/markdown": "^0.39.0",
|
|
39
|
+
"@lexical/react": "^0.39.0",
|
|
40
|
+
"@lexical/rich-text": "^0.39.0",
|
|
41
|
+
"@lexical/table": "^0.39.0",
|
|
42
|
+
"@lexical/utils": "^0.39.0",
|
|
43
|
+
"@types/html2pdf.js": "^0.10.0",
|
|
44
|
+
"html2pdf.js": "^0.14.0",
|
|
45
|
+
"lexical": "^0.39.0",
|
|
46
|
+
"mammoth": "^1.11.0"
|
|
47
|
+
}
|
|
48
|
+
}
|