@notectl/core 1.0.6 → 1.0.9
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/README.md +78 -56
- package/custom-elements.json +344 -0
- package/dist/chunks/{AttrRegistry-DTsHyDVA.mjs → AttrRegistry-D-przlzb.mjs} +4 -4
- package/dist/chunks/{AttrRegistry-DTsHyDVA.mjs.map → AttrRegistry-D-przlzb.mjs.map} +1 -1
- package/dist/chunks/ColorNames-iaWsSZx1.mjs +35 -0
- package/dist/chunks/ColorNames-iaWsSZx1.mjs.map +1 -0
- package/dist/chunks/ColorValidation-Dyy4Bye8.mjs +140 -0
- package/dist/chunks/ColorValidation-Dyy4Bye8.mjs.map +1 -0
- package/dist/chunks/{Commands-DLP85Mp5.mjs → Commands-CSpSwGXv.mjs} +13 -13
- package/dist/chunks/{Commands-DLP85Mp5.mjs.map → Commands-CSpSwGXv.mjs.map} +1 -1
- package/dist/chunks/ToolbarKeyboardNav-B32OMv8r.mjs +46 -0
- package/dist/chunks/ToolbarKeyboardNav-B32OMv8r.mjs.map +1 -0
- package/dist/chunks/ToolbarPlugin-DFkl1uYO.mjs +818 -0
- package/dist/chunks/ToolbarPlugin-DFkl1uYO.mjs.map +1 -0
- package/dist/chunks/index-BCvuDpVr.mjs +191 -0
- package/dist/chunks/index-BCvuDpVr.mjs.map +1 -0
- package/dist/chunks/index-BFsYGsBR.mjs +92 -0
- package/dist/chunks/index-BFsYGsBR.mjs.map +1 -0
- package/dist/chunks/index-BIL37LSL.mjs +73 -0
- package/dist/chunks/index-BIL37LSL.mjs.map +1 -0
- package/dist/chunks/index-BL56fbXt.mjs +402 -0
- package/dist/chunks/index-BL56fbXt.mjs.map +1 -0
- package/dist/chunks/index-BQ8iIYLn.mjs +209 -0
- package/dist/chunks/index-BQ8iIYLn.mjs.map +1 -0
- package/dist/chunks/index-BRYzYOYC.mjs +63 -0
- package/dist/chunks/index-BRYzYOYC.mjs.map +1 -0
- package/dist/chunks/index-BSFLNveF.mjs +953 -0
- package/dist/chunks/index-BSFLNveF.mjs.map +1 -0
- package/dist/chunks/index-BTJfyJlJ.mjs +187 -0
- package/dist/chunks/index-BTJfyJlJ.mjs.map +1 -0
- package/dist/chunks/index-Bsp4LC5t.mjs +130 -0
- package/dist/chunks/index-Bsp4LC5t.mjs.map +1 -0
- package/dist/chunks/index-DA8TG2S8.mjs +220 -0
- package/dist/chunks/index-DA8TG2S8.mjs.map +1 -0
- package/dist/chunks/index-DAFCISBN.mjs +100 -0
- package/dist/chunks/index-DAFCISBN.mjs.map +1 -0
- package/dist/chunks/index-DC1EK22F.mjs +41 -0
- package/dist/chunks/index-DC1EK22F.mjs.map +1 -0
- package/dist/chunks/index-DGrRWMlW.mjs +541 -0
- package/dist/chunks/index-DGrRWMlW.mjs.map +1 -0
- package/dist/chunks/index-DfO_fKw6.mjs +39 -0
- package/dist/chunks/index-DfO_fKw6.mjs.map +1 -0
- package/dist/chunks/index-o6hDR07y.mjs +41 -0
- package/dist/chunks/index-o6hDR07y.mjs.map +1 -0
- package/dist/chunks/index-uTnc9y7M.mjs +62 -0
- package/dist/chunks/index-uTnc9y7M.mjs.map +1 -0
- package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs +34 -0
- package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs.map +1 -0
- package/dist/editor/DocumentSerializer.d.ts.map +1 -1
- package/dist/editor/NotectlEditor.d.ts +37 -5
- package/dist/editor/NotectlEditor.d.ts.map +1 -1
- package/dist/editor/PaperLayoutController.d.ts +27 -0
- package/dist/editor/PaperLayoutController.d.ts.map +1 -0
- package/dist/editor/PaperSize.d.ts +35 -0
- package/dist/editor/PaperSize.d.ts.map +1 -0
- package/dist/editor/styles/color-picker.d.ts +1 -1
- package/dist/editor/styles/color-picker.d.ts.map +1 -1
- package/dist/editor/styles/list.d.ts +2 -0
- package/dist/editor/styles/list.d.ts.map +1 -1
- package/dist/editor/styles/paper.d.ts +3 -0
- package/dist/editor/styles/paper.d.ts.map +1 -0
- package/dist/editor/styles/table.d.ts +1 -1
- package/dist/editor/styles/table.d.ts.map +1 -1
- package/dist/editor/styles/toolbar.d.ts +1 -1
- package/dist/editor/styles/toolbar.d.ts.map +1 -1
- package/dist/editor/styles.d.ts.map +1 -1
- package/dist/i18n/Locale.d.ts +17 -0
- package/dist/i18n/Locale.d.ts.map +1 -0
- package/dist/i18n/LocaleService.d.ts +8 -0
- package/dist/i18n/LocaleService.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +4 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/resolvePluginLocale.d.ts +3 -0
- package/dist/i18n/resolvePluginLocale.d.ts.map +1 -0
- package/dist/index.d.ts +48 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/input/ClipboardHandler.d.ts +2 -0
- package/dist/input/ClipboardHandler.d.ts.map +1 -1
- package/dist/input/InputHandler.d.ts +2 -0
- package/dist/input/InputHandler.d.ts.map +1 -1
- package/dist/input/KeyboardHandler.d.ts +2 -0
- package/dist/input/KeyboardHandler.d.ts.map +1 -1
- package/dist/input/LegacyHTMLNormalizer.d.ts +18 -0
- package/dist/input/LegacyHTMLNormalizer.d.ts.map +1 -0
- package/dist/input/PasteHandler.d.ts +4 -0
- package/dist/input/PasteHandler.d.ts.map +1 -1
- package/dist/model/HTMLParser.d.ts +13 -0
- package/dist/model/HTMLParser.d.ts.map +1 -1
- package/dist/model/SchemaRegistry.d.ts +2 -2
- package/dist/model/SchemaRegistry.d.ts.map +1 -1
- package/dist/notectl-core.mjs +2297 -1971
- package/dist/notectl-core.mjs.map +1 -1
- package/dist/notectl-core.umd.js +2894 -1825
- package/dist/notectl-core.umd.js.map +1 -1
- package/dist/plugins/Plugin.d.ts +17 -2
- package/dist/plugins/Plugin.d.ts.map +1 -1
- package/dist/plugins/PluginManager.d.ts +22 -1
- package/dist/plugins/PluginManager.d.ts.map +1 -1
- package/dist/plugins/alignment/AlignmentLocale.d.ts +19 -0
- package/dist/plugins/alignment/AlignmentLocale.d.ts.map +1 -0
- package/dist/plugins/alignment/AlignmentPlugin.d.ts +4 -0
- package/dist/plugins/alignment/AlignmentPlugin.d.ts.map +1 -1
- package/dist/plugins/alignment.mjs +3 -89
- package/dist/plugins/alignment.mjs.map +1 -1
- package/dist/plugins/blockquote/BlockquoteLocale.d.ts +17 -0
- package/dist/plugins/blockquote/BlockquoteLocale.d.ts.map +1 -0
- package/dist/plugins/blockquote/BlockquotePlugin.d.ts +3 -0
- package/dist/plugins/blockquote/BlockquotePlugin.d.ts.map +1 -1
- package/dist/plugins/blockquote.mjs +2 -55
- package/dist/plugins/blockquote.mjs.map +1 -1
- package/dist/plugins/code-block/CodeBlockLocale.d.ts +17 -0
- package/dist/plugins/code-block/CodeBlockLocale.d.ts.map +1 -0
- package/dist/plugins/code-block/CodeBlockPlugin.d.ts +1 -0
- package/dist/plugins/code-block/CodeBlockPlugin.d.ts.map +1 -1
- package/dist/plugins/code-block/CodeBlockTypes.d.ts +2 -0
- package/dist/plugins/code-block/CodeBlockTypes.d.ts.map +1 -1
- package/dist/plugins/code-block.mjs +3 -3
- package/dist/plugins/font/FontLocale.d.ts +15 -0
- package/dist/plugins/font/FontLocale.d.ts.map +1 -0
- package/dist/plugins/font/FontPlugin.d.ts +3 -0
- package/dist/plugins/font/FontPlugin.d.ts.map +1 -1
- package/dist/plugins/font-size/FontSizeLocale.d.ts +17 -0
- package/dist/plugins/font-size/FontSizeLocale.d.ts.map +1 -0
- package/dist/plugins/font-size/FontSizePlugin.d.ts +3 -0
- package/dist/plugins/font-size/FontSizePlugin.d.ts.map +1 -1
- package/dist/plugins/font-size/FontSizePopup.d.ts +2 -0
- package/dist/plugins/font-size/FontSizePopup.d.ts.map +1 -1
- package/dist/plugins/font-size.mjs +2 -201
- package/dist/plugins/font-size.mjs.map +1 -1
- package/dist/plugins/font.mjs +2 -183
- package/dist/plugins/font.mjs.map +1 -1
- package/dist/plugins/hard-break.mjs +1 -1
- package/dist/plugins/heading/HeadingBlockTypePicker.d.ts +14 -0
- package/dist/plugins/heading/HeadingBlockTypePicker.d.ts.map +1 -0
- package/dist/plugins/heading/HeadingCommands.d.ts +5 -0
- package/dist/plugins/heading/HeadingCommands.d.ts.map +1 -0
- package/dist/plugins/heading/HeadingInputRules.d.ts +5 -0
- package/dist/plugins/heading/HeadingInputRules.d.ts.map +1 -0
- package/dist/plugins/heading/HeadingKeyboardHandlers.d.ts +5 -0
- package/dist/plugins/heading/HeadingKeyboardHandlers.d.ts.map +1 -0
- package/dist/plugins/heading/HeadingLocale.d.ts +26 -0
- package/dist/plugins/heading/HeadingLocale.d.ts.map +1 -0
- package/dist/plugins/heading/HeadingPlugin.d.ts +4 -40
- package/dist/plugins/heading/HeadingPlugin.d.ts.map +1 -1
- package/dist/plugins/heading.mjs +1 -184
- package/dist/plugins/heading.mjs.map +1 -1
- package/dist/plugins/highlight/HighlightLocale.d.ts +17 -0
- package/dist/plugins/highlight/HighlightLocale.d.ts.map +1 -0
- package/dist/plugins/highlight/HighlightPlugin.d.ts +3 -5
- package/dist/plugins/highlight/HighlightPlugin.d.ts.map +1 -1
- package/dist/plugins/highlight.mjs +2 -123
- package/dist/plugins/highlight.mjs.map +1 -1
- package/dist/plugins/horizontal-rule/HorizontalRuleLocale.d.ts +15 -0
- package/dist/plugins/horizontal-rule/HorizontalRuleLocale.d.ts.map +1 -0
- package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts +4 -0
- package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts.map +1 -1
- package/dist/plugins/horizontal-rule.mjs +2 -56
- package/dist/plugins/horizontal-rule.mjs.map +1 -1
- package/dist/plugins/image/ImageLocale.d.ts +25 -0
- package/dist/plugins/image/ImageLocale.d.ts.map +1 -0
- package/dist/plugins/image/ImagePlugin.d.ts +1 -0
- package/dist/plugins/image/ImagePlugin.d.ts.map +1 -1
- package/dist/plugins/image/ImageUpload.d.ts +3 -0
- package/dist/plugins/image/ImageUpload.d.ts.map +1 -1
- package/dist/plugins/image.mjs +4 -378
- package/dist/plugins/image.mjs.map +1 -1
- package/dist/plugins/link/LinkLocale.d.ts +23 -0
- package/dist/plugins/link/LinkLocale.d.ts.map +1 -0
- package/dist/plugins/link/LinkPlugin.d.ts +3 -0
- package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
- package/dist/plugins/link.mjs +2 -124
- package/dist/plugins/link.mjs.map +1 -1
- package/dist/plugins/list/ListLocale.d.ts +18 -0
- package/dist/plugins/list/ListLocale.d.ts.map +1 -0
- package/dist/plugins/list/ListPlugin.d.ts +13 -0
- package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
- package/dist/plugins/list.mjs +2 -190
- package/dist/plugins/list.mjs.map +1 -1
- package/dist/plugins/print/PrintLocale.d.ts +16 -0
- package/dist/plugins/print/PrintLocale.d.ts.map +1 -0
- package/dist/plugins/print/PrintPlugin.d.ts +1 -0
- package/dist/plugins/print/PrintPlugin.d.ts.map +1 -1
- package/dist/plugins/print/PrintStyleCollector.d.ts +7 -0
- package/dist/plugins/print/PrintStyleCollector.d.ts.map +1 -1
- package/dist/plugins/print/PrintTypes.d.ts +5 -0
- package/dist/plugins/print/PrintTypes.d.ts.map +1 -1
- package/dist/plugins/shared/ColorMarkOperations.d.ts +28 -0
- package/dist/plugins/shared/ColorMarkOperations.d.ts.map +1 -0
- package/dist/plugins/shared/ColorNames.d.ts +22 -0
- package/dist/plugins/shared/ColorNames.d.ts.map +1 -0
- package/dist/plugins/shared/ColorPickerPopup.d.ts +31 -0
- package/dist/plugins/shared/ColorPickerPopup.d.ts.map +1 -0
- package/dist/plugins/shared/ColorValidation.d.ts +14 -0
- package/dist/plugins/shared/ColorValidation.d.ts.map +1 -0
- package/dist/plugins/strikethrough/StrikethroughLocale.d.ts +17 -0
- package/dist/plugins/strikethrough/StrikethroughLocale.d.ts.map +1 -0
- package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts +3 -0
- package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts.map +1 -1
- package/dist/plugins/strikethrough.mjs +2 -32
- package/dist/plugins/strikethrough.mjs.map +1 -1
- package/dist/plugins/super-sub/SuperSubLocale.d.ts +19 -0
- package/dist/plugins/super-sub/SuperSubLocale.d.ts.map +1 -0
- package/dist/plugins/super-sub/SuperSubPlugin.d.ts +3 -0
- package/dist/plugins/super-sub/SuperSubPlugin.d.ts.map +1 -1
- package/dist/plugins/super-sub.mjs +2 -78
- package/dist/plugins/super-sub.mjs.map +1 -1
- package/dist/plugins/table/TableBorderColor.d.ts +24 -0
- package/dist/plugins/table/TableBorderColor.d.ts.map +1 -0
- package/dist/plugins/table/TableCommands.d.ts +9 -8
- package/dist/plugins/table/TableCommands.d.ts.map +1 -1
- package/dist/plugins/table/TableContextMenu.d.ts +14 -0
- package/dist/plugins/table/TableContextMenu.d.ts.map +1 -0
- package/dist/plugins/table/TableControls.d.ts +3 -1
- package/dist/plugins/table/TableControls.d.ts.map +1 -1
- package/dist/plugins/table/TableControlsDOM.d.ts +13 -1
- package/dist/plugins/table/TableControlsDOM.d.ts.map +1 -1
- package/dist/plugins/table/TableLocale.d.ts +48 -0
- package/dist/plugins/table/TableLocale.d.ts.map +1 -0
- package/dist/plugins/table/TableNavigation.d.ts +2 -1
- package/dist/plugins/table/TableNavigation.d.ts.map +1 -1
- package/dist/plugins/table/TableNodeViews.d.ts +3 -1
- package/dist/plugins/table/TableNodeViews.d.ts.map +1 -1
- package/dist/plugins/table/TablePlugin.d.ts +7 -1
- package/dist/plugins/table/TablePlugin.d.ts.map +1 -1
- package/dist/plugins/table/index.d.ts +3 -0
- package/dist/plugins/table/index.d.ts.map +1 -1
- package/dist/plugins/table.mjs +18 -660
- package/dist/plugins/table.mjs.map +1 -1
- package/dist/plugins/text-color/TextColorLocale.d.ts +17 -0
- package/dist/plugins/text-color/TextColorLocale.d.ts.map +1 -0
- package/dist/plugins/text-color/TextColorPlugin.d.ts +3 -5
- package/dist/plugins/text-color/TextColorPlugin.d.ts.map +1 -1
- package/dist/plugins/text-color.mjs +2 -123
- package/dist/plugins/text-color.mjs.map +1 -1
- package/dist/plugins/text-formatting/TextFormattingLocale.d.ts +18 -0
- package/dist/plugins/text-formatting/TextFormattingLocale.d.ts.map +1 -0
- package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts +4 -0
- package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts.map +1 -1
- package/dist/plugins/text-formatting.mjs +2 -49
- package/dist/plugins/text-formatting.mjs.map +1 -1
- package/dist/plugins/toolbar/ToolbarLocale.d.ts +15 -0
- package/dist/plugins/toolbar/ToolbarLocale.d.ts.map +1 -0
- package/dist/plugins/toolbar/ToolbarOverflowBehavior.d.ts +23 -0
- package/dist/plugins/toolbar/ToolbarOverflowBehavior.d.ts.map +1 -0
- package/dist/plugins/toolbar/ToolbarOverflowController.d.ts +56 -0
- package/dist/plugins/toolbar/ToolbarOverflowController.d.ts.map +1 -0
- package/dist/plugins/toolbar/ToolbarPlugin.d.ts +18 -0
- package/dist/plugins/toolbar/ToolbarPlugin.d.ts.map +1 -1
- package/dist/plugins/toolbar.mjs +1 -1
- package/dist/state/EditorState.d.ts +4 -1
- package/dist/state/EditorState.d.ts.map +1 -1
- package/dist/state/ReadonlyGuard.d.ts +6 -0
- package/dist/state/ReadonlyGuard.d.ts.map +1 -0
- package/dist/state/Transaction.d.ts +4 -0
- package/dist/state/Transaction.d.ts.map +1 -1
- package/dist/view/EditorView.d.ts +2 -0
- package/dist/view/EditorView.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/chunks/Plugin-B9OZ6Y4c.mjs +0 -15
- package/dist/chunks/Plugin-B9OZ6Y4c.mjs.map +0 -1
- package/dist/chunks/ToolbarPlugin-sJTiZr-S.mjs +0 -398
- package/dist/chunks/ToolbarPlugin-sJTiZr-S.mjs.map +0 -1
- package/dist/chunks/color-picker-Csf0wx5a.mjs +0 -5
- package/dist/chunks/color-picker-Csf0wx5a.mjs.map +0 -1
- package/dist/chunks/index-QvKiO9_4.mjs +0 -538
- package/dist/chunks/index-QvKiO9_4.mjs.map +0 -1
- package/dist/input/SourceNormalizer.d.ts +0 -7
- package/dist/input/SourceNormalizer.d.ts.map +0 -1
|
@@ -1,25 +1,50 @@
|
|
|
1
|
+
import { Locale } from '../i18n/Locale.js';
|
|
1
2
|
import { Document } from '../model/Document.js';
|
|
2
3
|
import { EventKey, Plugin, PluginConfig, PluginEventCallback, ServiceKey } from '../plugins/Plugin.js';
|
|
3
4
|
import { TextFormattingConfig } from '../plugins/text-formatting/TextFormattingPlugin.js';
|
|
5
|
+
import { ToolbarOverflowBehavior } from '../plugins/toolbar/ToolbarOverflowBehavior.js';
|
|
4
6
|
import { EditorState } from '../state/EditorState.js';
|
|
5
7
|
import { Transaction } from '../state/Transaction.js';
|
|
8
|
+
import { PaperSize } from './PaperSize.js';
|
|
6
9
|
import { Theme, ThemePreset } from './theme/ThemeTokens.js';
|
|
10
|
+
/**
|
|
11
|
+
* Expanded toolbar configuration for `createEditor`.
|
|
12
|
+
* Allows specifying both the plugin layout and overflow behavior.
|
|
13
|
+
*/
|
|
14
|
+
export interface ToolbarConfig {
|
|
15
|
+
/**
|
|
16
|
+
* Plugin groups defining toolbar layout. Each inner array is a visual group;
|
|
17
|
+
* separators are rendered between groups. Order = array order.
|
|
18
|
+
*/
|
|
19
|
+
readonly groups: ReadonlyArray<ReadonlyArray<Plugin>>;
|
|
20
|
+
/**
|
|
21
|
+
* Controls responsive overflow behavior when items exceed available width.
|
|
22
|
+
* Defaults to `ToolbarOverflowBehavior.BurgerMenu`.
|
|
23
|
+
*/
|
|
24
|
+
readonly overflow?: ToolbarOverflowBehavior;
|
|
25
|
+
}
|
|
7
26
|
export interface NotectlEditorConfig {
|
|
8
27
|
/** Controls which inline marks are enabled. Used to auto-configure TextFormattingPlugin. */
|
|
9
28
|
features?: Partial<TextFormattingConfig>;
|
|
10
29
|
plugins?: Plugin[];
|
|
11
30
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
31
|
+
* Toolbar configuration. Accepts either:
|
|
32
|
+
* - A shorthand array of plugin groups: `[[BoldPlugin, ItalicPlugin], [HeadingPlugin]]`
|
|
33
|
+
* - A full config object: `{ groups: [...], overflow: ToolbarOverflowBehavior.Flow }`
|
|
34
|
+
*
|
|
14
35
|
* When set, a ToolbarPlugin is created internally — do not add one to `plugins`.
|
|
15
36
|
*/
|
|
16
|
-
toolbar?: ReadonlyArray<ReadonlyArray<Plugin
|
|
37
|
+
toolbar?: ReadonlyArray<ReadonlyArray<Plugin>> | ToolbarConfig;
|
|
17
38
|
placeholder?: string;
|
|
18
39
|
readonly?: boolean;
|
|
19
40
|
autofocus?: boolean;
|
|
20
41
|
maxHistoryDepth?: number;
|
|
21
42
|
/** Theme preset or custom Theme object. Defaults to ThemePreset.Light. */
|
|
22
43
|
theme?: ThemePreset | Theme;
|
|
44
|
+
/** Paper size for WYSIWYG page layout. When set, content renders at exact paper width. */
|
|
45
|
+
paperSize?: PaperSize;
|
|
46
|
+
/** Editor locale. Defaults to Locale.BROWSER (auto-detect from navigator.language). */
|
|
47
|
+
locale?: Locale;
|
|
23
48
|
}
|
|
24
49
|
export interface StateChangeEvent {
|
|
25
50
|
oldState: EditorState;
|
|
@@ -51,6 +76,7 @@ export declare class NotectlEditor extends HTMLElement {
|
|
|
51
76
|
private initialized;
|
|
52
77
|
private preInitPlugins;
|
|
53
78
|
private themeController;
|
|
79
|
+
private paperLayout;
|
|
54
80
|
constructor();
|
|
55
81
|
static get observedAttributes(): string[];
|
|
56
82
|
connectedCallback(): void;
|
|
@@ -60,6 +86,8 @@ export declare class NotectlEditor extends HTMLElement {
|
|
|
60
86
|
registerPlugin(plugin: Plugin): void;
|
|
61
87
|
/** Initializes the editor with the given config. */
|
|
62
88
|
init(config?: NotectlEditorConfig): Promise<void>;
|
|
89
|
+
/** Returns whether the editor is in read-only mode. */
|
|
90
|
+
get isReadOnly(): boolean;
|
|
63
91
|
/** Returns the document as JSON. */
|
|
64
92
|
getJSON(): Document;
|
|
65
93
|
/** Sets the document from JSON. */
|
|
@@ -76,8 +104,8 @@ export declare class NotectlEditor extends HTMLElement {
|
|
|
76
104
|
toggleBold: () => boolean;
|
|
77
105
|
toggleItalic: () => boolean;
|
|
78
106
|
toggleUnderline: () => boolean;
|
|
79
|
-
undo: () => void
|
|
80
|
-
redo: () => void
|
|
107
|
+
undo: () => void;
|
|
108
|
+
redo: () => void;
|
|
81
109
|
selectAll: () => void;
|
|
82
110
|
};
|
|
83
111
|
/** Checks whether a command can be executed. */
|
|
@@ -112,11 +140,14 @@ export declare class NotectlEditor extends HTMLElement {
|
|
|
112
140
|
setTheme(theme: ThemePreset | Theme): void;
|
|
113
141
|
/** Returns the current theme setting. */
|
|
114
142
|
getTheme(): ThemePreset | Theme;
|
|
143
|
+
/** Returns the currently configured paper size, or undefined if fluid layout. */
|
|
144
|
+
getPaperSize(): PaperSize | undefined;
|
|
115
145
|
/** Cleans up the editor. Awaiting ensures async plugin teardown completes. */
|
|
116
146
|
destroy(): Promise<void>;
|
|
117
147
|
/**
|
|
118
148
|
* Processes the declarative `toolbar` config: registers a ToolbarPlugin
|
|
119
149
|
* with layout groups, then registers all plugins from the toolbar groups.
|
|
150
|
+
* Accepts both the shorthand array and the full ToolbarConfig object.
|
|
120
151
|
*/
|
|
121
152
|
private processToolbarConfig;
|
|
122
153
|
/**
|
|
@@ -124,6 +155,7 @@ export declare class NotectlEditor extends HTMLElement {
|
|
|
124
155
|
* was explicitly registered. Uses the `features` config to determine which marks to enable.
|
|
125
156
|
*/
|
|
126
157
|
private ensureTextFormattingPlugin;
|
|
158
|
+
private applyPaperSize;
|
|
127
159
|
private emit;
|
|
128
160
|
private onStateChange;
|
|
129
161
|
private updateEmptyState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotectlEditor.d.ts","sourceRoot":"","sources":["../../src/editor/NotectlEditor.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"NotectlEditor.d.ts","sourceRoot":"","sources":["../../src/editor/NotectlEditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { PaperSize } from './PaperSize.js';
|
|
2
|
+
export declare class PaperLayoutController {
|
|
3
|
+
private readonly wrapper;
|
|
4
|
+
private readonly content;
|
|
5
|
+
private viewport;
|
|
6
|
+
private surface;
|
|
7
|
+
private viewportObserver;
|
|
8
|
+
private surfaceObserver;
|
|
9
|
+
private currentSize;
|
|
10
|
+
private currentPaperWidthPx;
|
|
11
|
+
private currentPaperHeightPx;
|
|
12
|
+
private currentScale;
|
|
13
|
+
constructor(wrapper: HTMLElement, content: HTMLElement);
|
|
14
|
+
/** Enables, changes, or disables paper mode. Pass `null` to disable. */
|
|
15
|
+
apply(paperSize: PaperSize | null): void;
|
|
16
|
+
/** Cleans up observers and restores original DOM. */
|
|
17
|
+
destroy(): void;
|
|
18
|
+
/** Returns the currently applied paper size, or null if disabled. */
|
|
19
|
+
getPaperSize(): PaperSize | null;
|
|
20
|
+
private enable;
|
|
21
|
+
private disable;
|
|
22
|
+
private updateSurfaceDimensions;
|
|
23
|
+
private onViewportResize;
|
|
24
|
+
private onSurfaceResize;
|
|
25
|
+
private updateHeightCompensation;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=PaperLayoutController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaperLayoutController.d.ts","sourceRoot":"","sources":["../../src/editor/PaperLayoutController.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA6B,KAAK,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAE/F,qBAAa,qBAAqB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IAEtC,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAA4B;IAE3C,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,eAAe,CAA+B;IAEtD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,YAAY,CAAK;gBAEb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW;IAKtD,wEAAwE;IACxE,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAmBxC,qDAAqD;IACrD,OAAO,IAAI,IAAI;IAIf,qEAAqE;IACrE,YAAY,IAAI,SAAS,GAAG,IAAI;IAMhC,OAAO,CAAC,MAAM;IAyCd,OAAO,CAAC,OAAO;IAgCf,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,wBAAwB;CAehC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Paper size definitions and dimension helpers.
|
|
3
|
+
* Used by PaperLayoutController for WYSIWYG page layout
|
|
4
|
+
* and by PrintStyleCollector for @page CSS rules.
|
|
5
|
+
*/
|
|
6
|
+
/** Physical dimensions of a paper size. */
|
|
7
|
+
export interface PaperDimensions {
|
|
8
|
+
readonly widthMm: number;
|
|
9
|
+
readonly heightMm: number;
|
|
10
|
+
readonly widthPx: number;
|
|
11
|
+
readonly heightPx: number;
|
|
12
|
+
}
|
|
13
|
+
/** Available paper size presets. */
|
|
14
|
+
export declare const PaperSize: {
|
|
15
|
+
readonly DINA4: "din-a4";
|
|
16
|
+
readonly DINA5: "din-a5";
|
|
17
|
+
readonly USLetter: "us-letter";
|
|
18
|
+
readonly USLegal: "us-legal";
|
|
19
|
+
};
|
|
20
|
+
export type PaperSize = (typeof PaperSize)[keyof typeof PaperSize];
|
|
21
|
+
/** Returns the physical and pixel dimensions for a paper size. */
|
|
22
|
+
export declare function getPaperDimensions(size: PaperSize): PaperDimensions;
|
|
23
|
+
/**
|
|
24
|
+
* Document margin constants for paper mode (in px).
|
|
25
|
+
* These define the content padding inside the paper surface in the editor,
|
|
26
|
+
* and become @page margins in print output to ensure WYSIWYG fidelity.
|
|
27
|
+
*/
|
|
28
|
+
export declare const PAPER_MARGIN_TOP_PX: number;
|
|
29
|
+
export declare const PAPER_MARGIN_HORIZONTAL_PX: number;
|
|
30
|
+
export declare const PAPER_VIEWPORT_PADDING_PX: number;
|
|
31
|
+
/** Type guard: returns true if the value is a valid PaperSize string. */
|
|
32
|
+
export declare function isValidPaperSize(value: string): value is PaperSize;
|
|
33
|
+
/** Returns the CSS @page size keyword (e.g. 'A4', 'letter') for a paper size. */
|
|
34
|
+
export declare function getPaperCSSSize(size: PaperSize): string;
|
|
35
|
+
//# sourceMappingURL=PaperSize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaperSize.d.ts","sourceRoot":"","sources":["../../src/editor/PaperSize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B;AAED,oCAAoC;AACpC,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAgCnE,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,CAMnE;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAW,CAAC;AAC9C,eAAO,MAAM,0BAA0B,EAAE,MAAW,CAAC;AACrD,eAAO,MAAM,yBAAyB,EAAE,MAAW,CAAC;AAEpD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAElE;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAMvD"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** Color picker popup styles (text-color + highlight plugins). */
|
|
2
|
-
export declare const COLOR_PICKER_CSS = "\n/* Color Picker Popup */\n.notectl-color-picker {\n\tpadding: 8px;\n\tmin-width: 240px;\n}\n\n.notectl-color-picker__default {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: 6px 12px;\n\tmargin-bottom: 8px;\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-bg);\n\tcursor: pointer;\n\tfont-size: 13px;\n\tcolor: var(--notectl-fg);\n\ttext-align: center;\n}\n\n.notectl-color-picker__default:hover {\n\tbackground: var(--notectl-hover-bg);\n}\n\n.notectl-color-picker__grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(10, 1fr);\n\tgap: 3px;\n}\n\n.notectl-color-picker__swatch {\n\twidth: 22px;\n\theight: 22px;\n\tborder: 1px solid transparent;\n\tborder-radius: 3px;\n\tpadding: 0;\n\tcursor: pointer;\n\ttransition: transform 0.1s;\n}\n\n.notectl-color-picker__swatch:hover,\n.notectl-color-picker__swatch:focus-visible {\n\ttransform: scale(1.25);\n\tz-index: 1;\n}\n\n.notectl-color-picker__swatch:focus-visible {\n\toutline: 2px solid var(--notectl-focus-ring);\n\toutline-offset: 1px;\n}\n\n.notectl-color-picker__swatch--active {\n\tborder: 2px solid var(--notectl-primary-fg);\n\tborder-radius: 3px;\n}\n\n.notectl-toolbar-btn--textColor .notectl-toolbar-btn__color-indicator {\n\tdisplay: block;\n\twidth: 16px;\n\theight: 3px;\n\tmargin-top: 1px;\n\tborder-radius: 1px;\n}\n";
|
|
2
|
+
export declare const COLOR_PICKER_CSS = "\n/* Color Picker Popup */\n.notectl-color-picker {\n\tpadding: 8px;\n\tmin-width: 240px;\n}\n\n.notectl-color-picker__default {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: 6px 12px;\n\tmargin-bottom: 8px;\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-bg);\n\tcursor: pointer;\n\tfont-size: 13px;\n\tcolor: var(--notectl-fg);\n\ttext-align: center;\n}\n\n.notectl-color-picker__default:hover {\n\tbackground: var(--notectl-hover-bg);\n}\n\n.notectl-color-picker__grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(10, 1fr);\n\tgap: 3px;\n}\n\n.notectl-color-picker__grid [role=\"row\"] {\n\tdisplay: contents;\n}\n\n.notectl-color-picker__swatch {\n\twidth: 22px;\n\theight: 22px;\n\tborder: 1px solid transparent;\n\tborder-radius: 3px;\n\tpadding: 0;\n\tcursor: pointer;\n\ttransition: transform 0.1s;\n}\n\n.notectl-color-picker__swatch:hover,\n.notectl-color-picker__swatch:focus-visible {\n\ttransform: scale(1.25);\n\tz-index: 1;\n}\n\n.notectl-color-picker__swatch:focus-visible {\n\toutline: 2px solid var(--notectl-focus-ring);\n\toutline-offset: 1px;\n}\n\n.notectl-color-picker__swatch--active {\n\tborder: 2px solid var(--notectl-primary-fg);\n\tborder-radius: 3px;\n}\n\n.notectl-toolbar-btn--textColor .notectl-toolbar-btn__color-indicator {\n\tdisplay: block;\n\twidth: 16px;\n\theight: 3px;\n\tmargin-top: 1px;\n\tborder-radius: 1px;\n}\n";
|
|
3
3
|
//# sourceMappingURL=color-picker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-picker.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/color-picker.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"color-picker.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/color-picker.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,24CAoE5B,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** Width of the list marker / checkbox area in pixels. */
|
|
2
|
+
export declare const LIST_MARKER_WIDTH = 24;
|
|
1
3
|
/** List styles — bullet, ordered, checklist items. */
|
|
2
4
|
export declare const LIST_CSS = "\n/* List Wrappers \u2014 suppress native markers, we use ::before pseudo-elements */\n.notectl-list {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n/* Ordered List \u2014 each <ol> wrapper resets the counter */\n.notectl-list--ordered {\n\tcounter-reset: notectl-ordered;\n}\n\n/* List Items */\n.notectl-list-item {\n\tmargin: 0;\n\tpadding: 2px 0 2px 24px;\n\tmin-height: 1.6em;\n\tposition: relative;\n}\n\n.notectl-list-item::before {\n\tposition: absolute;\n\tleft: 0;\n\tdisplay: inline-block;\n\twidth: 24px;\n\ttext-align: center;\n}\n\n/* Bullet List */\n.notectl-list-item--bullet::before {\n\tcontent: '\\2022';\n\tcolor: var(--notectl-fg);\n}\n\n/* Ordered List \u2014 counter increment per item */\n.notectl-list-item--ordered {\n\tcounter-increment: notectl-ordered;\n}\n\n.notectl-list-item--ordered::before {\n\tcontent: counter(notectl-ordered) '.';\n\tcolor: var(--notectl-fg);\n\tfont-size: 14px;\n}\n\n/* Checklist */\n.notectl-list-item--checklist::before {\n\tcontent: '\\2610';\n\tfont-size: 16px;\n\tcolor: var(--notectl-fg-muted);\n\tcursor: pointer;\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"]::before {\n\tcontent: '\\2611';\n\tcolor: var(--notectl-success);\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"] {\n\tcolor: var(--notectl-fg-muted);\n\ttext-decoration: line-through;\n}\n";
|
|
3
5
|
//# sourceMappingURL=list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/list.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,eAAO,MAAM,QAAQ,u0CA+DpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/list.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,sDAAsD;AACtD,eAAO,MAAM,QAAQ,u0CA+DpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paper.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/paper.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAYvF,eAAO,MAAM,SAAS,EAAE,MA2CvB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** Table styles — table layout, selection, context menu, controls, insert lines. */
|
|
2
|
-
export declare const TABLE_CSS = "\n/* Table */\n.notectl-table-wrapper {\n\tmargin: 8px 0;\n\toverflow-x: auto;\n\tposition: relative;\n}\n\n.notectl-table {\n\twidth: 100%;\n\tborder-collapse: collapse;\n\ttable-layout: fixed;\n}\n\n.notectl-table td {\n\tborder: 1px solid var(--notectl-border);\n\tpadding: 8px 12px;\n\tmin-width: 60px;\n\tvertical-align: top;\n\tmin-height: 1.6em;\n}\n\n.notectl-table td:focus-within {\n\toutline: 2px solid var(--notectl-primary);\n\toutline-offset: -2px;\n}\n\n.notectl-table-cell--selected {\n\tbackground: var(--notectl-primary-muted);\n}\n\n/* Table Context Menu */\n.notectl-table-context-menu {\n\tposition: fixed;\n\tbackground: var(--notectl-surface-overlay);\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 6px;\n\tbox-shadow: 0 4px 12px var(--notectl-shadow);\n\tpadding: 4px 0;\n\tmin-width: 180px;\n\tz-index: 10000;\n}\n\n.notectl-table-context-menu button {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: 8px 12px;\n\ttext-align: left;\n\tborder: none;\n\tbackground: none;\n\tcursor: pointer;\n\tfont-size: 14px;\n\tcolor: var(--notectl-fg);\n\tfont-family: inherit;\n}\n\n.notectl-table-context-menu button:hover {\n\tbackground: var(--notectl-hover-bg);\n}\n\n.notectl-table-context-menu hr {\n\tborder: none;\n\tborder-top: 1px solid var(--notectl-border);\n\tmargin: 4px 0;\n}\n\n/* === Table Controls === */\n\n/* Outer container for table + controls */\n.ntbl-container {\n\tposition: relative;\n\tmargin: 8px 0;\n\tpadding: 24px 0 0 24px;\n}\n\n.ntbl-container .notectl-table-wrapper {\n\tmargin: 0;\n}\n\n.ntbl-container.notectl-table--selected .notectl-table-wrapper {\n\toutline: 2px solid var(--notectl-primary-fg);\n\toutline-offset: 2px;\n\tborder-radius: 6px;\n}\n\n/* --- Column Handle Bar --- */\n.ntbl-col-bar {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 24px;\n\theight: 20px;\n\tdisplay: flex;\n\topacity: 0;\n\ttransition: opacity 0.2s ease;\n\tz-index: 3;\n\tpointer-events: none;\n}\n\n.ntbl-container:hover .ntbl-col-bar,\n.ntbl-container:focus-within .ntbl-col-bar {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-col-bar {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n/* --- Row Handle Bar --- */\n.ntbl-row-bar {\n\tposition: absolute;\n\ttop: 24px;\n\tleft: 0;\n\twidth: 20px;\n\tdisplay: flex;\n\tflex-direction: column;\n\topacity: 0;\n\ttransition: opacity 0.2s ease;\n\tz-index: 3;\n\tpointer-events: none;\n}\n\n.ntbl-container:hover .ntbl-row-bar,\n.ntbl-container:focus-within .ntbl-row-bar {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-row-bar {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n/* --- Handle (shared base) --- */\n.ntbl-handle {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\ttransition: background 0.15s ease;\n\tborder-radius: 3px;\n}\n\n.ntbl-col-handle {\n\theight: 100%;\n\tbackground: var(--notectl-hover-bg);\n\tborder-radius: 4px 4px 0 0;\n}\n\n.ntbl-col-handle:hover {\n\tbackground: var(--notectl-border);\n}\n\n.ntbl-row-handle {\n\twidth: 100%;\n\tbackground: var(--notectl-hover-bg);\n\tborder-radius: 4px 0 0 4px;\n}\n\n.ntbl-row-handle:hover {\n\tbackground: var(--notectl-border);\n}\n\n/* --- Handle Delete Button --- */\n.ntbl-handle-delete {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 16px;\n\theight: 16px;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: var(--notectl-fg-muted);\n\tcursor: pointer;\n\tborder-radius: 3px;\n\tpadding: 0;\n\topacity: 0;\n\ttransform: scale(0.7);\n\ttransition: opacity 0.15s, transform 0.15s,\n\t\tbackground 0.15s, color 0.15s;\n}\n\n.ntbl-handle:hover .ntbl-handle-delete,\n.ntbl-handle:focus-within .ntbl-handle-delete {\n\topacity: 1;\n\ttransform: scale(1);\n}\n\n.ntbl-handle-delete:hover,\n.ntbl-handle-delete:focus-visible {\n\tbackground: var(--notectl-danger-muted);\n\tcolor: var(--notectl-danger);\n}\n\n.ntbl-handle-delete:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Insert Lines --- */\n.ntbl-insert-line {\n\tposition: absolute;\n\tpointer-events: none;\n\topacity: 0;\n\ttransition: opacity 0.15s ease;\n\tz-index: 6;\n}\n\n.ntbl-insert-line--visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n.ntbl-insert-line--horizontal {\n\theight: 2px;\n\tbackground: linear-gradient(\n\t\t90deg,\n\t\ttransparent,\n\t\tvar(--notectl-primary) 8%,\n\t\tvar(--notectl-primary) 92%,\n\t\ttransparent\n\t);\n\tbox-shadow: 0 0 6px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-line--vertical {\n\twidth: 2px;\n\tbackground: linear-gradient(\n\t\t180deg,\n\t\ttransparent,\n\t\tvar(--notectl-primary) 8%,\n\t\tvar(--notectl-primary) 92%,\n\t\ttransparent\n\t);\n\tbox-shadow: 0 0 6px var(--notectl-focus-ring);\n}\n\n/* --- Insert Button on Line --- */\n.ntbl-insert-btn {\n\tposition: absolute;\n\twidth: 20px;\n\theight: 20px;\n\tborder-radius: 50%;\n\tbackground: var(--notectl-bg);\n\tborder: 2px solid var(--notectl-primary);\n\tcolor: var(--notectl-primary);\n\tcursor: pointer;\n\tpointer-events: all;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0;\n\tbox-shadow: 0 2px 8px var(--notectl-focus-ring);\n\ttransition: background 0.15s, color 0.15s,\n\t\ttransform 0.15s, box-shadow 0.15s;\n}\n\n.ntbl-insert-line--horizontal .ntbl-insert-btn {\n\tleft: 50%;\n\ttop: -9px;\n\ttransform: translateX(-50%);\n}\n\n.ntbl-insert-line--vertical .ntbl-insert-btn {\n\ttop: 50%;\n\tleft: -9px;\n\ttransform: translateY(-50%);\n}\n\n.ntbl-insert-btn:hover,\n.ntbl-insert-btn:focus-visible {\n\tbackground: var(--notectl-primary);\n\tcolor: var(--notectl-bg);\n\tbox-shadow: 0 2px 12px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-btn:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-line--horizontal .ntbl-insert-btn:hover {\n\ttransform: translateX(-50%) scale(1.2);\n}\n\n.ntbl-insert-line--vertical .ntbl-insert-btn:hover {\n\ttransform: translateY(-50%) scale(1.2);\n}\n\n/* --- Add Row / Add Column Zones --- */\n.ntbl-add-zone {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\tuser-select: none;\n\topacity: 0;\n\ttransition: opacity 0.2s ease, background 0.2s ease,\n\t\tborder-color 0.2s ease;\n}\n\n.ntbl-container:hover .ntbl-add-zone,\n.ntbl-container:focus-within .ntbl-add-zone {\n\topacity: 1;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-add-zone {\n\topacity: 1;\n}\n\n.ntbl-delete-table-btn {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-danger);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-bg);\n\tcolor: var(--notectl-danger);\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\topacity: 0;\n\ttransition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n\tz-index: 7;\n}\n\n.ntbl-container:hover .ntbl-delete-table-btn,\n.ntbl-container:focus-within .ntbl-delete-table-btn,\n.ntbl-container.notectl-table--selected .ntbl-delete-table-btn {\n\topacity: 1;\n}\n\n.ntbl-delete-table-btn:hover,\n.ntbl-delete-table-btn:focus-visible {\n\tbackground: var(--notectl-danger-muted);\n\tborder-color: var(--notectl-danger);\n}\n\n.ntbl-delete-table-btn:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-add-row {\n\tbottom: 0;\n\theight: 24px;\n\tborder: 1px dashed var(--notectl-border);\n\tborder-radius: 0 0 6px 6px;\n\tborder-top: none;\n\tcolor: var(--notectl-fg-muted);\n\ttransform: translateY(100%);\n}\n\n.ntbl-add-row:hover,\n.ntbl-add-row:focus-visible {\n\tbackground: var(--notectl-primary-muted);\n\tborder-color: var(--notectl-primary);\n\tcolor: var(--notectl-primary);\n}\n\n.ntbl-add-row:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-add-col {\n\tright: 0;\n\ttop: 24px;\n\twidth: 24px;\n\tborder: 1px dashed var(--notectl-border);\n\tborder-radius: 0 6px 6px 0;\n\tborder-left: none;\n\tcolor: var(--notectl-fg-muted);\n\ttransform: translateX(100%);\n}\n\n.ntbl-add-col:hover,\n.ntbl-add-col:focus-visible {\n\tbackground: var(--notectl-primary-muted);\n\tborder-color: var(--notectl-primary);\n\tcolor: var(--notectl-primary);\n}\n\n.ntbl-add-col:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-add-icon {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttransition: transform 0.2s ease;\n}\n\n.ntbl-add-zone:hover .ntbl-add-icon {\n\ttransform: scale(1.15);\n}\n";
|
|
2
|
+
export declare const TABLE_CSS = "\n/* Table */\n.notectl-table-wrapper {\n\tmargin: 8px 0;\n\toverflow-x: auto;\n\tposition: relative;\n}\n\n.notectl-table {\n\twidth: 100%;\n\tborder-collapse: collapse;\n\ttable-layout: fixed;\n}\n\n.notectl-table td {\n\tborder: 1px solid var(--ntbl-border-color, var(--notectl-border));\n\tpadding: 8px 12px;\n\tmin-width: 60px;\n\tvertical-align: top;\n\tmin-height: 1.6em;\n}\n\n.notectl-table--borderless td {\n\tborder: 1px dashed rgba(128, 128, 128, 0.15);\n}\n\n@media print {\n\t.notectl-table--borderless td {\n\t\tborder: none;\n\t}\n}\n\n.notectl-table td:focus-within {\n\toutline: 2px solid var(--notectl-primary);\n\toutline-offset: -2px;\n}\n\n.notectl-table-cell--selected {\n\tbackground: var(--notectl-primary-muted);\n}\n\n/* Table Context Menu */\n.notectl-table-context-menu {\n\tposition: fixed;\n\tbackground: var(--notectl-surface-overlay);\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 6px;\n\tbox-shadow: 0 4px 12px var(--notectl-shadow);\n\tpadding: 4px 0;\n\tmin-width: 180px;\n\tz-index: 10000;\n}\n\n.notectl-table-context-menu button {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: 8px 12px;\n\ttext-align: left;\n\tborder: none;\n\tbackground: none;\n\tcursor: pointer;\n\tfont-size: 14px;\n\tcolor: var(--notectl-fg);\n\tfont-family: inherit;\n}\n\n.notectl-table-context-menu button:hover {\n\tbackground: var(--notectl-hover-bg);\n}\n\n.notectl-table-context-menu hr {\n\tborder: none;\n\tborder-top: 1px solid var(--notectl-border);\n\tmargin: 4px 0;\n}\n\n/* === Table Controls === */\n\n/* Outer container for table + controls */\n.ntbl-container {\n\tposition: relative;\n\tmargin: 8px 0;\n\tpadding: 24px 0 0 24px;\n}\n\n.ntbl-container .notectl-table-wrapper {\n\tmargin: 0;\n}\n\n.ntbl-container.notectl-table--selected .notectl-table-wrapper {\n\toutline: 2px solid var(--notectl-primary-fg);\n\toutline-offset: 2px;\n\tborder-radius: 6px;\n}\n\n/* --- Column Handle Bar --- */\n.ntbl-col-bar {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 24px;\n\theight: 20px;\n\tdisplay: flex;\n\topacity: 0;\n\ttransition: opacity 0.2s ease;\n\tz-index: 3;\n\tpointer-events: none;\n}\n\n.ntbl-container:hover .ntbl-col-bar,\n.ntbl-container:focus-within .ntbl-col-bar {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-col-bar {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n/* --- Row Handle Bar --- */\n.ntbl-row-bar {\n\tposition: absolute;\n\ttop: 24px;\n\tleft: 0;\n\twidth: 20px;\n\tdisplay: flex;\n\tflex-direction: column;\n\topacity: 0;\n\ttransition: opacity 0.2s ease;\n\tz-index: 3;\n\tpointer-events: none;\n}\n\n.ntbl-container:hover .ntbl-row-bar,\n.ntbl-container:focus-within .ntbl-row-bar {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-row-bar {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n/* --- Handle (shared base) --- */\n.ntbl-handle {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\ttransition: background 0.15s ease;\n\tborder-radius: 3px;\n}\n\n.ntbl-col-handle {\n\theight: 100%;\n\tbackground: var(--notectl-hover-bg);\n\tborder-radius: 4px 4px 0 0;\n}\n\n.ntbl-col-handle:hover {\n\tbackground: var(--notectl-border);\n}\n\n.ntbl-row-handle {\n\twidth: 100%;\n\tbackground: var(--notectl-hover-bg);\n\tborder-radius: 4px 0 0 4px;\n}\n\n.ntbl-row-handle:hover {\n\tbackground: var(--notectl-border);\n}\n\n/* --- Handle Delete Button --- */\n.ntbl-handle-delete {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 16px;\n\theight: 16px;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: var(--notectl-fg-muted);\n\tcursor: pointer;\n\tborder-radius: 3px;\n\tpadding: 0;\n\topacity: 0;\n\ttransform: scale(0.7);\n\ttransition: opacity 0.15s, transform 0.15s,\n\t\tbackground 0.15s, color 0.15s;\n}\n\n.ntbl-handle:hover .ntbl-handle-delete,\n.ntbl-handle:focus-within .ntbl-handle-delete {\n\topacity: 1;\n\ttransform: scale(1);\n}\n\n.ntbl-handle-delete:hover,\n.ntbl-handle-delete:focus-visible {\n\tbackground: var(--notectl-danger-muted);\n\tcolor: var(--notectl-danger);\n}\n\n.ntbl-handle-delete:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Insert Lines --- */\n.ntbl-insert-line {\n\tposition: absolute;\n\tpointer-events: none;\n\topacity: 0;\n\ttransition: opacity 0.15s ease;\n\tz-index: 6;\n}\n\n.ntbl-insert-line--visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n.ntbl-insert-line--horizontal {\n\theight: 2px;\n\tbackground: linear-gradient(\n\t\t90deg,\n\t\ttransparent,\n\t\tvar(--notectl-primary) 8%,\n\t\tvar(--notectl-primary) 92%,\n\t\ttransparent\n\t);\n\tbox-shadow: 0 0 6px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-line--vertical {\n\twidth: 2px;\n\tbackground: linear-gradient(\n\t\t180deg,\n\t\ttransparent,\n\t\tvar(--notectl-primary) 8%,\n\t\tvar(--notectl-primary) 92%,\n\t\ttransparent\n\t);\n\tbox-shadow: 0 0 6px var(--notectl-focus-ring);\n}\n\n/* --- Insert Button on Line --- */\n.ntbl-insert-btn {\n\tposition: absolute;\n\twidth: 20px;\n\theight: 20px;\n\tborder-radius: 50%;\n\tbackground: var(--notectl-bg);\n\tborder: 2px solid var(--notectl-primary);\n\tcolor: var(--notectl-primary);\n\tcursor: pointer;\n\tpointer-events: all;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0;\n\tbox-shadow: 0 2px 8px var(--notectl-focus-ring);\n\ttransition: background 0.15s, color 0.15s,\n\t\ttransform 0.15s, box-shadow 0.15s;\n}\n\n.ntbl-insert-line--horizontal .ntbl-insert-btn {\n\tleft: 50%;\n\ttop: -9px;\n\ttransform: translateX(-50%);\n}\n\n.ntbl-insert-line--vertical .ntbl-insert-btn {\n\ttop: 50%;\n\tleft: -9px;\n\ttransform: translateY(-50%);\n}\n\n.ntbl-insert-btn:hover,\n.ntbl-insert-btn:focus-visible {\n\tbackground: var(--notectl-primary);\n\tcolor: var(--notectl-bg);\n\tbox-shadow: 0 2px 12px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-btn:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-line--horizontal .ntbl-insert-btn:hover {\n\ttransform: translateX(-50%) scale(1.2);\n}\n\n.ntbl-insert-line--vertical .ntbl-insert-btn:hover {\n\ttransform: translateY(-50%) scale(1.2);\n}\n\n/* --- Add Row / Add Column Zones --- */\n.ntbl-add-zone {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\tuser-select: none;\n\topacity: 0;\n\ttransition: opacity 0.2s ease, background 0.2s ease,\n\t\tborder-color 0.2s ease;\n}\n\n.ntbl-container:hover .ntbl-add-zone,\n.ntbl-container:focus-within .ntbl-add-zone {\n\topacity: 1;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-add-zone {\n\topacity: 1;\n}\n\n.ntbl-delete-table-btn {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-danger);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-bg);\n\tcolor: var(--notectl-danger);\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\topacity: 0;\n\ttransition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n\tz-index: 7;\n}\n\n.ntbl-container:hover .ntbl-delete-table-btn,\n.ntbl-container:focus-within .ntbl-delete-table-btn,\n.ntbl-container.notectl-table--selected .ntbl-delete-table-btn {\n\topacity: 1;\n}\n\n.ntbl-delete-table-btn:hover,\n.ntbl-delete-table-btn:focus-visible {\n\tbackground: var(--notectl-danger-muted);\n\tborder-color: var(--notectl-danger);\n}\n\n.ntbl-delete-table-btn:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Context Menu Discovery Hint --- */\n.ntbl-context-hint {\n\tposition: absolute;\n\ttop: 4px;\n\tright: 0;\n\tfont-size: 11px;\n\tcolor: var(--notectl-fg-muted);\n\tpadding: 2px 8px;\n\tborder-radius: 4px;\n\topacity: 0;\n\ttransition: opacity 0.2s ease;\n\tpointer-events: none;\n\twhite-space: nowrap;\n\tz-index: 5;\n}\n\n.ntbl-container:hover .ntbl-context-hint,\n.ntbl-container:focus-within .ntbl-context-hint,\n.ntbl-container.notectl-table--selected .ntbl-context-hint {\n\topacity: 1;\n}\n\n/* --- Table Actions Button --- */\n.ntbl-actions-btn {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 48px;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-bg);\n\tcolor: var(--notectl-fg-muted);\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\topacity: 0;\n\ttransition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n\tz-index: 7;\n\tcursor: pointer;\n\tpadding: 0;\n}\n\n.ntbl-container:hover .ntbl-actions-btn,\n.ntbl-container:focus-within .ntbl-actions-btn,\n.ntbl-container.notectl-table--selected .ntbl-actions-btn {\n\topacity: 1;\n}\n\n.ntbl-actions-btn:hover,\n.ntbl-actions-btn:focus-visible {\n\tbackground: var(--notectl-hover-bg);\n\tborder-color: var(--notectl-primary);\n}\n\n.ntbl-actions-btn:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Border Color Button --- */\n.ntbl-border-color-btn {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 24px;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-bg);\n\tcolor: var(--notectl-fg-muted);\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\topacity: 0;\n\ttransition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n\tz-index: 7;\n\tcursor: pointer;\n\tpadding: 0;\n}\n\n.ntbl-container:hover .ntbl-border-color-btn,\n.ntbl-container:focus-within .ntbl-border-color-btn,\n.ntbl-container.notectl-table--selected .ntbl-border-color-btn {\n\topacity: 1;\n}\n\n.ntbl-border-color-btn:hover,\n.ntbl-border-color-btn:focus-visible {\n\tbackground: var(--notectl-hover-bg);\n\tborder-color: var(--notectl-primary);\n}\n\n.ntbl-border-color-btn:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-border-color-swatch {\n\twidth: 10px;\n\theight: 10px;\n\tborder-radius: 2px;\n\tborder: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n/* --- Context Menu Keyboard Hint --- */\n.notectl-table-context-menu__hint {\n\tpadding: 4px 12px 6px;\n\tfont-size: 11px;\n\tcolor: var(--notectl-fg-muted);\n\tborder-top: 1px solid var(--notectl-border);\n\tmargin-top: 4px;\n\ttext-align: center;\n\tuser-select: none;\n}\n\n/* --- Context Menu Focus --- */\n.notectl-table-context-menu button:focus-visible {\n\toutline: none;\n\tbackground: var(--notectl-primary-muted);\n\tbox-shadow: inset 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.notectl-table-context-menu [role=\"separator\"] {\n\tborder: none;\n\tborder-top: 1px solid var(--notectl-border);\n\tmargin: 4px 0;\n\theight: 0;\n}\n\n.ntbl-add-row {\n\tbottom: 0;\n\theight: 24px;\n\tborder: 1px dashed var(--notectl-border);\n\tborder-radius: 0 0 6px 6px;\n\tborder-top: none;\n\tcolor: var(--notectl-fg-muted);\n\ttransform: translateY(100%);\n}\n\n.ntbl-add-row:hover,\n.ntbl-add-row:focus-visible {\n\tbackground: var(--notectl-primary-muted);\n\tborder-color: var(--notectl-primary);\n\tcolor: var(--notectl-primary);\n}\n\n.ntbl-add-row:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-add-col {\n\tright: 0;\n\ttop: 24px;\n\twidth: 24px;\n\tborder: 1px dashed var(--notectl-border);\n\tborder-radius: 0 6px 6px 0;\n\tborder-left: none;\n\tcolor: var(--notectl-fg-muted);\n\ttransform: translateX(100%);\n}\n\n.ntbl-add-col:hover,\n.ntbl-add-col:focus-visible {\n\tbackground: var(--notectl-primary-muted);\n\tborder-color: var(--notectl-primary);\n\tcolor: var(--notectl-primary);\n}\n\n.ntbl-add-col:focus-visible {\n\toutline: none;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-add-icon {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttransition: transform 0.2s ease;\n}\n\n.ntbl-add-zone:hover .ntbl-add-icon {\n\ttransform: scale(1.15);\n}\n";
|
|
3
3
|
//# sourceMappingURL=table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/table.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/table.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,SAAS,4uXA+hBrB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** Toolbar styles — buttons, separators, tooltips, popups, dropdowns. */
|
|
2
|
-
export declare const TOOLBAR_CSS = "\n/* Toolbar */\n.notectl-plugin-container--top {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-wrap:
|
|
2
|
+
export declare const TOOLBAR_CSS = "\n/* Toolbar */\n.notectl-plugin-container--top {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-wrap: nowrap;\n\tborder-bottom: 1px solid var(--notectl-border);\n\tbackground: var(--notectl-toolbar-bg, var(--notectl-surface-raised));\n\tmin-height: 40px;\n}\n\n.notectl-toolbar {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-wrap: nowrap;\n\toverflow: hidden;\n\tflex: 1;\n\tmin-width: 0;\n\tgap: 2px;\n\tpadding: 4px 8px;\n}\n\n.notectl-toolbar[hidden] {\n\tdisplay: none;\n}\n\n.notectl-toolbar-btn {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 32px;\n\theight: 32px;\n\tborder: 1px solid transparent;\n\tborder-radius: 4px;\n\tbackground: transparent;\n\tcursor: pointer;\n\tcolor: var(--notectl-fg);\n\tfont-size: 14px;\n\tline-height: 1;\n\tpadding: 0;\n\tflex-shrink: 0;\n\ttransition: background 0.1s, border-color 0.1s;\n}\n\n.notectl-toolbar-btn:hover {\n\tbackground: var(--notectl-hover-bg);\n\tborder-color: var(--notectl-border);\n}\n\n.notectl-toolbar-btn--active {\n\tbackground: var(--notectl-active-bg);\n\tborder-color: var(--notectl-primary-muted);\n\tcolor: var(--notectl-primary-fg);\n}\n\n.notectl-toolbar-btn:focus-visible {\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n\toutline: none;\n}\n\n.notectl-toolbar-btn:disabled {\n\topacity: 0.4;\n\tcursor: not-allowed;\n}\n\n.notectl-toolbar-btn:disabled:hover {\n\tbackground: transparent;\n\tborder-color: transparent;\n}\n\n.notectl-toolbar-btn__icon {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpointer-events: none;\n}\n\n.notectl-toolbar-btn__icon svg {\n\tdisplay: block;\n\twidth: 18px;\n\theight: 18px;\n\tfill: currentColor;\n}\n\n/* Tooltip (rendered as fixed-position element in shadow root) */\n.notectl-toolbar-tooltip {\n\tposition: fixed;\n\tpadding: 4px 8px;\n\tborder-radius: 4px;\n\tbackground: var(--notectl-tooltip-bg);\n\tcolor: var(--notectl-tooltip-fg);\n\tfont-size: 11px;\n\tfont-weight: 500;\n\twhite-space: nowrap;\n\tpointer-events: none;\n\tz-index: 10001;\n\tline-height: 1.4;\n\tletter-spacing: 0.01em;\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n}\n\n.notectl-toolbar-separator {\n\tdisplay: inline-block;\n\twidth: 1px;\n\theight: 20px;\n\tbackground: var(--notectl-border);\n\tmargin: 0 4px;\n\tvertical-align: middle;\n}\n\n/* Toolbar Popups */\n.notectl-toolbar-popup {\n\tbackground: var(--notectl-surface-overlay);\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 6px;\n\tbox-shadow: 0 4px 12px var(--notectl-shadow);\n\toverflow: hidden;\n}\n\n/* Grid Picker */\n.notectl-grid-picker__cell:focus-visible {\n\toutline: 2px solid var(--notectl-focus-ring);\n\toutline-offset: -1px;\n}\n\n.notectl-grid-picker__cell--highlighted {\n\tbackground: var(--notectl-primary-muted);\n\tborder-color: var(--notectl-primary);\n}\n\n/* Dropdown */\n.notectl-dropdown {\n\tmin-width: 160px;\n\tpadding: 4px 0;\n}\n\n.notectl-dropdown__item {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\tpadding: 8px 12px;\n\ttext-align: left;\n\tborder: none;\n\tbackground: none;\n\tcursor: pointer;\n\tfont-size: 14px;\n\tcolor: var(--notectl-fg);\n\tline-height: 1.4;\n\tfont-family: inherit;\n\twhite-space: nowrap;\n}\n\n.notectl-dropdown__item:hover,\n.notectl-dropdown__item:focus-visible {\n\tbackground: var(--notectl-hover-bg);\n}\n\n.notectl-dropdown__item:focus-visible {\n\toutline: none;\n}\n\n.notectl-dropdown__item-icon {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 28px;\n\tfont-weight: 600;\n\tcolor: var(--notectl-fg-muted);\n\tflex-shrink: 0;\n}\n\n.notectl-dropdown__item-label {\n\tflex: 1;\n}\n\n/* Overflow behavior: flow mode \u2014 toolbar wraps to additional rows */\n.notectl-toolbar[data-overflow=\"flow\"] {\n\tflex-wrap: wrap;\n\toverflow: visible;\n}\n\n/* Overflow behavior: none \u2014 toolbar clips without any responsive behavior */\n.notectl-toolbar[data-overflow=\"none\"] {\n\tflex-wrap: nowrap;\n\toverflow: hidden;\n}\n\n/* Overflow: hidden items (burger-menu mode) */\n.notectl-toolbar-btn--overflow-hidden,\n.notectl-toolbar-separator--overflow-hidden {\n\tdisplay: none;\n}\n\n/* Overflow \"more\" button */\n.notectl-toolbar-overflow-btn {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 32px;\n\theight: 32px;\n\tborder: 1px solid transparent;\n\tborder-radius: 4px;\n\tbackground: transparent;\n\tcursor: pointer;\n\tcolor: var(--notectl-fg);\n\tfont-size: 16px;\n\tline-height: 1;\n\tpadding: 0;\n\tflex-shrink: 0;\n\tmargin-left: auto;\n\ttransition: background 0.1s, border-color 0.1s;\n}\n\n.notectl-toolbar-overflow-btn:hover {\n\tbackground: var(--notectl-hover-bg);\n\tborder-color: var(--notectl-border);\n}\n\n.notectl-toolbar-overflow-btn--hidden {\n\tdisplay: none;\n}\n\n.notectl-toolbar-overflow-btn:focus-visible {\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n\toutline: none;\n}\n\n/* Dropdown item states shared by all dropdown menus (including overflow) */\n.notectl-dropdown__item:disabled {\n\topacity: 0.4;\n\tcursor: not-allowed;\n}\n\n.notectl-dropdown__item:disabled:hover {\n\tbackground: none;\n}\n\n.notectl-dropdown__item--active {\n\tcolor: var(--notectl-primary-fg);\n}\n\n.notectl-dropdown__item-icon svg {\n\tdisplay: block;\n\twidth: 16px;\n\theight: 16px;\n\tfill: currentColor;\n}\n\n.notectl-dropdown__separator {\n\theight: 1px;\n\tbackground: var(--notectl-border);\n\tmargin: 4px 0;\n}\n";
|
|
3
3
|
//# sourceMappingURL=toolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/toolbar.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/toolbar.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,eAAO,MAAM,WAAW,04KA6PvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/editor/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/editor/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,4CAA4C;AAC5C,wBAAgB,mBAAmB,IAAI,aAAa,CAMnD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported locale identifiers for the notectl editor.
|
|
3
|
+
* Use `Locale.BROWSER` to auto-detect from navigator.language.
|
|
4
|
+
*/
|
|
5
|
+
export declare const Locale: {
|
|
6
|
+
readonly EN: "en";
|
|
7
|
+
readonly DE: "de";
|
|
8
|
+
readonly ES: "es";
|
|
9
|
+
readonly FR: "fr";
|
|
10
|
+
readonly ZH: "zh";
|
|
11
|
+
readonly RU: "ru";
|
|
12
|
+
readonly AR: "ar";
|
|
13
|
+
readonly HI: "hi";
|
|
14
|
+
readonly BROWSER: "browser";
|
|
15
|
+
};
|
|
16
|
+
export type Locale = (typeof Locale)[keyof typeof Locale];
|
|
17
|
+
//# sourceMappingURL=Locale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Locale.d.ts","sourceRoot":"","sources":["../../src/i18n/Locale.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ServiceKey } from '../plugins/Plugin.js';
|
|
2
|
+
export declare class LocaleService {
|
|
3
|
+
private readonly resolvedLocale;
|
|
4
|
+
constructor(locale: string);
|
|
5
|
+
getLocale(): string;
|
|
6
|
+
}
|
|
7
|
+
export declare const LocaleServiceKey: ServiceKey<LocaleService>;
|
|
8
|
+
//# sourceMappingURL=LocaleService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocaleService.d.ts","sourceRoot":"","sources":["../../src/i18n/LocaleService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,MAAM,EAAE,MAAM;IAS1B,SAAS,IAAI,MAAM;CAGnB;AAED,eAAO,MAAM,gBAAgB,2BAA0C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvePluginLocale.d.ts","sourceRoot":"","sources":["../../src/i18n/resolvePluginLocale.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,wBAAgB,mBAAmB,CAAC,CAAC,EACpC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACtC,OAAO,EAAE,aAAa,EACtB,cAAc,CAAC,EAAE,CAAC,GAChB,CAAC,CASH"}
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export { EditorState } from './state/EditorState.js';
|
|
|
28
28
|
export type { Transaction, TransactionMetadata, TransactionOrigin, Step, InsertTextStep, DeleteTextStep, SplitBlockStep, MergeBlocksStep, AddMarkStep, RemoveMarkStep, SetBlockTypeStep, InsertNodeStep, RemoveNodeStep, SetNodeAttrStep, InsertInlineNodeStep, RemoveInlineNodeStep, SetInlineNodeAttrStep, } from './state/Transaction.js';
|
|
29
29
|
export { TransactionBuilder, invertStep, invertTransaction } from './state/Transaction.js';
|
|
30
30
|
export { applyStep } from './state/StepApplication.js';
|
|
31
|
+
export { isAllowedInReadonly, isSelectionOnlyTransaction } from './state/ReadonlyGuard.js';
|
|
31
32
|
export { HistoryManager } from './state/History.js';
|
|
32
33
|
export type { HistoryResult } from './state/History.js';
|
|
33
34
|
export type { FeatureConfig } from './commands/Commands.js';
|
|
@@ -37,11 +38,13 @@ export type { Keymap, KeymapHandler } from './input/Keymap.js';
|
|
|
37
38
|
export { normalizeKeyDescriptor } from './input/KeyboardHandler.js';
|
|
38
39
|
export { ClipboardHandler } from './input/ClipboardHandler.js';
|
|
39
40
|
export type { NodeView, NodeViewFactory } from './view/NodeView.js';
|
|
40
|
-
export type { Plugin, PluginContext, CommandHandler, CommandEntry, PluginEventCallback, PluginEventBus, PluginConfig, TransactionMiddleware, MiddlewareNext, } from './plugins/Plugin.js';
|
|
41
|
+
export type { Plugin, PluginContext, CommandHandler, CommandEntry, CommandOptions, PluginEventCallback, PluginEventBus, PluginConfig, TransactionMiddleware, MiddlewareNext, MiddlewareOptions, } from './plugins/Plugin.js';
|
|
41
42
|
export { EventKey, ServiceKey } from './plugins/Plugin.js';
|
|
42
43
|
export { EventBus } from './plugins/EventBus.js';
|
|
43
|
-
export { PluginManager, type PluginManagerInitOptions } from './plugins/PluginManager.js';
|
|
44
|
+
export { PluginManager, type PluginManagerInitOptions, type MiddlewareInfo, } from './plugins/PluginManager.js';
|
|
44
45
|
export { ToolbarPlugin, ToolbarServiceKey, type ToolbarServiceAPI, type ToolbarLayoutConfig, } from './plugins/toolbar/ToolbarPlugin.js';
|
|
46
|
+
export { ToolbarOverflowBehavior } from './plugins/toolbar/ToolbarOverflowBehavior.js';
|
|
47
|
+
export type { ToolbarOverflowBehavior as ToolbarOverflowBehaviorType } from './plugins/toolbar/ToolbarOverflowBehavior.js';
|
|
45
48
|
export type { ToolbarItem, ToolbarGroup, PopupType, GridPickerConfig, DropdownConfig, } from './plugins/toolbar/ToolbarItem.js';
|
|
46
49
|
export { formatShortcut } from './plugins/toolbar/ToolbarItem.js';
|
|
47
50
|
export { TextFormattingPlugin, type TextFormattingConfig, type TextFormattingToolbarConfig, } from './plugins/text-formatting/TextFormattingPlugin.js';
|
|
@@ -63,6 +66,7 @@ export type { BlockAlignment as TextAlignment } from './plugins/alignment/Alignm
|
|
|
63
66
|
export { FontPlugin, type FontConfig, type FontDefinition, type FontFaceDescriptor, } from './plugins/font/FontPlugin.js';
|
|
64
67
|
export { FontSizePlugin, type FontSizeConfig, } from './plugins/font-size/FontSizePlugin.js';
|
|
65
68
|
export { TablePlugin, type TableConfig, } from './plugins/table/TablePlugin.js';
|
|
69
|
+
export { TABLE_LOCALE_EN, TABLE_LOCALE_DE, TABLE_LOCALE_ES, TABLE_LOCALE_FR, TABLE_LOCALE_ZH, TABLE_LOCALE_RU, TABLE_LOCALE_AR, TABLE_LOCALE_HI, type TableLocale, } from './plugins/table/TableLocale.js';
|
|
66
70
|
export { HighlightPlugin, type HighlightConfig, } from './plugins/highlight/HighlightPlugin.js';
|
|
67
71
|
export { SuperSubPlugin, type SuperSubConfig, type SuperSubToolbarConfig, } from './plugins/super-sub/SuperSubPlugin.js';
|
|
68
72
|
export { TableSelectionServiceKey, type TableSelectionService, type CellRange, } from './plugins/table/TableSelection.js';
|
|
@@ -78,6 +82,47 @@ export { DecorationSet, inline as inlineDecoration, node as nodeDecoration, widg
|
|
|
78
82
|
export { ThemePreset, LIGHT_THEME, DARK_THEME, createTheme, resolveTheme, } from './editor/theme/ThemeTokens.js';
|
|
79
83
|
export type { Theme, PartialTheme, ThemePrimitives, ThemeToolbar, ThemeCodeBlock, ThemeTooltip, } from './editor/theme/ThemeTokens.js';
|
|
80
84
|
export { generateThemeCSS, createThemeStyleSheet } from './editor/theme/ThemeEngine.js';
|
|
81
|
-
export
|
|
85
|
+
export { PaperSize, getPaperDimensions, getPaperCSSSize, isValidPaperSize, PAPER_MARGIN_TOP_PX, PAPER_MARGIN_HORIZONTAL_PX, PAPER_VIEWPORT_PADDING_PX, } from './editor/PaperSize.js';
|
|
86
|
+
export type { PaperDimensions } from './editor/PaperSize.js';
|
|
87
|
+
export { Locale } from './i18n/Locale.js';
|
|
88
|
+
export type { Locale as LocaleType } from './i18n/Locale.js';
|
|
89
|
+
export { LocaleService, LocaleServiceKey } from './i18n/LocaleService.js';
|
|
90
|
+
export { resolvePluginLocale } from './i18n/resolvePluginLocale.js';
|
|
91
|
+
export type { TextFormattingLocale } from './plugins/text-formatting/TextFormattingLocale.js';
|
|
92
|
+
export { TEXT_FORMATTING_LOCALE_EN, TEXT_FORMATTING_LOCALES, } from './plugins/text-formatting/TextFormattingLocale.js';
|
|
93
|
+
export type { HeadingLocale } from './plugins/heading/HeadingLocale.js';
|
|
94
|
+
export { HEADING_LOCALE_EN, HEADING_LOCALES } from './plugins/heading/HeadingLocale.js';
|
|
95
|
+
export type { ListLocale } from './plugins/list/ListLocale.js';
|
|
96
|
+
export { LIST_LOCALE_EN, LIST_LOCALES } from './plugins/list/ListLocale.js';
|
|
97
|
+
export type { LinkLocale } from './plugins/link/LinkLocale.js';
|
|
98
|
+
export { LINK_LOCALE_EN, LINK_LOCALES } from './plugins/link/LinkLocale.js';
|
|
99
|
+
export type { BlockquoteLocale } from './plugins/blockquote/BlockquoteLocale.js';
|
|
100
|
+
export { BLOCKQUOTE_LOCALE_EN, BLOCKQUOTE_LOCALES, } from './plugins/blockquote/BlockquoteLocale.js';
|
|
101
|
+
export type { StrikethroughLocale } from './plugins/strikethrough/StrikethroughLocale.js';
|
|
102
|
+
export { STRIKETHROUGH_LOCALE_EN, STRIKETHROUGH_LOCALES, } from './plugins/strikethrough/StrikethroughLocale.js';
|
|
103
|
+
export type { SuperSubLocale } from './plugins/super-sub/SuperSubLocale.js';
|
|
104
|
+
export { SUPER_SUB_LOCALE_EN, SUPER_SUB_LOCALES } from './plugins/super-sub/SuperSubLocale.js';
|
|
105
|
+
export type { TextColorLocale } from './plugins/text-color/TextColorLocale.js';
|
|
106
|
+
export { TEXT_COLOR_LOCALE_EN, TEXT_COLOR_LOCALES, } from './plugins/text-color/TextColorLocale.js';
|
|
107
|
+
export type { HighlightLocale } from './plugins/highlight/HighlightLocale.js';
|
|
108
|
+
export { HIGHLIGHT_LOCALE_EN, HIGHLIGHT_LOCALES, } from './plugins/highlight/HighlightLocale.js';
|
|
109
|
+
export type { AlignmentLocale } from './plugins/alignment/AlignmentLocale.js';
|
|
110
|
+
export { ALIGNMENT_LOCALE_EN, ALIGNMENT_LOCALE_DE, ALIGNMENT_LOCALES, } from './plugins/alignment/AlignmentLocale.js';
|
|
111
|
+
export type { FontLocale } from './plugins/font/FontLocale.js';
|
|
112
|
+
export { FONT_LOCALE_EN, FONT_LOCALES } from './plugins/font/FontLocale.js';
|
|
113
|
+
export type { FontSizeLocale } from './plugins/font-size/FontSizeLocale.js';
|
|
114
|
+
export { FONT_SIZE_LOCALE_EN, FONT_SIZE_LOCALES, } from './plugins/font-size/FontSizeLocale.js';
|
|
115
|
+
export type { HorizontalRuleLocale } from './plugins/horizontal-rule/HorizontalRuleLocale.js';
|
|
116
|
+
export { HORIZONTAL_RULE_LOCALE_EN, HORIZONTAL_RULE_LOCALES, } from './plugins/horizontal-rule/HorizontalRuleLocale.js';
|
|
117
|
+
export type { ImageLocale } from './plugins/image/ImageLocale.js';
|
|
118
|
+
export { IMAGE_LOCALE_EN, IMAGE_LOCALES } from './plugins/image/ImageLocale.js';
|
|
119
|
+
export type { CodeBlockLocale } from './plugins/code-block/CodeBlockLocale.js';
|
|
120
|
+
export { CODE_BLOCK_LOCALE_EN, CODE_BLOCK_LOCALES, } from './plugins/code-block/CodeBlockLocale.js';
|
|
121
|
+
export type { PrintLocale } from './plugins/print/PrintLocale.js';
|
|
122
|
+
export { PRINT_LOCALE_EN, PRINT_LOCALES } from './plugins/print/PrintLocale.js';
|
|
123
|
+
export type { ToolbarLocale } from './plugins/toolbar/ToolbarLocale.js';
|
|
124
|
+
export { TOOLBAR_LOCALE_EN, TOOLBAR_LOCALES } from './plugins/toolbar/ToolbarLocale.js';
|
|
125
|
+
export { TABLE_LOCALES } from './plugins/table/TableLocale.js';
|
|
126
|
+
export type { NotectlEditorConfig, ToolbarConfig, StateChangeEvent, } from './editor/NotectlEditor.js';
|
|
82
127
|
export { NotectlEditor, createEditor } from './editor/NotectlEditor.js';
|
|
83
128
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export interface ClipboardHandlerOptions {
|
|
|
6
6
|
readonly schemaRegistry?: SchemaRegistry;
|
|
7
7
|
/** Force-sync DOM selection to state (selectionchange may fire async). */
|
|
8
8
|
readonly syncSelection?: () => void;
|
|
9
|
+
readonly isReadOnly?: () => boolean;
|
|
9
10
|
}
|
|
10
11
|
export declare class ClipboardHandler {
|
|
11
12
|
private readonly element;
|
|
@@ -13,6 +14,7 @@ export declare class ClipboardHandler {
|
|
|
13
14
|
private readonly dispatch;
|
|
14
15
|
private readonly schemaRegistry?;
|
|
15
16
|
private readonly syncSelection?;
|
|
17
|
+
private readonly isReadOnly;
|
|
16
18
|
private readonly handleCopy;
|
|
17
19
|
private readonly handleCut;
|
|
18
20
|
constructor(element: HTMLElement, options: ClipboardHandlerOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipboardHandler.d.ts","sourceRoot":"","sources":["../../src/input/ClipboardHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQjE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGhE,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAKD,qBAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"ClipboardHandler.d.ts","sourceRoot":"","sources":["../../src/input/ClipboardHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQjE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGhE,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;CACpC;AAKD,qBAAa,gBAAgB;IAU3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IATzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;gBAGtC,OAAO,EAAE,WAAW,EACrC,OAAO,EAAE,uBAAuB;IAcjC,OAAO,CAAC,MAAM;IAqBd,OAAO,CAAC,KAAK;IA4Bb,OAAO,CAAC,6BAA6B;IA0BrC,OAAO,CAAC,6BAA6B;IA8DrC,6EAA6E;IAC7E,OAAO,CAAC,yBAAyB;IA8BjC,uFAAuF;IACvF,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,IAAI,IAAI;CAIf"}
|
|
@@ -11,6 +11,7 @@ export interface InputHandlerOptions {
|
|
|
11
11
|
dispatch: DispatchFn;
|
|
12
12
|
syncSelection: SyncSelectionFn;
|
|
13
13
|
schemaRegistry?: SchemaRegistry;
|
|
14
|
+
isReadOnly?: () => boolean;
|
|
14
15
|
}
|
|
15
16
|
export declare class InputHandler {
|
|
16
17
|
private readonly element;
|
|
@@ -18,6 +19,7 @@ export declare class InputHandler {
|
|
|
18
19
|
private readonly dispatch;
|
|
19
20
|
private readonly syncSelection;
|
|
20
21
|
private readonly schemaRegistry?;
|
|
22
|
+
private readonly isReadOnly;
|
|
21
23
|
private composing;
|
|
22
24
|
private readonly handleBeforeInput;
|
|
23
25
|
private readonly handleCompositionStart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputHandler.d.ts","sourceRoot":"","sources":["../../src/input/InputHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC;AAC3C,MAAM,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;AAChC,MAAM,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;AAEhC,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,eAAe,CAAC;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"InputHandler.d.ts","sourceRoot":"","sources":["../../src/input/InputHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC;AAC3C,MAAM,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;AAChC,MAAM,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;AAEhC,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,eAAe,CAAC;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;CAC3B;AAED,qBAAa,YAAY;IAavB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgC;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;gBAGnD,OAAO,EAAE,WAAW,EACrC,OAAO,EAAE,mBAAmB;IAiB7B,OAAO,CAAC,aAAa;IA2FrB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,eAAe;IA4BvB,OAAO,IAAI,IAAI;CAKf"}
|
|
@@ -6,6 +6,7 @@ export interface KeyboardHandlerOptions {
|
|
|
6
6
|
undo: UndoFn;
|
|
7
7
|
redo: RedoFn;
|
|
8
8
|
schemaRegistry?: SchemaRegistry;
|
|
9
|
+
isReadOnly?: () => boolean;
|
|
9
10
|
}
|
|
10
11
|
export declare class KeyboardHandler {
|
|
11
12
|
private readonly element;
|
|
@@ -14,6 +15,7 @@ export declare class KeyboardHandler {
|
|
|
14
15
|
private readonly undo;
|
|
15
16
|
private readonly redo;
|
|
16
17
|
private readonly schemaRegistry?;
|
|
18
|
+
private readonly isReadOnly;
|
|
17
19
|
private readonly handleKeydown;
|
|
18
20
|
constructor(element: HTMLElement, options: KeyboardHandlerOptions);
|
|
19
21
|
private onKeydown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardHandler.d.ts","sourceRoot":"","sources":["../../src/input/KeyboardHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"KeyboardHandler.d.ts","sourceRoot":"","sources":["../../src/input/KeyboardHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;CAC3B;AAED,qBAAa,eAAe;IAU1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IATzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;gBAGzC,OAAO,EAAE,WAAW,EACrC,OAAO,EAAE,sBAAsB;IAahC,OAAO,CAAC,SAAS;IA+DjB,2FAA2F;IAC3F,OAAO,CAAC,uBAAuB;IA6D/B;;;OAGG;IACH,OAAO,CAAC,SAAS;IAcjB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAOpB,+EAA+E;IAC/E,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,IAAI,IAAI;CAGf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAc/D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes legacy HTML elements to their modern CSS equivalents.
|
|
3
|
+
* Converts {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/font | <font>}
|
|
4
|
+
* `color/face/size` attributes to `<span style="color/font-family/font-size">`
|
|
5
|
+
* so that DOMPurify + existing plugin parse rules handle them transparently.
|
|
6
|
+
*
|
|
7
|
+
* Must be called BEFORE DOMPurify sanitization.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Normalizes legacy `<font>` elements in-place, converting them to `<span style="...">`.
|
|
11
|
+
*
|
|
12
|
+
* - `color` attribute → `style.color`
|
|
13
|
+
* - `face` attribute → `style.fontFamily`
|
|
14
|
+
* - `size` attribute → mapped to CSS `font-size` keyword (unless inline `font-size` already set)
|
|
15
|
+
* - `<font>` with no meaningful attributes → unwrapped (children promoted to parent)
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeLegacyHTML(container: DocumentFragment | HTMLElement): void;
|
|
18
|
+
//# sourceMappingURL=LegacyHTMLNormalizer.d.ts.map
|