@notectl/core 1.6.1 → 1.7.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/dist/chunks/{index-CPjf45-o.mjs → index-B-NSeaM4.mjs} +4 -4
- package/dist/chunks/{index-CPjf45-o.mjs.map → index-B-NSeaM4.mjs.map} +1 -1
- package/dist/chunks/{index-DRZwd-1W.mjs → index-B9GkDVsx.mjs} +4 -4
- package/dist/chunks/{index-DRZwd-1W.mjs.map → index-B9GkDVsx.mjs.map} +1 -1
- package/dist/chunks/{index-D67mP19g.mjs → index-C0cEs7Jc.mjs} +4 -4
- package/dist/chunks/{index-D67mP19g.mjs.map → index-C0cEs7Jc.mjs.map} +1 -1
- package/dist/chunks/{index-BDMP86F4.mjs → index-C9gc3Bws.mjs} +4 -4
- package/dist/chunks/{index-BDMP86F4.mjs.map → index-C9gc3Bws.mjs.map} +1 -1
- package/dist/chunks/{index-CPyHuEzh.mjs → index-CAV2N-fF.mjs} +5 -5
- package/dist/chunks/{index-CPyHuEzh.mjs.map → index-CAV2N-fF.mjs.map} +1 -1
- package/dist/chunks/{index-DUC1X43Z.mjs → index-CKPrAOr6.mjs} +4 -4
- package/dist/chunks/{index-DUC1X43Z.mjs.map → index-CKPrAOr6.mjs.map} +1 -1
- package/dist/chunks/{index-BWXkaC2Z.mjs → index-CNs4QQ8l.mjs} +4 -4
- package/dist/chunks/{index-BWXkaC2Z.mjs.map → index-CNs4QQ8l.mjs.map} +1 -1
- package/dist/chunks/{index-DIAXWwgJ.mjs → index-CflvcXSd.mjs} +4 -4
- package/dist/chunks/{index-DIAXWwgJ.mjs.map → index-CflvcXSd.mjs.map} +1 -1
- package/dist/chunks/{index-83QoUENW.mjs → index-CoeD4T9-.mjs} +4 -4
- package/dist/chunks/{index-83QoUENW.mjs.map → index-CoeD4T9-.mjs.map} +1 -1
- package/dist/chunks/{index-tBDVaSjG.mjs → index-D0s0Q8Wc.mjs} +4 -4
- package/dist/chunks/{index-tBDVaSjG.mjs.map → index-D0s0Q8Wc.mjs.map} +1 -1
- package/dist/chunks/{index-B0UFAfyb.mjs → index-DMt3ojrY.mjs} +4 -4
- package/dist/chunks/{index-B0UFAfyb.mjs.map → index-DMt3ojrY.mjs.map} +1 -1
- package/dist/chunks/{index-DipAT_Q9.mjs → index-DfzCof6H.mjs} +4 -4
- package/dist/chunks/{index-DipAT_Q9.mjs.map → index-DfzCof6H.mjs.map} +1 -1
- package/dist/chunks/{index-D4GKlc-A.mjs → index-DyIwN_67.mjs} +5 -5
- package/dist/chunks/{index-D4GKlc-A.mjs.map → index-DyIwN_67.mjs.map} +1 -1
- package/dist/chunks/{index-DQryjfJs.mjs → index-FlTg80Pk.mjs} +11 -11
- package/dist/chunks/{index-DQryjfJs.mjs.map → index-FlTg80Pk.mjs.map} +1 -1
- package/dist/chunks/{index-BigJ0z6n.mjs → index-pxbbDHVH.mjs} +6 -6
- package/dist/chunks/{index-BigJ0z6n.mjs.map → index-pxbbDHVH.mjs.map} +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/notectl-core.mjs +813 -790
- package/dist/notectl-core.mjs.map +1 -1
- package/dist/notectl-core.umd.js +4685 -4652
- package/dist/notectl-core.umd.js.map +1 -1
- package/dist/plugins/alignment.mjs +3 -3
- package/dist/plugins/blockquote.mjs +2 -2
- package/dist/plugins/code-block.mjs +3 -3
- package/dist/plugins/font-size.mjs +2 -2
- package/dist/plugins/font.mjs +2 -2
- package/dist/plugins/heading.mjs +2 -2
- package/dist/plugins/highlight.mjs +2 -2
- package/dist/plugins/horizontal-rule.mjs +2 -2
- package/dist/plugins/image.mjs +3 -3
- package/dist/plugins/link.mjs +2 -2
- package/dist/plugins/list.mjs +2 -2
- package/dist/plugins/strikethrough.mjs +2 -2
- package/dist/plugins/super-sub.mjs +2 -2
- package/dist/plugins/table.mjs +10 -10
- package/dist/plugins/text-color.mjs +2 -2
- package/dist/presets/FullPreset.d.ts +16 -0
- package/dist/presets/FullPreset.d.ts.map +1 -0
- package/dist/presets/MinimalPreset.d.ts +7 -0
- package/dist/presets/MinimalPreset.d.ts.map +1 -0
- package/dist/presets/PresetTypes.d.ts +50 -0
- package/dist/presets/PresetTypes.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -91,10 +91,10 @@ function h(t2) {
|
|
|
91
91
|
return t2.charAt(0).toUpperCase() + t2.slice(1);
|
|
92
92
|
}
|
|
93
93
|
export {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
g as A,
|
|
95
|
+
r as a,
|
|
96
|
+
s as b,
|
|
97
|
+
a as c,
|
|
98
|
+
l as d
|
|
99
99
|
};
|
|
100
|
-
//# sourceMappingURL=index-
|
|
100
|
+
//# sourceMappingURL=index-pxbbDHVH.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-BigJ0z6n.mjs","sources":["../../src/plugins/alignment/AlignmentLocale.ts","../../src/plugins/alignment/AlignmentPlugin.ts"],"sourcesContent":["/** Locale interface and default English locale for the AlignmentPlugin. */\n\nexport interface AlignmentLocale {\n\treadonly alignLeft: string;\n\treadonly alignCenter: string;\n\treadonly alignRight: string;\n\treadonly justify: string;\n\treadonly toolbarLabel: string;\n\treadonly toolbarTooltip: string;\n}\n\n// --- Default English Locale ---\n\nexport const ALIGNMENT_LOCALE_EN: AlignmentLocale = {\n\talignLeft: 'Align Left',\n\talignCenter: 'Align Center',\n\talignRight: 'Align Right',\n\tjustify: 'Justify',\n\ttoolbarLabel: 'Alignment',\n\ttoolbarTooltip: 'Alignment',\n};\n\n// --- German Locale ---\n\nexport const ALIGNMENT_LOCALE_DE: AlignmentLocale = {\n\talignLeft: 'Linksbündig',\n\talignCenter: 'Zentriert',\n\talignRight: 'Rechtsbündig',\n\tjustify: 'Blocksatz',\n\ttoolbarLabel: 'Ausrichtung',\n\ttoolbarTooltip: 'Ausrichtung',\n};\n\n// --- Spanish Locale ---\n\nexport const ALIGNMENT_LOCALE_ES: AlignmentLocale = {\n\talignLeft: 'Alinear a la izquierda',\n\talignCenter: 'Centrar',\n\talignRight: 'Alinear a la derecha',\n\tjustify: 'Justificar',\n\ttoolbarLabel: 'Alineación',\n\ttoolbarTooltip: 'Alineación',\n};\n\n// --- French Locale ---\n\nexport const ALIGNMENT_LOCALE_FR: AlignmentLocale = {\n\talignLeft: 'Aligner à gauche',\n\talignCenter: 'Centrer',\n\talignRight: 'Aligner à droite',\n\tjustify: 'Justifier',\n\ttoolbarLabel: 'Alignement',\n\ttoolbarTooltip: 'Alignement',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const ALIGNMENT_LOCALE_ZH: AlignmentLocale = {\n\talignLeft: '左对齐',\n\talignCenter: '居中',\n\talignRight: '右对齐',\n\tjustify: '两端对齐',\n\ttoolbarLabel: '对齐',\n\ttoolbarTooltip: '对齐',\n};\n\n// --- Russian Locale ---\n\nexport const ALIGNMENT_LOCALE_RU: AlignmentLocale = {\n\talignLeft: 'По левому краю',\n\talignCenter: 'По центру',\n\talignRight: 'По правому краю',\n\tjustify: 'По ширине',\n\ttoolbarLabel: 'Выравнивание',\n\ttoolbarTooltip: 'Выравнивание',\n};\n\n// --- Arabic Locale ---\n\nexport const ALIGNMENT_LOCALE_AR: AlignmentLocale = {\n\talignLeft: 'محاذاة لليسار',\n\talignCenter: 'توسيط',\n\talignRight: 'محاذاة لليمين',\n\tjustify: 'ضبط',\n\ttoolbarLabel: 'المحاذاة',\n\ttoolbarTooltip: 'المحاذاة',\n};\n\n// --- Hindi Locale ---\n\nexport const ALIGNMENT_LOCALE_HI: AlignmentLocale = {\n\talignLeft: 'बाएँ संरेखित करें',\n\talignCenter: 'केंद्र में',\n\talignRight: 'दाएँ संरेखित करें',\n\tjustify: 'समायोजित करें',\n\ttoolbarLabel: 'संरेखण',\n\ttoolbarTooltip: 'संरेखण',\n};\n\n// --- Locale Map ---\n\nexport const ALIGNMENT_LOCALES: Record<string, AlignmentLocale> = {\n\ten: ALIGNMENT_LOCALE_EN,\n\tde: ALIGNMENT_LOCALE_DE,\n\tes: ALIGNMENT_LOCALE_ES,\n\tfr: ALIGNMENT_LOCALE_FR,\n\tzh: ALIGNMENT_LOCALE_ZH,\n\tru: ALIGNMENT_LOCALE_RU,\n\tar: ALIGNMENT_LOCALE_AR,\n\thi: ALIGNMENT_LOCALE_HI,\n};\n","/**\n * AlignmentPlugin: adds left/center/right/justify alignment as a block\n * attribute on paragraphs, headings, images, and other alignable types.\n * Patches their NodeSpecs to render the `align` attribute via inline\n * `text-align` style and provides toggle commands, keyboard shortcuts,\n * and a toolbar dropdown. Handles both TextSelection and NodeSelection.\n */\n\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport type { BlockNode } from '../../model/Document.js';\nimport { findNodePath } from '../../model/NodeResolver.js';\nimport { isNodeSelection, isTextSelection } from '../../model/Selection.js';\nimport type { BlockId } from '../../model/TypeBrands.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { ALIGNMENT_LOCALES, type AlignmentLocale } from './AlignmentLocale.js';\n\n// --- Public Types ---\n\nexport type BlockAlignment = 'left' | 'center' | 'right' | 'justify';\n\nexport interface AlignmentConfig {\n\t/** Which alignments to expose. Defaults to all four. */\n\treadonly alignments: readonly BlockAlignment[];\n\t/** Block types that support alignment. Defaults to paragraph + heading + title + subtitle + table_cell + image. */\n\treadonly alignableTypes: readonly string[];\n\t/** Per-type default alignment (e.g. `{ image: 'center' }`). Falls back to `'left'`. */\n\treadonly defaults: Readonly<Record<string, BlockAlignment>>;\n\t/** When true, a separator is rendered after the toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: AlignmentLocale;\n}\n\n// --- Constants ---\n\nconst DEFAULT_CONFIG: AlignmentConfig = {\n\talignments: ['left', 'center', 'right', 'justify'],\n\talignableTypes: ['paragraph', 'heading', 'title', 'subtitle', 'table_cell', 'image'],\n\tdefaults: { image: 'center' },\n};\n\nexport const ALIGNMENT_ICONS: Readonly<Record<BlockAlignment, string>> = {\n\tleft: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z\"/></svg>',\n\tcenter:\n\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z\"/></svg>',\n\tright:\n\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z\"/></svg>',\n\tjustify:\n\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zM3 3v2h18V3H3z\"/></svg>',\n};\n\n// --- Plugin ---\n\nexport class AlignmentPlugin implements Plugin {\n\treadonly id = 'alignment';\n\treadonly name = 'Alignment';\n\treadonly priority = 90;\n\n\tprivate readonly config: AlignmentConfig;\n\tprivate locale!: AlignmentLocale;\n\tprivate alignableTypes!: ReadonlySet<string>;\n\n\tconstructor(config?: Partial<AlignmentConfig>) {\n\t\tthis.config = {\n\t\t\t...DEFAULT_CONFIG,\n\t\t\t...config,\n\t\t\tdefaults: { ...DEFAULT_CONFIG.defaults, ...config?.defaults },\n\t\t};\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(ALIGNMENT_LOCALES, context, this.config.locale);\n\n\t\tthis.alignableTypes = new Set(this.config.alignableTypes);\n\t\tthis.patchNodeSpecs(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerKeymaps(context);\n\t\tthis.registerToolbarItem(context);\n\t\tthis.registerMiddleware(context);\n\t}\n\n\t// --- NodeSpec Patching ---\n\n\t/**\n\t * Patches existing NodeSpecs for alignable block types to support the\n\t * `align` attribute and render it as an inline style. Skips types\n\t * that already define an `align` attribute in their spec.\n\t */\n\tprivate patchNodeSpecs(context: PluginContext): void {\n\t\tconst registry = context.getSchemaRegistry();\n\n\t\tfor (const type of this.config.alignableTypes) {\n\t\t\tconst spec = registry.getNodeSpec(type);\n\t\t\tif (!spec) continue;\n\n\t\t\t// Skip types that already declare an `align` attr (e.g. image)\n\t\t\tif (spec.attrs?.align) continue;\n\n\t\t\tconst originalToDOM = spec.toDOM;\n\t\t\tconst defaultAlign: BlockAlignment = this.config.defaults[type] ?? 'left';\n\n\t\t\tregistry.removeNodeSpec(type);\n\t\t\tregistry.registerNodeSpec({\n\t\t\t\t...spec,\n\t\t\t\tattrs: {\n\t\t\t\t\t...spec.attrs,\n\t\t\t\t\talign: { default: defaultAlign },\n\t\t\t\t},\n\t\t\t\ttoDOM(node) {\n\t\t\t\t\tconst el = originalToDOM.call(spec, node);\n\t\t\t\t\tapplyAlignment(el, node);\n\t\t\t\t\treturn el;\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\t// --- Commands ---\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tfor (const alignment of this.config.alignments) {\n\t\t\tcontext.registerCommand(`align${capitalize(alignment)}`, () => {\n\t\t\t\treturn this.setAlignment(context, alignment);\n\t\t\t});\n\t\t}\n\t}\n\n\t// --- Keymaps ---\n\n\tprivate registerKeymaps(context: PluginContext): void {\n\t\tconst bindings: Record<string, () => boolean> = {};\n\n\t\tif (this.config.alignments.includes('left')) {\n\t\t\tbindings['Mod-Shift-L'] = () => context.executeCommand('alignLeft');\n\t\t}\n\t\tif (this.config.alignments.includes('center')) {\n\t\t\tbindings['Mod-Shift-E'] = () => context.executeCommand('alignCenter');\n\t\t}\n\t\tif (this.config.alignments.includes('right')) {\n\t\t\tbindings['Mod-Shift-R'] = () => context.executeCommand('alignRight');\n\t\t}\n\t\tif (this.config.alignments.includes('justify')) {\n\t\t\tbindings['Mod-Shift-J'] = () => context.executeCommand('alignJustify');\n\t\t}\n\n\t\tif (Object.keys(bindings).length > 0) {\n\t\t\tcontext.registerKeymap(bindings);\n\t\t}\n\t}\n\n\t// --- Toolbar ---\n\n\tprivate registerToolbarItem(context: PluginContext): void {\n\t\tconst dropdownItems = this.config.alignments.map((alignment) => ({\n\t\t\tlabel: this.getAlignmentLabel(alignment),\n\t\t\tcommand: `align${capitalize(alignment)}`,\n\t\t\ticon: ALIGNMENT_ICONS[alignment],\n\t\t}));\n\n\t\tcontext.registerToolbarItem({\n\t\t\tid: 'alignment',\n\t\t\tgroup: 'block',\n\t\t\ticon: ALIGNMENT_ICONS.left,\n\t\t\tlabel: this.locale.toolbarLabel,\n\t\t\ttooltip: this.locale.toolbarTooltip,\n\t\t\tcommand: 'alignLeft',\n\t\t\tpriority: 60,\n\t\t\tpopupType: 'dropdown',\n\t\t\tpopupConfig: { items: dropdownItems },\n\t\t\tseparatorAfter: this.config.separatorAfter,\n\t\t\tisActive: (state) => this.isNonDefaultAlignment(state),\n\t\t\tisEnabled: (state) => this.isAlignable(state),\n\t\t});\n\t}\n\n\tprivate getAlignmentLabel(alignment: BlockAlignment): string {\n\t\tconst labels: Record<BlockAlignment, string> = {\n\t\t\tleft: this.locale.alignLeft,\n\t\t\tcenter: this.locale.alignCenter,\n\t\t\tright: this.locale.alignRight,\n\t\t\tjustify: this.locale.justify,\n\t\t};\n\t\treturn labels[alignment];\n\t}\n\n\t// --- Middleware ---\n\n\t/**\n\t * Preserves the `align` attribute when other plugins change the block\n\t * type (e.g. paragraph → heading) via `setBlockType`, which replaces attrs.\n\t */\n\tprivate registerMiddleware(context: PluginContext): void {\n\t\tcontext.registerMiddleware(\n\t\t\t(tr, _state, next) => {\n\t\t\t\tlet patched = false;\n\n\t\t\t\tconst patchedSteps = tr.steps.map((step) => {\n\t\t\t\t\tif (step.type !== 'setBlockType') return step;\n\t\t\t\t\tif (!this.alignableTypes.has(step.nodeType)) return step;\n\n\t\t\t\t\tconst prevAlign = step.previousAttrs?.align;\n\t\t\t\t\tif (!prevAlign || prevAlign === 'left') return step;\n\n\t\t\t\t\t// Carry forward align into new attrs\n\t\t\t\t\tpatched = true;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...step,\n\t\t\t\t\t\tattrs: { ...step.attrs, align: prevAlign },\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\tnext(patched ? { ...tr, steps: patchedSteps } : tr);\n\t\t\t},\n\t\t\t{ name: 'alignment:preserve-align' },\n\t\t);\n\t}\n\n\t// --- Alignment Logic ---\n\n\t/**\n\t * Gets the selected block, handling both TextSelection and NodeSelection.\n\t */\n\tprivate getSelectedBlock(state: EditorState): BlockNode | undefined {\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel)) {\n\t\t\treturn state.getBlock(sel.nodeId);\n\t\t}\n\t\tif (isTextSelection(sel)) {\n\t\t\treturn state.getBlock(sel.anchor.blockId);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Gets the block ID of the selected block, handling both selection types.\n\t */\n\tprivate getSelectedBlockId(state: EditorState): BlockId | undefined {\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel)) return sel.nodeId;\n\t\tif (isTextSelection(sel)) return sel.anchor.blockId;\n\t\treturn undefined;\n\t}\n\n\tprivate setAlignment(context: PluginContext, alignment: BlockAlignment): boolean {\n\t\tconst state = context.getState();\n\t\tconst block = this.getSelectedBlock(state);\n\t\tif (!block || !this.alignableTypes.has(block.type)) return false;\n\n\t\tconst blockId = this.getSelectedBlockId(state);\n\t\tif (!blockId) return false;\n\n\t\tconst path = findNodePath(state.doc, blockId);\n\t\tif (!path) return false;\n\n\t\tconst newAttrs = { ...block.attrs, align: alignment };\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setNodeAttr(path as BlockId[], newAttrs)\n\t\t\t.setSelection(state.selection)\n\t\t\t.build();\n\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\tprivate isNonDefaultAlignment(state: EditorState): boolean {\n\t\tconst block = this.getSelectedBlock(state);\n\t\tif (!block || !this.alignableTypes.has(block.type)) return false;\n\t\tconst align = block.attrs?.align;\n\t\tconst defaultAlign: BlockAlignment = this.config.defaults[block.type] ?? 'left';\n\t\treturn align != null && align !== defaultAlign;\n\t}\n\n\tprivate isAlignable(state: EditorState): boolean {\n\t\tconst block = this.getSelectedBlock(state);\n\t\treturn block != null && this.alignableTypes.has(block.type);\n\t}\n}\n\n// --- Helpers ---\n\nfunction applyAlignment(el: HTMLElement, node: BlockNode): void {\n\tconst align = node.attrs?.align;\n\tif (typeof align === 'string' && align !== 'left') {\n\t\tel.style.textAlign = align;\n\t}\n}\n\nfunction capitalize(s: string): string {\n\treturn s.charAt(0).toUpperCase() + s.slice(1);\n}\n"],"names":["ALIGNMENT_LOCALE_EN","alignLeft","alignCenter","alignRight","justify","toolbarLabel","toolbarTooltip","ALIGNMENT_LOCALE_DE","ALIGNMENT_LOCALES","en","de","es","fr","zh","ru","ar","hi","DEFAULT_CONFIG","alignments","alignableTypes","defaults","image","ALIGNMENT_ICONS","left","center","right","AlignmentPlugin","id","name","priority","config","locale","this","context","resolvePluginLocale","Set","patchNodeSpecs","registerCommands","registerKeymaps","registerToolbarItem","registerMiddleware","registry","getSchemaRegistry","type","spec","getNodeSpec","attrs","align","originalToDOM","toDOM","defaultAlign","removeNodeSpec","registerNodeSpec","default","node","el","call","applyAlignment","alignment","registerCommand","capitalize","setAlignment","bindings","includes","executeCommand","Object","keys","length","registerKeymap","dropdownItems","map","label","getAlignmentLabel","command","icon","group","tooltip","popupType","popupConfig","items","separatorAfter","isActive","state","isNonDefaultAlignment","isEnabled","isAlignable","tr","_state","next","patched","patchedSteps","steps","step","has","nodeType","prevAlign","previousAttrs","sel","selection","isNodeSelection","getBlock","nodeId","isTextSelection","anchor","blockId","getState","block","getSelectedBlock","getSelectedBlockId","path","findNodePath","doc","newAttrs","transaction","setNodeAttr","setSelection","build","dispatch","style","textAlign","s","charAt","toUpperCase","slice"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-pxbbDHVH.mjs","sources":["../../src/plugins/alignment/AlignmentLocale.ts","../../src/plugins/alignment/AlignmentPlugin.ts"],"sourcesContent":["/** Locale interface and default English locale for the AlignmentPlugin. */\n\nexport interface AlignmentLocale {\n\treadonly alignLeft: string;\n\treadonly alignCenter: string;\n\treadonly alignRight: string;\n\treadonly justify: string;\n\treadonly toolbarLabel: string;\n\treadonly toolbarTooltip: string;\n}\n\n// --- Default English Locale ---\n\nexport const ALIGNMENT_LOCALE_EN: AlignmentLocale = {\n\talignLeft: 'Align Left',\n\talignCenter: 'Align Center',\n\talignRight: 'Align Right',\n\tjustify: 'Justify',\n\ttoolbarLabel: 'Alignment',\n\ttoolbarTooltip: 'Alignment',\n};\n\n// --- German Locale ---\n\nexport const ALIGNMENT_LOCALE_DE: AlignmentLocale = {\n\talignLeft: 'Linksbündig',\n\talignCenter: 'Zentriert',\n\talignRight: 'Rechtsbündig',\n\tjustify: 'Blocksatz',\n\ttoolbarLabel: 'Ausrichtung',\n\ttoolbarTooltip: 'Ausrichtung',\n};\n\n// --- Spanish Locale ---\n\nexport const ALIGNMENT_LOCALE_ES: AlignmentLocale = {\n\talignLeft: 'Alinear a la izquierda',\n\talignCenter: 'Centrar',\n\talignRight: 'Alinear a la derecha',\n\tjustify: 'Justificar',\n\ttoolbarLabel: 'Alineación',\n\ttoolbarTooltip: 'Alineación',\n};\n\n// --- French Locale ---\n\nexport const ALIGNMENT_LOCALE_FR: AlignmentLocale = {\n\talignLeft: 'Aligner à gauche',\n\talignCenter: 'Centrer',\n\talignRight: 'Aligner à droite',\n\tjustify: 'Justifier',\n\ttoolbarLabel: 'Alignement',\n\ttoolbarTooltip: 'Alignement',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const ALIGNMENT_LOCALE_ZH: AlignmentLocale = {\n\talignLeft: '左对齐',\n\talignCenter: '居中',\n\talignRight: '右对齐',\n\tjustify: '两端对齐',\n\ttoolbarLabel: '对齐',\n\ttoolbarTooltip: '对齐',\n};\n\n// --- Russian Locale ---\n\nexport const ALIGNMENT_LOCALE_RU: AlignmentLocale = {\n\talignLeft: 'По левому краю',\n\talignCenter: 'По центру',\n\talignRight: 'По правому краю',\n\tjustify: 'По ширине',\n\ttoolbarLabel: 'Выравнивание',\n\ttoolbarTooltip: 'Выравнивание',\n};\n\n// --- Arabic Locale ---\n\nexport const ALIGNMENT_LOCALE_AR: AlignmentLocale = {\n\talignLeft: 'محاذاة لليسار',\n\talignCenter: 'توسيط',\n\talignRight: 'محاذاة لليمين',\n\tjustify: 'ضبط',\n\ttoolbarLabel: 'المحاذاة',\n\ttoolbarTooltip: 'المحاذاة',\n};\n\n// --- Hindi Locale ---\n\nexport const ALIGNMENT_LOCALE_HI: AlignmentLocale = {\n\talignLeft: 'बाएँ संरेखित करें',\n\talignCenter: 'केंद्र में',\n\talignRight: 'दाएँ संरेखित करें',\n\tjustify: 'समायोजित करें',\n\ttoolbarLabel: 'संरेखण',\n\ttoolbarTooltip: 'संरेखण',\n};\n\n// --- Locale Map ---\n\nexport const ALIGNMENT_LOCALES: Record<string, AlignmentLocale> = {\n\ten: ALIGNMENT_LOCALE_EN,\n\tde: ALIGNMENT_LOCALE_DE,\n\tes: ALIGNMENT_LOCALE_ES,\n\tfr: ALIGNMENT_LOCALE_FR,\n\tzh: ALIGNMENT_LOCALE_ZH,\n\tru: ALIGNMENT_LOCALE_RU,\n\tar: ALIGNMENT_LOCALE_AR,\n\thi: ALIGNMENT_LOCALE_HI,\n};\n","/**\n * AlignmentPlugin: adds left/center/right/justify alignment as a block\n * attribute on paragraphs, headings, images, and other alignable types.\n * Patches their NodeSpecs to render the `align` attribute via inline\n * `text-align` style and provides toggle commands, keyboard shortcuts,\n * and a toolbar dropdown. Handles both TextSelection and NodeSelection.\n */\n\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport type { BlockNode } from '../../model/Document.js';\nimport { findNodePath } from '../../model/NodeResolver.js';\nimport { isNodeSelection, isTextSelection } from '../../model/Selection.js';\nimport type { BlockId } from '../../model/TypeBrands.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { ALIGNMENT_LOCALES, type AlignmentLocale } from './AlignmentLocale.js';\n\n// --- Public Types ---\n\nexport type BlockAlignment = 'left' | 'center' | 'right' | 'justify';\n\nexport interface AlignmentConfig {\n\t/** Which alignments to expose. Defaults to all four. */\n\treadonly alignments: readonly BlockAlignment[];\n\t/** Block types that support alignment. Defaults to paragraph + heading + title + subtitle + table_cell + image. */\n\treadonly alignableTypes: readonly string[];\n\t/** Per-type default alignment (e.g. `{ image: 'center' }`). Falls back to `'left'`. */\n\treadonly defaults: Readonly<Record<string, BlockAlignment>>;\n\t/** When true, a separator is rendered after the toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: AlignmentLocale;\n}\n\n// --- Constants ---\n\nconst DEFAULT_CONFIG: AlignmentConfig = {\n\talignments: ['left', 'center', 'right', 'justify'],\n\talignableTypes: ['paragraph', 'heading', 'title', 'subtitle', 'table_cell', 'image'],\n\tdefaults: { image: 'center' },\n};\n\nexport const ALIGNMENT_ICONS: Readonly<Record<BlockAlignment, string>> = {\n\tleft: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z\"/></svg>',\n\tcenter:\n\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z\"/></svg>',\n\tright:\n\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z\"/></svg>',\n\tjustify:\n\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zM3 3v2h18V3H3z\"/></svg>',\n};\n\n// --- Plugin ---\n\nexport class AlignmentPlugin implements Plugin {\n\treadonly id = 'alignment';\n\treadonly name = 'Alignment';\n\treadonly priority = 90;\n\n\tprivate readonly config: AlignmentConfig;\n\tprivate locale!: AlignmentLocale;\n\tprivate alignableTypes!: ReadonlySet<string>;\n\n\tconstructor(config?: Partial<AlignmentConfig>) {\n\t\tthis.config = {\n\t\t\t...DEFAULT_CONFIG,\n\t\t\t...config,\n\t\t\tdefaults: { ...DEFAULT_CONFIG.defaults, ...config?.defaults },\n\t\t};\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(ALIGNMENT_LOCALES, context, this.config.locale);\n\n\t\tthis.alignableTypes = new Set(this.config.alignableTypes);\n\t\tthis.patchNodeSpecs(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerKeymaps(context);\n\t\tthis.registerToolbarItem(context);\n\t\tthis.registerMiddleware(context);\n\t}\n\n\t// --- NodeSpec Patching ---\n\n\t/**\n\t * Patches existing NodeSpecs for alignable block types to support the\n\t * `align` attribute and render it as an inline style. Skips types\n\t * that already define an `align` attribute in their spec.\n\t */\n\tprivate patchNodeSpecs(context: PluginContext): void {\n\t\tconst registry = context.getSchemaRegistry();\n\n\t\tfor (const type of this.config.alignableTypes) {\n\t\t\tconst spec = registry.getNodeSpec(type);\n\t\t\tif (!spec) continue;\n\n\t\t\t// Skip types that already declare an `align` attr (e.g. image)\n\t\t\tif (spec.attrs?.align) continue;\n\n\t\t\tconst originalToDOM = spec.toDOM;\n\t\t\tconst defaultAlign: BlockAlignment = this.config.defaults[type] ?? 'left';\n\n\t\t\tregistry.removeNodeSpec(type);\n\t\t\tregistry.registerNodeSpec({\n\t\t\t\t...spec,\n\t\t\t\tattrs: {\n\t\t\t\t\t...spec.attrs,\n\t\t\t\t\talign: { default: defaultAlign },\n\t\t\t\t},\n\t\t\t\ttoDOM(node) {\n\t\t\t\t\tconst el = originalToDOM.call(spec, node);\n\t\t\t\t\tapplyAlignment(el, node);\n\t\t\t\t\treturn el;\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\t// --- Commands ---\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tfor (const alignment of this.config.alignments) {\n\t\t\tcontext.registerCommand(`align${capitalize(alignment)}`, () => {\n\t\t\t\treturn this.setAlignment(context, alignment);\n\t\t\t});\n\t\t}\n\t}\n\n\t// --- Keymaps ---\n\n\tprivate registerKeymaps(context: PluginContext): void {\n\t\tconst bindings: Record<string, () => boolean> = {};\n\n\t\tif (this.config.alignments.includes('left')) {\n\t\t\tbindings['Mod-Shift-L'] = () => context.executeCommand('alignLeft');\n\t\t}\n\t\tif (this.config.alignments.includes('center')) {\n\t\t\tbindings['Mod-Shift-E'] = () => context.executeCommand('alignCenter');\n\t\t}\n\t\tif (this.config.alignments.includes('right')) {\n\t\t\tbindings['Mod-Shift-R'] = () => context.executeCommand('alignRight');\n\t\t}\n\t\tif (this.config.alignments.includes('justify')) {\n\t\t\tbindings['Mod-Shift-J'] = () => context.executeCommand('alignJustify');\n\t\t}\n\n\t\tif (Object.keys(bindings).length > 0) {\n\t\t\tcontext.registerKeymap(bindings);\n\t\t}\n\t}\n\n\t// --- Toolbar ---\n\n\tprivate registerToolbarItem(context: PluginContext): void {\n\t\tconst dropdownItems = this.config.alignments.map((alignment) => ({\n\t\t\tlabel: this.getAlignmentLabel(alignment),\n\t\t\tcommand: `align${capitalize(alignment)}`,\n\t\t\ticon: ALIGNMENT_ICONS[alignment],\n\t\t}));\n\n\t\tcontext.registerToolbarItem({\n\t\t\tid: 'alignment',\n\t\t\tgroup: 'block',\n\t\t\ticon: ALIGNMENT_ICONS.left,\n\t\t\tlabel: this.locale.toolbarLabel,\n\t\t\ttooltip: this.locale.toolbarTooltip,\n\t\t\tcommand: 'alignLeft',\n\t\t\tpriority: 60,\n\t\t\tpopupType: 'dropdown',\n\t\t\tpopupConfig: { items: dropdownItems },\n\t\t\tseparatorAfter: this.config.separatorAfter,\n\t\t\tisActive: (state) => this.isNonDefaultAlignment(state),\n\t\t\tisEnabled: (state) => this.isAlignable(state),\n\t\t});\n\t}\n\n\tprivate getAlignmentLabel(alignment: BlockAlignment): string {\n\t\tconst labels: Record<BlockAlignment, string> = {\n\t\t\tleft: this.locale.alignLeft,\n\t\t\tcenter: this.locale.alignCenter,\n\t\t\tright: this.locale.alignRight,\n\t\t\tjustify: this.locale.justify,\n\t\t};\n\t\treturn labels[alignment];\n\t}\n\n\t// --- Middleware ---\n\n\t/**\n\t * Preserves the `align` attribute when other plugins change the block\n\t * type (e.g. paragraph → heading) via `setBlockType`, which replaces attrs.\n\t */\n\tprivate registerMiddleware(context: PluginContext): void {\n\t\tcontext.registerMiddleware(\n\t\t\t(tr, _state, next) => {\n\t\t\t\tlet patched = false;\n\n\t\t\t\tconst patchedSteps = tr.steps.map((step) => {\n\t\t\t\t\tif (step.type !== 'setBlockType') return step;\n\t\t\t\t\tif (!this.alignableTypes.has(step.nodeType)) return step;\n\n\t\t\t\t\tconst prevAlign = step.previousAttrs?.align;\n\t\t\t\t\tif (!prevAlign || prevAlign === 'left') return step;\n\n\t\t\t\t\t// Carry forward align into new attrs\n\t\t\t\t\tpatched = true;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...step,\n\t\t\t\t\t\tattrs: { ...step.attrs, align: prevAlign },\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\tnext(patched ? { ...tr, steps: patchedSteps } : tr);\n\t\t\t},\n\t\t\t{ name: 'alignment:preserve-align' },\n\t\t);\n\t}\n\n\t// --- Alignment Logic ---\n\n\t/**\n\t * Gets the selected block, handling both TextSelection and NodeSelection.\n\t */\n\tprivate getSelectedBlock(state: EditorState): BlockNode | undefined {\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel)) {\n\t\t\treturn state.getBlock(sel.nodeId);\n\t\t}\n\t\tif (isTextSelection(sel)) {\n\t\t\treturn state.getBlock(sel.anchor.blockId);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Gets the block ID of the selected block, handling both selection types.\n\t */\n\tprivate getSelectedBlockId(state: EditorState): BlockId | undefined {\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel)) return sel.nodeId;\n\t\tif (isTextSelection(sel)) return sel.anchor.blockId;\n\t\treturn undefined;\n\t}\n\n\tprivate setAlignment(context: PluginContext, alignment: BlockAlignment): boolean {\n\t\tconst state = context.getState();\n\t\tconst block = this.getSelectedBlock(state);\n\t\tif (!block || !this.alignableTypes.has(block.type)) return false;\n\n\t\tconst blockId = this.getSelectedBlockId(state);\n\t\tif (!blockId) return false;\n\n\t\tconst path = findNodePath(state.doc, blockId);\n\t\tif (!path) return false;\n\n\t\tconst newAttrs = { ...block.attrs, align: alignment };\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setNodeAttr(path as BlockId[], newAttrs)\n\t\t\t.setSelection(state.selection)\n\t\t\t.build();\n\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\tprivate isNonDefaultAlignment(state: EditorState): boolean {\n\t\tconst block = this.getSelectedBlock(state);\n\t\tif (!block || !this.alignableTypes.has(block.type)) return false;\n\t\tconst align = block.attrs?.align;\n\t\tconst defaultAlign: BlockAlignment = this.config.defaults[block.type] ?? 'left';\n\t\treturn align != null && align !== defaultAlign;\n\t}\n\n\tprivate isAlignable(state: EditorState): boolean {\n\t\tconst block = this.getSelectedBlock(state);\n\t\treturn block != null && this.alignableTypes.has(block.type);\n\t}\n}\n\n// --- Helpers ---\n\nfunction applyAlignment(el: HTMLElement, node: BlockNode): void {\n\tconst align = node.attrs?.align;\n\tif (typeof align === 'string' && align !== 'left') {\n\t\tel.style.textAlign = align;\n\t}\n}\n\nfunction capitalize(s: string): string {\n\treturn s.charAt(0).toUpperCase() + s.slice(1);\n}\n"],"names":["ALIGNMENT_LOCALE_EN","alignLeft","alignCenter","alignRight","justify","toolbarLabel","toolbarTooltip","ALIGNMENT_LOCALE_DE","ALIGNMENT_LOCALES","en","de","es","fr","zh","ru","ar","hi","DEFAULT_CONFIG","alignments","alignableTypes","defaults","image","ALIGNMENT_ICONS","left","center","right","AlignmentPlugin","id","name","priority","config","locale","this","context","resolvePluginLocale","Set","patchNodeSpecs","registerCommands","registerKeymaps","registerToolbarItem","registerMiddleware","registry","getSchemaRegistry","type","spec","getNodeSpec","attrs","align","originalToDOM","toDOM","defaultAlign","removeNodeSpec","registerNodeSpec","default","node","el","call","applyAlignment","alignment","registerCommand","capitalize","setAlignment","bindings","includes","executeCommand","Object","keys","length","registerKeymap","dropdownItems","map","label","getAlignmentLabel","command","icon","group","tooltip","popupType","popupConfig","items","separatorAfter","isActive","state","isNonDefaultAlignment","isEnabled","isAlignable","tr","_state","next","patched","patchedSteps","steps","step","has","nodeType","prevAlign","previousAttrs","sel","selection","isNodeSelection","getBlock","nodeId","isTextSelection","anchor","blockId","getState","block","getSelectedBlock","getSelectedBlockId","path","findNodePath","doc","newAttrs","transaction","setNodeAttr","setSelection","build","dispatch","style","textAlign","s","charAt","toUpperCase","slice"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -143,4 +143,7 @@ export { TABLE_LOCALES } from './plugins/table/TableLocale.js';
|
|
|
143
143
|
export { getBlockTypeLabel } from './editor/Announcer.js';
|
|
144
144
|
export type { NotectlEditorConfig, ToolbarConfig, StateChangeEvent, } from './editor/NotectlEditor.js';
|
|
145
145
|
export { NotectlEditor, createEditor } from './editor/NotectlEditor.js';
|
|
146
|
+
export type { PresetConfig, MinimalPresetOptions, FullPresetOptions, } from './presets/PresetTypes.js';
|
|
147
|
+
export { createMinimalPreset } from './presets/MinimalPreset.js';
|
|
148
|
+
export { createFullPreset } from './presets/FullPreset.js';
|
|
146
149
|
//# 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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"}
|