@notectl/core 1.7.0 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +2 -2
  2. package/dist/chunks/{AttrRegistry-I-VdmRnN.mjs → AttrRegistry-D9Jx_RVb.mjs} +2 -2
  3. package/dist/chunks/{AttrRegistry-I-VdmRnN.mjs.map → AttrRegistry-D9Jx_RVb.mjs.map} +1 -1
  4. package/dist/chunks/AttributedMarkCommands-BtLea72z.mjs +80 -0
  5. package/dist/chunks/AttributedMarkCommands-BtLea72z.mjs.map +1 -0
  6. package/dist/chunks/{CaretNavigation-CAJXoaae.mjs → CaretNavigation-7JYpIKbs.mjs} +56 -56
  7. package/dist/chunks/{CaretNavigation-CAJXoaae.mjs.map → CaretNavigation-7JYpIKbs.mjs.map} +1 -1
  8. package/dist/chunks/ColorGrid-Dneqb8if.mjs +81 -0
  9. package/dist/chunks/ColorGrid-Dneqb8if.mjs.map +1 -0
  10. package/dist/chunks/ColorPickerPopup-CiCLBbe9.mjs +37 -0
  11. package/dist/chunks/ColorPickerPopup-CiCLBbe9.mjs.map +1 -0
  12. package/dist/chunks/ColorValidation-CV4f1wu6.mjs +39 -0
  13. package/dist/chunks/ColorValidation-CV4f1wu6.mjs.map +1 -0
  14. package/dist/chunks/{Document-CuwE73FF.mjs → Document-Brtw2jL1.mjs} +18 -18
  15. package/dist/chunks/{Document-CuwE73FF.mjs.map → Document-Brtw2jL1.mjs.map} +1 -1
  16. package/dist/chunks/MarkCommands-6RUJ4L3r.mjs +94 -0
  17. package/dist/chunks/MarkCommands-6RUJ4L3r.mjs.map +1 -0
  18. package/dist/chunks/{NavigationUtils-CyW0Vo8A.mjs → NavigationUtils-Cspt2ZrK.mjs} +3 -3
  19. package/dist/chunks/{NavigationUtils-CyW0Vo8A.mjs.map → NavigationUtils-Cspt2ZrK.mjs.map} +1 -1
  20. package/dist/chunks/{NodeResolver-B-wzthAQ.mjs → NodeResolver-C2XYkeOi.mjs} +2 -2
  21. package/dist/chunks/{NodeResolver-B-wzthAQ.mjs.map → NodeResolver-C2XYkeOi.mjs.map} +1 -1
  22. package/dist/chunks/PopupPositioning-BTT-_pQ3.mjs +32 -0
  23. package/dist/chunks/PopupPositioning-BTT-_pQ3.mjs.map +1 -0
  24. package/dist/chunks/RangeIterator-Bh4Vl_6D.mjs +16 -0
  25. package/dist/chunks/RangeIterator-Bh4Vl_6D.mjs.map +1 -0
  26. package/dist/chunks/{Selection-DmFDwiPJ.mjs → Selection-BRTab5hO.mjs} +7 -7
  27. package/dist/chunks/{Selection-DmFDwiPJ.mjs.map → Selection-BRTab5hO.mjs.map} +1 -1
  28. package/dist/chunks/StyleRuntime-ChRjVQwL.mjs +239 -0
  29. package/dist/chunks/StyleRuntime-ChRjVQwL.mjs.map +1 -0
  30. package/dist/chunks/ToolbarItem-BpZggUGo.mjs.map +1 -1
  31. package/dist/chunks/{ToolbarKeyboardNav-B32OMv8r.mjs → ToolbarKeyboardNav-DhpL8zNV.mjs} +3 -3
  32. package/dist/chunks/{ToolbarKeyboardNav-B32OMv8r.mjs.map → ToolbarKeyboardNav-DhpL8zNV.mjs.map} +1 -1
  33. package/dist/chunks/{ToolbarPlugin-B6JETWaw.mjs → ToolbarPlugin-DpLVJ71w.mjs} +348 -135
  34. package/dist/chunks/ToolbarPlugin-DpLVJ71w.mjs.map +1 -0
  35. package/dist/chunks/index--n1RGpq-.mjs +171 -0
  36. package/dist/chunks/index--n1RGpq-.mjs.map +1 -0
  37. package/dist/chunks/index-4or5UzNO.mjs +168 -0
  38. package/dist/chunks/index-4or5UzNO.mjs.map +1 -0
  39. package/dist/chunks/{index-pxbbDHVH.mjs → index-ABlTDvEX.mjs} +20 -19
  40. package/dist/chunks/index-ABlTDvEX.mjs.map +1 -0
  41. package/dist/chunks/{index--z_Txzej.mjs → index-BAke7kNL.mjs} +45 -45
  42. package/dist/chunks/{index--z_Txzej.mjs.map → index-BAke7kNL.mjs.map} +1 -1
  43. package/dist/chunks/{index-DMt3ojrY.mjs → index-BXtw5PNN.mjs} +2 -2
  44. package/dist/chunks/{index-DMt3ojrY.mjs.map → index-BXtw5PNN.mjs.map} +1 -1
  45. package/dist/chunks/{index-FlTg80Pk.mjs → index-BhDXjueu.mjs} +285 -325
  46. package/dist/chunks/index-BhDXjueu.mjs.map +1 -0
  47. package/dist/chunks/{index-D0s0Q8Wc.mjs → index-BqNUfq-y.mjs} +43 -35
  48. package/dist/chunks/index-BqNUfq-y.mjs.map +1 -0
  49. package/dist/chunks/{index-CflvcXSd.mjs → index-BvqkuEY1.mjs} +21 -17
  50. package/dist/chunks/index-BvqkuEY1.mjs.map +1 -0
  51. package/dist/chunks/{index-C9gc3Bws.mjs → index-C1opJocO.mjs} +32 -32
  52. package/dist/chunks/{index-C9gc3Bws.mjs.map → index-C1opJocO.mjs.map} +1 -1
  53. package/dist/chunks/index-CWltg1wK.mjs +124 -0
  54. package/dist/chunks/index-CWltg1wK.mjs.map +1 -0
  55. package/dist/chunks/{index-D8tbbW97.mjs → index-Cd3uJLP3.mjs} +2 -2
  56. package/dist/chunks/{index-D8tbbW97.mjs.map → index-Cd3uJLP3.mjs.map} +1 -1
  57. package/dist/chunks/{index-C0cEs7Jc.mjs → index-CluzpB2b.mjs} +10 -10
  58. package/dist/chunks/{index-C0cEs7Jc.mjs.map → index-CluzpB2b.mjs.map} +1 -1
  59. package/dist/chunks/{index-CoeD4T9-.mjs → index-D3NlpmT1.mjs} +15 -11
  60. package/dist/chunks/index-D3NlpmT1.mjs.map +1 -0
  61. package/dist/chunks/{index-CAV2N-fF.mjs → index-D515iymW.mjs} +75 -74
  62. package/dist/chunks/{index-CAV2N-fF.mjs.map → index-D515iymW.mjs.map} +1 -1
  63. package/dist/chunks/{index-B-NSeaM4.mjs → index-Dk49P9N4.mjs} +2 -2
  64. package/dist/chunks/{index-B-NSeaM4.mjs.map → index-Dk49P9N4.mjs.map} +1 -1
  65. package/dist/chunks/index-DyzigvbZ.mjs +410 -0
  66. package/dist/chunks/index-DyzigvbZ.mjs.map +1 -0
  67. package/dist/chunks/index-ErZ5_a1o.mjs +296 -0
  68. package/dist/chunks/index-ErZ5_a1o.mjs.map +1 -0
  69. package/dist/chunks/{index-CNs4QQ8l.mjs → index-fsVJLutn.mjs} +52 -64
  70. package/dist/chunks/index-fsVJLutn.mjs.map +1 -0
  71. package/dist/commands/AttributedMarkCommands.d.ts +46 -0
  72. package/dist/commands/AttributedMarkCommands.d.ts.map +1 -0
  73. package/dist/commands/CommandHelpers.d.ts +21 -0
  74. package/dist/commands/CommandHelpers.d.ts.map +1 -0
  75. package/dist/commands/Commands.d.ts +2 -8
  76. package/dist/commands/Commands.d.ts.map +1 -1
  77. package/dist/commands/DeleteCommands.d.ts.map +1 -1
  78. package/dist/commands/GapCursorCommands.d.ts.map +1 -1
  79. package/dist/commands/NodeSelectionCommands.d.ts.map +1 -1
  80. package/dist/commands/PasteCommand.d.ts.map +1 -1
  81. package/dist/commands/RangeIterator.d.ts +10 -0
  82. package/dist/commands/RangeIterator.d.ts.map +1 -0
  83. package/dist/editor/DocumentParser.d.ts.map +1 -1
  84. package/dist/editor/DocumentSerializer.d.ts +2 -0
  85. package/dist/editor/DocumentSerializer.d.ts.map +1 -1
  86. package/dist/editor/EditorThemeController.d.ts +3 -0
  87. package/dist/editor/EditorThemeController.d.ts.map +1 -1
  88. package/dist/editor/MarkSerializer.d.ts +11 -0
  89. package/dist/editor/MarkSerializer.d.ts.map +1 -0
  90. package/dist/editor/NotectlEditor.d.ts +19 -3
  91. package/dist/editor/NotectlEditor.d.ts.map +1 -1
  92. package/dist/editor/PaperLayoutController.d.ts +2 -0
  93. package/dist/editor/PaperLayoutController.d.ts.map +1 -1
  94. package/dist/editor/styles/font-select.d.ts +1 -1
  95. package/dist/editor/styles/font-select.d.ts.map +1 -1
  96. package/dist/editor/styles/font-size-select.d.ts +1 -1
  97. package/dist/editor/styles/font-size-select.d.ts.map +1 -1
  98. package/dist/editor/styles/heading-select.d.ts +1 -1
  99. package/dist/editor/styles/heading-select.d.ts.map +1 -1
  100. package/dist/editor/styles/toolbar.d.ts +1 -1
  101. package/dist/editor/styles/toolbar.d.ts.map +1 -1
  102. package/dist/index.d.ts +9 -2
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/input/ClipboardHandler.d.ts +0 -2
  105. package/dist/input/ClipboardHandler.d.ts.map +1 -1
  106. package/dist/input/LegacyHTMLNormalizer.d.ts.map +1 -1
  107. package/dist/model/MarkSpec.d.ts +6 -0
  108. package/dist/model/MarkSpec.d.ts.map +1 -1
  109. package/dist/notectl-core.mjs +2244 -2095
  110. package/dist/notectl-core.mjs.map +1 -1
  111. package/dist/notectl-core.umd.js +2862 -2415
  112. package/dist/notectl-core.umd.js.map +1 -1
  113. package/dist/plugins/PluginManager.d.ts +2 -0
  114. package/dist/plugins/PluginManager.d.ts.map +1 -1
  115. package/dist/plugins/alignment/AlignmentPlugin.d.ts.map +1 -1
  116. package/dist/plugins/alignment.mjs +1 -1
  117. package/dist/plugins/blockquote.mjs +1 -1
  118. package/dist/plugins/caret-navigation.mjs +1 -1
  119. package/dist/plugins/code-block/CodeBlockNodeView.d.ts.map +1 -1
  120. package/dist/plugins/code-block.mjs +1 -1
  121. package/dist/plugins/font/FontPlugin.d.ts +0 -6
  122. package/dist/plugins/font/FontPlugin.d.ts.map +1 -1
  123. package/dist/plugins/font-size/FontSizeOperations.d.ts.map +1 -1
  124. package/dist/plugins/font-size/FontSizePlugin.d.ts +0 -5
  125. package/dist/plugins/font-size/FontSizePlugin.d.ts.map +1 -1
  126. package/dist/plugins/font-size.mjs +1 -1
  127. package/dist/plugins/font.mjs +1 -1
  128. package/dist/plugins/gap-cursor.mjs +2 -2
  129. package/dist/plugins/hard-break.mjs +2 -25
  130. package/dist/plugins/hard-break.mjs.map +1 -1
  131. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts +1 -7
  132. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts.map +1 -1
  133. package/dist/plugins/heading/HeadingPlugin.d.ts +0 -6
  134. package/dist/plugins/heading/HeadingPlugin.d.ts.map +1 -1
  135. package/dist/plugins/heading.mjs +1 -1
  136. package/dist/plugins/highlight/HighlightPlugin.d.ts.map +1 -1
  137. package/dist/plugins/highlight.mjs +1 -1
  138. package/dist/plugins/horizontal-rule.mjs +1 -1
  139. package/dist/plugins/image/ImageNodeView.d.ts.map +1 -1
  140. package/dist/plugins/image/ImagePlugin.d.ts.map +1 -1
  141. package/dist/plugins/image.mjs +1 -1
  142. package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
  143. package/dist/plugins/link.mjs +1 -1
  144. package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
  145. package/dist/plugins/list.mjs +1 -1
  146. package/dist/plugins/print/PrintContentPreparer.d.ts.map +1 -1
  147. package/dist/plugins/shared/ColorGrid.d.ts +25 -0
  148. package/dist/plugins/shared/ColorGrid.d.ts.map +1 -0
  149. package/dist/plugins/shared/ColorMarkOperations.d.ts.map +1 -1
  150. package/dist/plugins/shared/ColorPickerPopup.d.ts.map +1 -1
  151. package/dist/plugins/shared/ColorValidation.d.ts +13 -2
  152. package/dist/plugins/shared/ColorValidation.d.ts.map +1 -1
  153. package/dist/plugins/shared/PopupKeyboardPatterns.d.ts +43 -0
  154. package/dist/plugins/shared/PopupKeyboardPatterns.d.ts.map +1 -0
  155. package/dist/plugins/shared/PopupManager.d.ts +45 -0
  156. package/dist/plugins/shared/PopupManager.d.ts.map +1 -0
  157. package/dist/plugins/shared/PopupPositioning.d.ts +21 -0
  158. package/dist/plugins/shared/PopupPositioning.d.ts.map +1 -0
  159. package/dist/plugins/strikethrough.mjs +1 -1
  160. package/dist/plugins/super-sub.mjs +1 -1
  161. package/dist/plugins/table/TableBorderColor.d.ts.map +1 -1
  162. package/dist/plugins/table/TableContextMenu.d.ts +2 -1
  163. package/dist/plugins/table/TableContextMenu.d.ts.map +1 -1
  164. package/dist/plugins/table/TableControls.d.ts.map +1 -1
  165. package/dist/plugins/table/TableControlsDOM.d.ts.map +1 -1
  166. package/dist/plugins/table/TableControlsLayout.d.ts.map +1 -1
  167. package/dist/plugins/table/TableNodeViews.d.ts.map +1 -1
  168. package/dist/plugins/table.mjs +1 -1
  169. package/dist/plugins/text-color/TextColorPlugin.d.ts.map +1 -1
  170. package/dist/plugins/text-color.mjs +1 -1
  171. package/dist/plugins/text-formatting.mjs +1 -1
  172. package/dist/plugins/toolbar/ToolbarItem.d.ts +11 -2
  173. package/dist/plugins/toolbar/ToolbarItem.d.ts.map +1 -1
  174. package/dist/plugins/toolbar/ToolbarOverflowController.d.ts +5 -1
  175. package/dist/plugins/toolbar/ToolbarOverflowController.d.ts.map +1 -1
  176. package/dist/plugins/toolbar/ToolbarPlugin.d.ts +1 -0
  177. package/dist/plugins/toolbar/ToolbarPlugin.d.ts.map +1 -1
  178. package/dist/plugins/toolbar/ToolbarPopupController.d.ts +9 -1
  179. package/dist/plugins/toolbar/ToolbarPopupController.d.ts.map +1 -1
  180. package/dist/plugins/toolbar/ToolbarRenderers.d.ts.map +1 -1
  181. package/dist/plugins/toolbar/ToolbarTooltip.d.ts.map +1 -1
  182. package/dist/plugins/toolbar/index.d.ts +1 -1
  183. package/dist/plugins/toolbar/index.d.ts.map +1 -1
  184. package/dist/plugins/toolbar.mjs +1 -1
  185. package/dist/state/BlockTreeOps.d.ts +21 -0
  186. package/dist/state/BlockTreeOps.d.ts.map +1 -0
  187. package/dist/state/InlineContentOps.d.ts +37 -0
  188. package/dist/state/InlineContentOps.d.ts.map +1 -0
  189. package/dist/state/StepApplication.d.ts.map +1 -1
  190. package/dist/style/StyleRuntime.d.ts +38 -0
  191. package/dist/style/StyleRuntime.d.ts.map +1 -0
  192. package/dist/test/PluginTestUtils.d.ts +4 -0
  193. package/dist/test/PluginTestUtils.d.ts.map +1 -1
  194. package/dist/view/Reconciler.d.ts.map +1 -1
  195. package/package.json +2 -2
  196. package/dist/chunks/ColorNames-BdsHwA2f.mjs +0 -59
  197. package/dist/chunks/ColorNames-BdsHwA2f.mjs.map +0 -1
  198. package/dist/chunks/ColorPickerPopup-xL8ZUfpB.mjs +0 -125
  199. package/dist/chunks/ColorPickerPopup-xL8ZUfpB.mjs.map +0 -1
  200. package/dist/chunks/Commands-CicwYoTQ.mjs +0 -286
  201. package/dist/chunks/Commands-CicwYoTQ.mjs.map +0 -1
  202. package/dist/chunks/MarkCommands-CC37WA7Z.mjs +0 -94
  203. package/dist/chunks/MarkCommands-CC37WA7Z.mjs.map +0 -1
  204. package/dist/chunks/ToolbarPlugin-B6JETWaw.mjs.map +0 -1
  205. package/dist/chunks/index-B9GkDVsx.mjs +0 -187
  206. package/dist/chunks/index-B9GkDVsx.mjs.map +0 -1
  207. package/dist/chunks/index-CKPrAOr6.mjs +0 -209
  208. package/dist/chunks/index-CKPrAOr6.mjs.map +0 -1
  209. package/dist/chunks/index-CNs4QQ8l.mjs.map +0 -1
  210. package/dist/chunks/index-CflvcXSd.mjs.map +0 -1
  211. package/dist/chunks/index-CoeD4T9-.mjs.map +0 -1
  212. package/dist/chunks/index-D0s0Q8Wc.mjs.map +0 -1
  213. package/dist/chunks/index-DfzCof6H.mjs +0 -191
  214. package/dist/chunks/index-DfzCof6H.mjs.map +0 -1
  215. package/dist/chunks/index-DyIwN_67.mjs +0 -404
  216. package/dist/chunks/index-DyIwN_67.mjs.map +0 -1
  217. package/dist/chunks/index-FlTg80Pk.mjs.map +0 -1
  218. package/dist/chunks/index-pxbbDHVH.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D3NlpmT1.mjs","sources":["../../src/plugins/highlight/HighlightLocale.ts","../../src/plugins/highlight/HighlightPlugin.ts"],"sourcesContent":["/** Locale interface and default English locale for the HighlightPlugin. */\n\n// --- Locale Interface ---\n\nexport interface HighlightLocale {\n\treadonly label: string;\n\treadonly tooltip: string;\n\treadonly resetLabel: string;\n\treadonly ariaLabelPrefix: string;\n}\n\n// --- Default English Locale ---\n\nexport const HIGHLIGHT_LOCALE_EN: HighlightLocale = {\n\tlabel: 'Highlight',\n\ttooltip: 'Highlight Color',\n\tresetLabel: 'None',\n\tariaLabelPrefix: 'Highlight color',\n};\n\n// --- German Locale ---\n\nexport const HIGHLIGHT_LOCALE_DE: HighlightLocale = {\n\tlabel: 'Hervorhebung',\n\ttooltip: 'Hervorhebungsfarbe',\n\tresetLabel: 'Keine',\n\tariaLabelPrefix: 'Hervorhebungsfarbe',\n};\n\n// --- Spanish Locale ---\n\nexport const HIGHLIGHT_LOCALE_ES: HighlightLocale = {\n\tlabel: 'Resaltado',\n\ttooltip: 'Color de resaltado',\n\tresetLabel: 'Ninguno',\n\tariaLabelPrefix: 'Color de resaltado',\n};\n\n// --- French Locale ---\n\nexport const HIGHLIGHT_LOCALE_FR: HighlightLocale = {\n\tlabel: 'Surlignage',\n\ttooltip: 'Couleur de surlignage',\n\tresetLabel: 'Aucun',\n\tariaLabelPrefix: 'Couleur de surlignage',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const HIGHLIGHT_LOCALE_ZH: HighlightLocale = {\n\tlabel: '高亮',\n\ttooltip: '高亮颜色',\n\tresetLabel: '无',\n\tariaLabelPrefix: '高亮颜色',\n};\n\n// --- Russian Locale ---\n\nexport const HIGHLIGHT_LOCALE_RU: HighlightLocale = {\n\tlabel: 'Выделение',\n\ttooltip: 'Цвет выделения',\n\tresetLabel: 'Нет',\n\tariaLabelPrefix: 'Цвет выделения',\n};\n\n// --- Arabic Locale ---\n\nexport const HIGHLIGHT_LOCALE_AR: HighlightLocale = {\n\tlabel: 'تمييز',\n\ttooltip: 'لون التمييز',\n\tresetLabel: 'بدون',\n\tariaLabelPrefix: 'لون التمييز',\n};\n\n// --- Hindi Locale ---\n\nexport const HIGHLIGHT_LOCALE_HI: HighlightLocale = {\n\tlabel: 'हाइलाइट',\n\ttooltip: 'हाइलाइट रंग',\n\tresetLabel: 'कोई नहीं',\n\tariaLabelPrefix: 'हाइलाइट रंग',\n};\n\n// --- Locale Map ---\n\nexport const HIGHLIGHT_LOCALES: Record<string, HighlightLocale> = {\n\ten: HIGHLIGHT_LOCALE_EN,\n\tde: HIGHLIGHT_LOCALE_DE,\n\tes: HIGHLIGHT_LOCALE_ES,\n\tfr: HIGHLIGHT_LOCALE_FR,\n\tzh: HIGHLIGHT_LOCALE_ZH,\n\tru: HIGHLIGHT_LOCALE_RU,\n\tar: HIGHLIGHT_LOCALE_AR,\n\thi: HIGHLIGHT_LOCALE_HI,\n};\n","/**\n * HighlightPlugin: registers a highlight (background-color) mark with attrs,\n * toolbar button with a color picker popup, and removeHighlight command.\n */\n\nimport { COLOR_PICKER_CSS } from '../../editor/styles/color-picker.js';\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport { escapeHTML } from '../../model/HTMLUtils.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport { setStyleProperty } from '../../style/StyleRuntime.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { isColorMarkActive, removeColorMark } from '../shared/ColorMarkOperations.js';\nimport { renderColorPickerPopup } from '../shared/ColorPickerPopup.js';\nimport { isValidCSSColor, resolveColors } from '../shared/ColorValidation.js';\nimport { HIGHLIGHT_LOCALES, type HighlightLocale } from './HighlightLocale.js';\n\n// --- Attribute Registry Augmentation ---\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface MarkAttrRegistry {\n\t\thighlight: { color: string };\n\t}\n}\n\n// --- Configuration ---\n\nexport interface HighlightConfig {\n\t/**\n\t * Restricts the color picker to a specific set of hex colors.\n\t * Each value must be a valid hex color code (`#RGB` or `#RRGGBB`).\n\t * Duplicates are removed automatically (case-insensitive).\n\t * When omitted, the full default palette is shown.\n\t */\n\treadonly colors?: readonly string[];\n\t/** When true, a separator is rendered after the highlight toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: HighlightLocale;\n}\n\n// --- Color Palette (Highlight-optimized: 10 columns x 5 rows) ---\n\nconst HIGHLIGHT_PALETTE: readonly string[] = [\n\t// Row 1 — Classic highlighter colors (bright, vivid)\n\t'#fff176',\n\t'#aed581',\n\t'#4dd0e1',\n\t'#64b5f6',\n\t'#ce93d8',\n\t'#f48fb1',\n\t'#ffab91',\n\t'#ff8a65',\n\t'#e6ee9c',\n\t'#80cbc4',\n\t// Row 2 — Light pastels\n\t'#fff9c4',\n\t'#dcedc8',\n\t'#e0f7fa',\n\t'#e3f2fd',\n\t'#f3e5f5',\n\t'#fce4ec',\n\t'#fff3e0',\n\t'#fbe9e7',\n\t'#f9fbe7',\n\t'#e0f2f1',\n\t// Row 3 — Medium pastels\n\t'#fff59d',\n\t'#c5e1a5',\n\t'#80deea',\n\t'#90caf9',\n\t'#e1bee7',\n\t'#f8bbd0',\n\t'#ffcc80',\n\t'#ffab91',\n\t'#e6ee9c',\n\t'#a5d6a7',\n\t// Row 4 — Bold pastels\n\t'#ffee58',\n\t'#9ccc65',\n\t'#26c6da',\n\t'#42a5f5',\n\t'#ab47bc',\n\t'#ec407a',\n\t'#ffa726',\n\t'#ff7043',\n\t'#d4e157',\n\t'#66bb6a',\n\t// Row 5 — Grays and neutral highlights\n\t'#ffffff',\n\t'#fafafa',\n\t'#f5f5f5',\n\t'#eeeeee',\n\t'#e0e0e0',\n\t'#bdbdbd',\n\t'#e8eaf6',\n\t'#efebe9',\n\t'#eceff1',\n\t'#fafafa',\n];\n\n// --- Plugin ---\n\nexport class HighlightPlugin implements Plugin {\n\treadonly id = 'highlight';\n\treadonly name = 'Highlight';\n\treadonly priority = 24;\n\n\tprivate readonly config: HighlightConfig;\n\tprivate readonly colors: readonly string[];\n\tprivate locale!: HighlightLocale;\n\n\tconstructor(config?: Partial<HighlightConfig>) {\n\t\tthis.config = { ...config };\n\t\tthis.colors = resolveColors(config?.colors, HIGHLIGHT_PALETTE, 'HighlightPlugin');\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(HIGHLIGHT_LOCALES, context, this.config.locale);\n\n\t\tcontext.registerStyleSheet(COLOR_PICKER_CSS);\n\t\tthis.registerMarkSpec(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerToolbarItem(context);\n\t}\n\n\tprivate registerMarkSpec(context: PluginContext): void {\n\t\tcontext.registerMarkSpec({\n\t\t\ttype: 'highlight',\n\t\t\trank: 4,\n\t\t\tattrs: {\n\t\t\t\tcolor: { default: '' },\n\t\t\t},\n\t\t\ttoDOM(mark) {\n\t\t\t\tconst span = document.createElement('span');\n\t\t\t\tconst color = mark.attrs?.color ?? '';\n\t\t\t\tsetStyleProperty(span, 'backgroundColor', color);\n\t\t\t\treturn span;\n\t\t\t},\n\t\t\ttoHTMLString: (mark, content) => {\n\t\t\t\tconst color: string = String(mark.attrs?.color ?? '');\n\t\t\t\tif (!color || !isValidCSSColor(color)) return content;\n\t\t\t\treturn `<span style=\"background-color: ${escapeHTML(color)}\">${content}</span>`;\n\t\t\t},\n\t\t\ttoHTMLStyle: (mark) => {\n\t\t\t\tconst color: string = String(mark.attrs?.color ?? '');\n\t\t\t\tif (!color || !isValidCSSColor(color)) return null;\n\t\t\t\treturn `background-color: ${escapeHTML(color)}`;\n\t\t\t},\n\t\t\tparseHTML: [\n\t\t\t\t{\n\t\t\t\t\ttag: 'span',\n\t\t\t\t\tgetAttrs: (el) => {\n\t\t\t\t\t\tconst color: string = el.style.backgroundColor;\n\t\t\t\t\t\tif (!color || !isValidCSSColor(color)) return false;\n\t\t\t\t\t\treturn { color };\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tsanitize: { tags: ['span'] },\n\t\t});\n\t}\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tcontext.registerCommand('removeHighlight', () => {\n\t\t\treturn removeColorMark(context, context.getState(), 'highlight');\n\t\t});\n\t}\n\n\tprivate registerToolbarItem(context: PluginContext): void {\n\t\tconst pathD =\n\t\t\t'M11 3L5.5 17h2.25l1.12-3h6.25l1.12 3h2.25L13 3h-2z' + 'm-1.38 9L12 5.67 14.38 12H9.62z';\n\t\tconst icon: string = [\n\t\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\"',\n\t\t\t' viewBox=\"0 0 24 24\">',\n\t\t\t`<path d=\"${pathD}\"/>`,\n\t\t\t'<rect x=\"3\" y=\"17\" width=\"18\" height=\"6\"',\n\t\t\t' rx=\"0.5\" fill=\"#fff176\"/>',\n\t\t\t'</svg>',\n\t\t].join('');\n\n\t\tcontext.registerToolbarItem({\n\t\t\tid: 'highlight',\n\t\t\tgroup: 'format',\n\t\t\ticon,\n\t\t\tlabel: this.locale.label,\n\t\t\ttooltip: this.locale.tooltip,\n\t\t\tcommand: 'removeHighlight',\n\t\t\tpriority: 46,\n\t\t\tpopupType: 'custom',\n\t\t\tseparatorAfter: this.config.separatorAfter,\n\t\t\trenderPopup: (container, ctx, onClose) => {\n\t\t\t\trenderColorPickerPopup(container, ctx, {\n\t\t\t\t\tmarkType: 'highlight',\n\t\t\t\t\tcolors: this.colors,\n\t\t\t\t\tcolumns: 10,\n\t\t\t\t\tresetLabel: this.locale.resetLabel,\n\t\t\t\t\tresetCommand: 'removeHighlight',\n\t\t\t\t\tariaLabelPrefix: this.locale.ariaLabelPrefix,\n\t\t\t\t\tonClose,\n\t\t\t\t});\n\t\t\t},\n\t\t\tisActive: (state: EditorState) => isColorMarkActive(state, 'highlight'),\n\t\t});\n\t}\n}\n"],"names":["HIGHLIGHT_LOCALE_EN","label","tooltip","resetLabel","ariaLabelPrefix","HIGHLIGHT_LOCALES","en","de","es","fr","zh","ru","ar","hi","HIGHLIGHT_PALETTE","HighlightPlugin","id","name","priority","config","colors","locale","this","resolveColors","context","resolvePluginLocale","registerStyleSheet","COLOR_PICKER_CSS","registerMarkSpec","registerCommands","registerToolbarItem","type","rank","attrs","color","default","mark","span","document","createElement","setStyleProperty","toHTMLString","content","String","isValidCSSColor","escapeHTML","toHTMLStyle","parseHTML","tag","getAttrs","el","style","backgroundColor","sanitize","tags","registerCommand","removeColorMark","getState","icon","join","group","command","popupType","separatorAfter","renderPopup","container","ctx","onClose","renderColorPickerPopup","markType","columns","resetCommand","isActive","state","isColorMarkActive"],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { S as t, r as e } from "./resolvePluginLocale-B4w1OkPy.mjs";
2
- import { b as o, p as n, e as c, c as r, d as l } from "./Document-CuwE73FF.mjs";
2
+ import { c as o, m as n, u as c, a as r, i as l } from "./Document-Brtw2jL1.mjs";
3
3
  import { e as s } from "./HTMLUtils-DTqQzcKR.mjs";
4
4
  import { c as i } from "./NodeSpec-NZVvcCuH.mjs";
5
- import { i as a, a as d, b as u, c as f } from "./Selection-DmFDwiPJ.mjs";
5
+ import { i as a, a as d, b as u, d as f } from "./Selection-BRTab5hO.mjs";
6
6
  import { n as k } from "./TypeBrands-C09nE2qO.mjs";
7
- import { f as p } from "./ToolbarItem-BpZggUGo.mjs";
8
- import { f as g } from "./NodeResolver-B-wzthAQ.mjs";
9
- function b(t2, e2) {
7
+ import { f as g } from "./ToolbarItem-BpZggUGo.mjs";
8
+ import { a as p } from "./StyleRuntime-ChRjVQwL.mjs";
9
+ import { f as b } from "./NodeResolver-C2XYkeOi.mjs";
10
+ function h(t2, e2) {
10
11
  switch (t2.type) {
11
12
  case "inline":
12
13
  return (function(t3, e3) {
@@ -20,7 +21,7 @@ function b(t2, e2) {
20
21
  case "deleteText":
21
22
  return (function(t4, e4) {
22
23
  if (t4.blockId !== e4.blockId) return t4;
23
- const o2 = e4.to - e4.from, n2 = m(t4.from, e4.from, e4.to, o2), c2 = m(t4.to, e4.from, e4.to, o2);
24
+ const o2 = e4.to - e4.from, n2 = B(t4.from, e4.from, e4.to, o2), c2 = B(t4.to, e4.from, e4.to, o2);
24
25
  return n2 >= c2 ? null : n2 === t4.from && c2 === t4.to ? t4 : { ...t4, from: n2, to: c2 };
25
26
  })(t3, e3);
26
27
  case "splitBlock":
@@ -35,7 +36,7 @@ function b(t2, e2) {
35
36
  return t4.blockId !== e4.sourceBlockId ? t4 : { ...t4, blockId: e4.targetBlockId, from: t4.from + e4.targetLengthBefore, to: t4.to + e4.targetLengthBefore };
36
37
  })(t3, e3);
37
38
  case "removeNode":
38
- return h(t3, e3);
39
+ return m(t3, e3);
39
40
  default:
40
41
  return t3;
41
42
  }
@@ -65,7 +66,7 @@ function b(t2, e2) {
65
66
  return t4.blockId !== e4.sourceBlockId ? t4 : { ...t4, blockId: e4.targetBlockId, offset: t4.offset + e4.targetLengthBefore };
66
67
  })(t3, e3);
67
68
  case "removeNode":
68
- return h(t3, e3);
69
+ return m(t3, e3);
69
70
  default:
70
71
  return t3;
71
72
  }
@@ -78,41 +79,41 @@ function b(t2, e2) {
78
79
  return t4.blockId === e4.sourceBlockId ? null : t4;
79
80
  })(t3, e3);
80
81
  case "removeNode":
81
- return h(t3, e3);
82
+ return m(t3, e3);
82
83
  default:
83
84
  return t3;
84
85
  }
85
86
  })(t2, e2);
86
87
  }
87
88
  }
88
- function h(t2, e2) {
89
+ function m(t2, e2) {
89
90
  return t2.blockId === e2.removedNode.id ? null : t2;
90
91
  }
91
- function m(t2, e2, o2, n2) {
92
+ function B(t2, e2, o2, n2) {
92
93
  return t2 <= e2 ? t2 : t2 >= o2 ? t2 - n2 : e2;
93
94
  }
94
95
  function y(t2, e2, o2, n2) {
95
96
  return { type: "inline", blockId: t2, from: e2, to: o2, attrs: n2 };
96
97
  }
97
- function B(t2, e2) {
98
+ function C(t2, e2) {
98
99
  return { type: "node", blockId: t2, attrs: e2 };
99
100
  }
100
- function C(t2, e2, o2, n2) {
101
+ function I(t2, e2, o2, n2) {
101
102
  return { type: "widget", blockId: t2, offset: e2, toDOM: o2, side: n2?.side ?? -1, key: n2?.key };
102
103
  }
103
- class I {
104
+ class x {
104
105
  constructor(t2) {
105
106
  this.byBlock = t2;
106
107
  }
107
- static empty = new I(/* @__PURE__ */ new Map());
108
+ static empty = new x(/* @__PURE__ */ new Map());
108
109
  static create(t2) {
109
- if (0 === t2.length) return I.empty;
110
+ if (0 === t2.length) return x.empty;
110
111
  const e2 = /* @__PURE__ */ new Map();
111
112
  for (const o2 of t2) {
112
113
  const t3 = e2.get(o2.blockId);
113
114
  t3 ? t3.push(o2) : e2.set(o2.blockId, [o2]);
114
115
  }
115
- return new I(e2);
116
+ return new x(e2);
116
117
  }
117
118
  find(t2) {
118
119
  return this.byBlock.get(t2) ?? [];
@@ -131,14 +132,14 @@ class I {
131
132
  }
132
133
  add(t2) {
133
134
  if (0 === t2.length) return this;
134
- if (this.isEmpty) return I.create(t2);
135
+ if (this.isEmpty) return x.create(t2);
135
136
  const e2 = /* @__PURE__ */ new Map();
136
137
  for (const [t3, o2] of this.byBlock) e2.set(t3, [...o2]);
137
138
  for (const o2 of t2) {
138
139
  const t3 = e2.get(o2.blockId);
139
140
  t3 ? t3.push(o2) : e2.set(o2.blockId, [o2]);
140
141
  }
141
- return new I(e2);
142
+ return new x(e2);
142
143
  }
143
144
  remove(t2) {
144
145
  const e2 = /* @__PURE__ */ new Map();
@@ -147,7 +148,7 @@ class I {
147
148
  const r2 = c2.filter((e3) => !t2(e3));
148
149
  r2.length !== c2.length && (o2 = true), r2.length > 0 && e2.set(n2, r2);
149
150
  }
150
- return o2 ? 0 === e2.size ? I.empty : new I(e2) : this;
151
+ return o2 ? 0 === e2.size ? x.empty : new x(e2) : this;
151
152
  }
152
153
  merge(t2) {
153
154
  if (t2.isEmpty) return this;
@@ -158,7 +159,7 @@ class I {
158
159
  const t3 = e2.get(o2);
159
160
  t3 ? t3.push(...n2) : e2.set(o2, [...n2]);
160
161
  }
161
- return new I(e2);
162
+ return new x(e2);
162
163
  }
163
164
  equals(t2) {
164
165
  if (this === t2) return true;
@@ -166,7 +167,7 @@ class I {
166
167
  for (const [e2, o2] of this.byBlock) {
167
168
  const n2 = t2.byBlock.get(e2);
168
169
  if (!n2) return false;
169
- if (!x(o2, n2)) return false;
170
+ if (!w(o2, n2)) return false;
170
171
  }
171
172
  return true;
172
173
  }
@@ -180,35 +181,35 @@ class I {
180
181
  for (const o2 of t2.steps) {
181
182
  const t3 = [];
182
183
  for (const n2 of e2) {
183
- const e3 = b(n2, o2);
184
+ const e3 = h(n2, o2);
184
185
  if (null !== e3) if (Array.isArray(e3)) for (const o3 of e3) t3.push(o3);
185
186
  else t3.push(e3);
186
187
  }
187
188
  e2 = t3;
188
189
  }
189
- return 0 === e2.length ? I.empty : I.create(e2);
190
+ return 0 === e2.length ? x.empty : x.create(e2);
190
191
  }
191
192
  }
192
- function x(t2, e2) {
193
+ function w(t2, e2) {
193
194
  if (t2 === e2) return true;
194
195
  if (t2.length !== e2.length) return false;
195
196
  for (let o2 = 0; o2 < t2.length; o2++) {
196
197
  const n2 = t2[o2], c2 = e2[o2];
197
- if (!n2 || !c2 || !w(n2, c2)) return false;
198
+ if (!n2 || !c2 || !v(n2, c2)) return false;
198
199
  }
199
200
  return true;
200
201
  }
201
- function w(t2, e2) {
202
+ function v(t2, e2) {
202
203
  if (t2.type !== e2.type) return false;
203
204
  if (t2.blockId !== e2.blockId) return false;
204
205
  switch (t2.type) {
205
206
  case "inline": {
206
207
  const o2 = e2;
207
- return t2.from === o2.from && t2.to === o2.to && v(t2.attrs, o2.attrs);
208
+ return t2.from === o2.from && t2.to === o2.to && _(t2.attrs, o2.attrs);
208
209
  }
209
210
  case "node": {
210
211
  const o2 = e2;
211
- return v(t2.attrs, o2.attrs);
212
+ return _(t2.attrs, o2.attrs);
212
213
  }
213
214
  case "widget": {
214
215
  const o2 = e2;
@@ -216,36 +217,36 @@ function w(t2, e2) {
216
217
  }
217
218
  }
218
219
  }
219
- function v(t2, e2) {
220
+ function _(t2, e2) {
220
221
  if (t2 === e2) return true;
221
222
  const o2 = Object.keys(t2), n2 = Object.keys(e2);
222
223
  if (o2.length !== n2.length) return false;
223
224
  for (const n3 of o2) if (t2[n3] !== e2[n3]) return false;
224
225
  return true;
225
226
  }
226
- function _(t2, e2) {
227
+ function S(t2, e2) {
227
228
  const o2 = t2.getState();
228
229
  if (a(o2.selection) || d(o2.selection)) return false;
229
230
  const n2 = o2.selection, c2 = o2.getBlock(n2.anchor.blockId);
230
231
  return !(!c2 || "code_block" !== c2.type) && e2({ state: o2, block: c2, blockId: n2.anchor.blockId, offset: n2.anchor.offset });
231
232
  }
232
- function S(t2) {
233
- return _(t2, ({ state: e2, blockId: o2 }) => {
233
+ function A(t2) {
234
+ return S(t2, ({ state: e2, blockId: o2 }) => {
234
235
  const n2 = e2.getBlockOrder(), c2 = n2.indexOf(o2);
235
236
  if (c2 < n2.length - 1) {
236
237
  const o3 = n2[c2 + 1], r2 = e2.transaction("command").setSelection(f(o3, 0)).build();
237
238
  t2.dispatch(r2);
238
- } else A(t2, o2);
239
+ } else T(t2, o2);
239
240
  return true;
240
241
  });
241
242
  }
242
- function A(t2, e2) {
243
+ function T(t2, e2) {
243
244
  const n2 = t2.getState(), r2 = n2.getBlock(e2);
244
245
  if (!r2) return;
245
246
  const l2 = o(r2), s2 = c(), i2 = n2.transaction("command").splitBlock(e2, l2, s2).setBlockType(s2, k("paragraph")).setSelection(f(s2, 0)).build();
246
247
  t2.dispatch(i2);
247
248
  }
248
- function T(t2, e2) {
249
+ function M(t2, e2) {
249
250
  const n2 = t2.getState(), c2 = n2.selection;
250
251
  if (a(c2) || d(c2)) return false;
251
252
  const s2 = n2.getBlock(c2.anchor.blockId);
@@ -261,16 +262,16 @@ function T(t2, e2) {
261
262
  } else c3 += 1;
262
263
  })(u2, s2), u2.setBlockType(c2.anchor.blockId, k("code_block"), i2).setSelection(f(c2.anchor.blockId, 0)), t2.dispatch(u2.build()), true;
263
264
  }
264
- const M = { label: "Code Block", tooltip: (t2) => t2 ? `Code Block (${t2})` : "Code Block", enteredCodeBlock: "Entered code block. Press Escape to exit.", leftCodeBlock: "Left code block." }, N = { en: M, de: { label: "Codeblock", tooltip: (t2) => t2 ? `Codeblock (${t2})` : "Codeblock", enteredCodeBlock: "Codeblock betreten. Escape zum Verlassen drücken.", leftCodeBlock: "Codeblock verlassen." }, es: { label: "Bloque de código", tooltip: (t2) => t2 ? `Bloque de código (${t2})` : "Bloque de código", enteredCodeBlock: "Bloque de código activado. Pulse Escape para salir.", leftCodeBlock: "Bloque de código desactivado." }, fr: { label: "Bloc de code", tooltip: (t2) => t2 ? `Bloc de code (${t2})` : "Bloc de code", enteredCodeBlock: "Bloc de code activé. Appuyez sur Échap pour quitter.", leftCodeBlock: "Bloc de code quitté." }, zh: { label: "代码块", tooltip: (t2) => t2 ? `代码块 (${t2})` : "代码块", enteredCodeBlock: "已进入代码块。按 Escape 退出。", leftCodeBlock: "已离开代码块。" }, ru: { label: "Блок кода", tooltip: (t2) => t2 ? `Блок кода (${t2})` : "Блок кода", enteredCodeBlock: "Вход в блок кода. Нажмите Escape для выхода.", leftCodeBlock: "Выход из блока кода." }, ar: { label: "كتلة كود", tooltip: (t2) => t2 ? `كتلة كود (${t2})` : "كتلة كود", enteredCodeBlock: "تم الدخول إلى كتلة الكود. اضغط Escape للخروج.", leftCodeBlock: "تم الخروج من كتلة الكود." }, hi: { label: "कोड ब्लॉक", tooltip: (t2) => t2 ? `कोड ब्लॉक (${t2})` : "कोड ब्लॉक", enteredCodeBlock: "कोड ब्लॉक में प्रवेश किया। बाहर निकलने के लिए Escape दबाएँ।", leftCodeBlock: "कोड ब्लॉक से बाहर।" } }, E = { insertAfter: "Mod-Enter", toggle: "Mod-Shift-M" }, L = { defaultLanguage: "", useSpaces: false, spaceCount: 2, showCopyButton: true }, O = new t("codeBlock");
265
- function z(t2, e2, o2, n2) {
265
+ const N = { label: "Code Block", tooltip: (t2) => t2 ? `Code Block (${t2})` : "Code Block", enteredCodeBlock: "Entered code block. Press Escape to exit.", leftCodeBlock: "Left code block." }, E = { en: N, de: { label: "Codeblock", tooltip: (t2) => t2 ? `Codeblock (${t2})` : "Codeblock", enteredCodeBlock: "Codeblock betreten. Escape zum Verlassen drücken.", leftCodeBlock: "Codeblock verlassen." }, es: { label: "Bloque de código", tooltip: (t2) => t2 ? `Bloque de código (${t2})` : "Bloque de código", enteredCodeBlock: "Bloque de código activado. Pulse Escape para salir.", leftCodeBlock: "Bloque de código desactivado." }, fr: { label: "Bloc de code", tooltip: (t2) => t2 ? `Bloc de code (${t2})` : "Bloc de code", enteredCodeBlock: "Bloc de code activé. Appuyez sur Échap pour quitter.", leftCodeBlock: "Bloc de code quitté." }, zh: { label: "代码块", tooltip: (t2) => t2 ? `代码块 (${t2})` : "代码块", enteredCodeBlock: "已进入代码块。按 Escape 退出。", leftCodeBlock: "已离开代码块。" }, ru: { label: "Блок кода", tooltip: (t2) => t2 ? `Блок кода (${t2})` : "Блок кода", enteredCodeBlock: "Вход в блок кода. Нажмите Escape для выхода.", leftCodeBlock: "Выход из блока кода." }, ar: { label: "كتلة كود", tooltip: (t2) => t2 ? `كتلة كود (${t2})` : "كتلة كود", enteredCodeBlock: "تم الدخول إلى كتلة الكود. اضغط Escape للخروج.", leftCodeBlock: "تم الخروج من كتلة الكود." }, hi: { label: "कोड ब्लॉक", tooltip: (t2) => t2 ? `कोड ब्लॉक (${t2})` : "कोड ब्लॉक", enteredCodeBlock: "कोड ब्लॉक में प्रवेश किया। बाहर निकलने के लिए Escape दबाएँ।", leftCodeBlock: "कोड ब्लॉक से बाहर।" } }, L = { insertAfter: "Mod-Enter", toggle: "Mod-Shift-M" }, O = { defaultLanguage: "", useSpaces: false, spaceCount: 2, showCopyButton: true }, z = new t("codeBlock");
266
+ function $(t2, e2, o2, n2) {
266
267
  const c2 = t2.getState(), r2 = c2.getBlock(e2);
267
268
  if (!r2 || "code_block" !== r2.type) return;
268
- const l2 = g(c2.doc, e2);
269
+ const l2 = b(c2.doc, e2);
269
270
  if (!l2) return;
270
271
  const s2 = { ...r2.attrs, [o2]: n2 }, i2 = c2.transaction("command").setNodeAttr(l2, s2).build();
271
272
  t2.dispatch(i2);
272
273
  }
273
- class $ {
274
+ class j {
274
275
  id = "code-block";
275
276
  name = "Code Block";
276
277
  priority = 36;
@@ -279,10 +280,10 @@ class $ {
279
280
  context = null;
280
281
  locale;
281
282
  constructor(t2) {
282
- this.config = { ...L, ...t2 }, this.resolvedKeymap = { ...E, ...t2?.keymap };
283
+ this.config = { ...O, ...t2 }, this.resolvedKeymap = { ...L, ...t2?.keymap };
283
284
  }
284
285
  init(t2) {
285
- this.locale = e(N, t2, this.config.locale), t2.registerStyleSheet("\n/* Code Block — uses theme custom properties */\n.notectl-code-block {\n position: relative;\n margin: 8px 0;\n border-radius: 6px;\n background: var(--notectl-code-block-bg);\n color: var(--notectl-code-block-color);\n font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', Menlo, Consolas, monospace;\n font-size: 14px;\n line-height: 1.5;\n overflow: hidden;\n}\n\n.notectl-code-block__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n background: var(--notectl-code-block-header-bg);\n border-bottom: 1px solid var(--notectl-code-block-header-border);\n font-size: 12px;\n color: var(--notectl-code-block-header-color);\n user-select: none;\n}\n\n.notectl-code-block__language {\n font-weight: 500;\n letter-spacing: 0.02em;\n}\n\n.notectl-code-block__copy {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--notectl-code-block-header-color);\n cursor: pointer;\n padding: 0;\n transition: background 0.15s, color 0.15s;\n}\n\n.notectl-code-block__copy:hover {\n background: rgba(128, 128, 128, 0.15);\n color: var(--notectl-code-block-color);\n}\n\n.notectl-code-block__copy svg {\n fill: currentColor;\n}\n\n.notectl-code-block__content {\n display: block;\n padding: 12px 16px;\n white-space: pre-wrap;\n word-wrap: break-word;\n tab-size: 4;\n -moz-tab-size: 4;\n outline: none;\n min-height: 1.5em;\n}\n\n.notectl-code-block--selected {\n outline: 2px solid var(--notectl-primary);\n outline-offset: 2px;\n}\n\n.notectl-code-block__esc-hint {\n display: none;\n position: absolute;\n bottom: 4px;\n right: 8px;\n font-size: 11px;\n color: var(--notectl-code-block-header-color);\n opacity: 0.5;\n pointer-events: none;\n user-select: none;\n font-family: system-ui, sans-serif;\n}\n\n.notectl-code-block--focused .notectl-code-block__esc-hint {\n display: block;\n}\n"), this.context = t2, this.registerNodeSpec(t2), this.registerNodeView(t2), (function(t3, e2) {
286
+ this.locale = e(E, t2, this.config.locale), t2.registerStyleSheet("\n/* Code Block — uses theme custom properties */\n.notectl-code-block {\n position: relative;\n margin: 8px 0;\n border-radius: 6px;\n background: var(--notectl-code-block-bg);\n color: var(--notectl-code-block-color);\n font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', Menlo, Consolas, monospace;\n font-size: 14px;\n line-height: 1.5;\n overflow: hidden;\n}\n\n.notectl-code-block__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n background: var(--notectl-code-block-header-bg);\n border-bottom: 1px solid var(--notectl-code-block-header-border);\n font-size: 12px;\n color: var(--notectl-code-block-header-color);\n user-select: none;\n}\n\n.notectl-code-block__language {\n font-weight: 500;\n letter-spacing: 0.02em;\n}\n\n.notectl-code-block__copy {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--notectl-code-block-header-color);\n cursor: pointer;\n padding: 0;\n transition: background 0.15s, color 0.15s;\n}\n\n.notectl-code-block__copy:hover {\n background: rgba(128, 128, 128, 0.15);\n color: var(--notectl-code-block-color);\n}\n\n.notectl-code-block__copy svg {\n fill: currentColor;\n}\n\n.notectl-code-block__content {\n display: block;\n padding: 12px 16px;\n white-space: pre-wrap;\n word-wrap: break-word;\n tab-size: 4;\n -moz-tab-size: 4;\n outline: none;\n min-height: 1.5em;\n}\n\n.notectl-code-block--selected {\n outline: 2px solid var(--notectl-primary);\n outline-offset: 2px;\n}\n\n.notectl-code-block__esc-hint {\n display: none;\n position: absolute;\n bottom: 4px;\n right: 8px;\n font-size: 11px;\n color: var(--notectl-code-block-header-color);\n opacity: 0.5;\n pointer-events: none;\n user-select: none;\n font-family: system-ui, sans-serif;\n}\n\n.notectl-code-block--focused .notectl-code-block__esc-hint {\n display: block;\n}\n"), this.context = t2, this.registerNodeSpec(t2), this.registerNodeView(t2), (function(t3, e2) {
286
287
  t3.registerCommand("toggleCodeBlock", () => (function(t4, e3) {
287
288
  const o2 = t4.getState();
288
289
  if (a(o2.selection) || d(o2.selection)) return false;
@@ -292,11 +293,11 @@ class $ {
292
293
  const e4 = o2.transaction("command").setBlockType(o2.selection.anchor.blockId, k("paragraph")).setSelection(o2.selection).build();
293
294
  return t4.dispatch(e4), true;
294
295
  }
295
- return T(t4, e3);
296
- })(t3, e2)), t3.registerCommand("insertCodeBlock", () => T(t3, e2)), t3.registerCommand("setCodeBlockLanguage", () => false), t3.registerCommand("setCodeBlockBackground", () => false), t3.registerCommand("exitCodeBlock", () => S(t3));
296
+ return M(t4, e3);
297
+ })(t3, e2)), t3.registerCommand("insertCodeBlock", () => M(t3, e2)), t3.registerCommand("setCodeBlockLanguage", () => false), t3.registerCommand("setCodeBlockBackground", () => false), t3.registerCommand("exitCodeBlock", () => A(t3));
297
298
  })(t2, this.config), (function(t3, e2, r2) {
298
299
  const l2 = { Enter: () => (function(t4) {
299
- return _(t4, ({ state: e3, block: o2, blockId: r3, offset: l3 }) => {
300
+ return S(t4, ({ state: e3, block: o2, blockId: r3, offset: l3 }) => {
300
301
  if (!u(e3.selection)) return false;
301
302
  const s3 = n(o2);
302
303
  if (s3.endsWith("\n") && l3 === s3.length) return (function(t5, e4, o3) {
@@ -307,19 +308,19 @@ class $ {
307
308
  return t4.dispatch(i3), true;
308
309
  });
309
310
  })(t3), Backspace: () => (function(t4) {
310
- return _(t4, ({ state: e3, blockId: o2, offset: n2 }) => {
311
+ return S(t4, ({ state: e3, blockId: o2, offset: n2 }) => {
311
312
  if (!u(e3.selection)) return false;
312
313
  if (0 !== n2) return false;
313
314
  const c2 = e3.transaction("input").setBlockType(o2, k("paragraph")).setSelection(e3.selection).build();
314
315
  return t4.dispatch(c2), true;
315
316
  });
316
317
  })(t3), Tab: () => (function(t4, e3) {
317
- return _(t4, ({ state: o2, blockId: n2, offset: c2 }) => {
318
+ return S(t4, ({ state: o2, blockId: n2, offset: c2 }) => {
318
319
  const r3 = e3.useSpaces ? " ".repeat(e3.spaceCount ?? 2) : " ", l3 = o2.transaction("input").insertText(n2, c2, r3, []).setSelection(f(n2, c2 + r3.length)).build();
319
320
  return t4.dispatch(l3), true;
320
321
  });
321
322
  })(t3, e2), "Shift-Tab": () => (function(t4, e3) {
322
- return _(t4, ({ state: o2, block: c2, blockId: r3, offset: l3 }) => {
323
+ return S(t4, ({ state: o2, block: c2, blockId: r3, offset: l3 }) => {
323
324
  const s3 = n(c2), i3 = s3.lastIndexOf("\n", l3 - 1) + 1;
324
325
  if (e3.useSpaces) {
325
326
  const n2 = e3.spaceCount ?? 2;
@@ -333,19 +334,19 @@ class $ {
333
334
  }
334
335
  return true;
335
336
  });
336
- })(t3, e2), Escape: () => S(t3), ArrowDown: () => (function(t4) {
337
- return _(t4, ({ state: e3, block: o2, blockId: c2, offset: r3 }) => {
337
+ })(t3, e2), Escape: () => A(t3), ArrowDown: () => (function(t4) {
338
+ return S(t4, ({ state: e3, block: o2, blockId: c2, offset: r3 }) => {
338
339
  if (!u(e3.selection)) return false;
339
340
  if (-1 !== n(o2).indexOf("\n", r3)) return false;
340
341
  const l3 = e3.getBlockOrder(), s3 = l3.indexOf(c2);
341
342
  if (s3 < l3.length - 1) {
342
343
  const o3 = l3[s3 + 1], n2 = e3.transaction("command").setSelection(f(o3, 0)).build();
343
344
  t4.dispatch(n2);
344
- } else A(t4, c2);
345
+ } else T(t4, c2);
345
346
  return true;
346
347
  });
347
348
  })(t3), ArrowUp: () => (function(t4) {
348
- return _(t4, ({ state: e3, block: c2, blockId: r3, offset: l3 }) => {
349
+ return S(t4, ({ state: e3, block: c2, blockId: r3, offset: l3 }) => {
349
350
  if (!u(e3.selection)) return false;
350
351
  const s3 = n(c2).indexOf("\n");
351
352
  if (-1 !== s3 && l3 > s3) return false;
@@ -357,18 +358,18 @@ class $ {
357
358
  return false;
358
359
  });
359
360
  })(t3), ArrowRight: () => (function(t4) {
360
- return _(t4, ({ state: e3, block: o2, blockId: c2, offset: r3 }) => {
361
+ return S(t4, ({ state: e3, block: o2, blockId: c2, offset: r3 }) => {
361
362
  if (!u(e3.selection)) return false;
362
363
  if (r3 !== n(o2).length) return false;
363
364
  const l3 = e3.getBlockOrder(), s3 = l3.indexOf(c2);
364
365
  if (s3 < l3.length - 1) {
365
366
  const o3 = l3[s3 + 1], n2 = e3.transaction("command").setSelection(f(o3, 0)).build();
366
367
  t4.dispatch(n2);
367
- } else A(t4, c2);
368
+ } else T(t4, c2);
368
369
  return true;
369
370
  });
370
371
  })(t3), ArrowLeft: () => (function(t4) {
371
- return _(t4, ({ state: e3, blockId: n2, offset: c2 }) => {
372
+ return S(t4, ({ state: e3, blockId: n2, offset: c2 }) => {
372
373
  if (!u(e3.selection)) return false;
373
374
  if (0 !== c2) return false;
374
375
  const r3 = e3.getBlockOrder(), l3 = r3.indexOf(n2);
@@ -380,18 +381,18 @@ class $ {
380
381
  });
381
382
  })(t3) }, { insertAfter: s2, toggle: i2 } = r2;
382
383
  s2 && (l2[s2] = () => (function(t4) {
383
- return _(t4, ({ blockId: e3 }) => (A(t4, e3), true));
384
+ return S(t4, ({ blockId: e3 }) => (T(t4, e3), true));
384
385
  })(t3)), i2 && (l2[i2] = () => t3.executeCommand("toggleCodeBlock")), t3.registerKeymap(l2, { priority: "context" });
385
386
  })(t2, this.config, this.resolvedKeymap), this.registerInputRule(t2), this.registerToolbarItem(t2), this.registerMiddleware(t2), (function(t3, e2, o2) {
386
- t3.registerService(O, { setLanguage(e3, o3) {
387
- z(t3, e3, "language", o3);
387
+ t3.registerService(z, { setLanguage(e3, o3) {
388
+ $(t3, e3, "language", o3);
388
389
  }, getLanguage(t4) {
389
390
  const e3 = o2();
390
391
  if (!e3) return "";
391
392
  const n2 = e3.getState().getBlock(t4);
392
393
  return n2 && "code_block" === n2.type ? n2.attrs?.language ?? "" : "";
393
394
  }, setBackground(e3, o3) {
394
- z(t3, e3, "backgroundColor", o3);
395
+ $(t3, e3, "backgroundColor", o3);
395
396
  }, getBackground(t4) {
396
397
  const e3 = o2();
397
398
  if (!e3) return "";
@@ -414,7 +415,7 @@ class $ {
414
415
  s2 && n2 && this.setBlockFocused(n2, false), i2 && c2 && this.setBlockFocused(c2, true), !s2 && i2 ? this.context.announce(this.locale.enteredCodeBlock) : s2 && !i2 && this.context.announce(this.locale.leftCodeBlock);
415
416
  }
416
417
  decorations(t2) {
417
- if (!this.config.highlighter) return I.empty;
418
+ if (!this.config.highlighter) return x.empty;
418
419
  const e2 = [], o2 = this.config.highlighter;
419
420
  for (const c2 of t2.getBlockOrder()) {
420
421
  const r2 = t2.getBlock(c2);
@@ -426,7 +427,7 @@ class $ {
426
427
  const i2 = o2.tokenize(s2, l2);
427
428
  for (const t3 of i2) e2.push(y(c2, t3.from, t3.to, { class: `notectl-token--${t3.type}` }));
428
429
  }
429
- return I.create(e2);
430
+ return x.create(e2);
430
431
  }
431
432
  registerNodeSpec(t2) {
432
433
  t2.registerNodeSpec({ type: "code_block", group: "block", content: { allow: ["text"] }, selectable: true, attrs: { language: { default: "" }, backgroundColor: { default: "" } }, toDOM(t3) {
@@ -436,7 +437,7 @@ class $ {
436
437
  return o2.className = "notectl-code-block__content", e2.appendChild(o2), e2;
437
438
  }, toHTML(t3, e2) {
438
439
  const o2 = s(t3.attrs?.language ?? ""), n2 = s(t3.attrs?.backgroundColor ?? "");
439
- return `<pre${n2 ? ` style="background-color: ${n2}"` : ""}><code${o2 ? ` data-language="${o2}"` : ""}>${e2 || ""}</code></pre>`;
440
+ return `<pre${n2 ? ` style="background-color: ${n2}"` : ""}><code${o2 ? ` class="language-${o2}"` : ""}>${e2 || ""}</code></pre>`;
440
441
  }, parseHTML: [{ tag: "pre", getAttrs(t3) {
441
442
  const e2 = t3.querySelector("code"), o2 = e2?.className.match(/language-(\S+)/)?.[1] ?? "";
442
443
  return { language: (e2?.getAttribute("data-language") ?? "") || o2 };
@@ -458,13 +459,13 @@ class $ {
458
459
  const d2 = document.createElement("code");
459
460
  d2.className = "notectl-code-block__content";
460
461
  const u2 = document.createElement("div");
461
- u2.className = "notectl-code-block__esc-hint", u2.setAttribute("contenteditable", "false"), u2.setAttribute("aria-hidden", "true"), u2.setAttribute("data-notectl-no-print", ""), u2.textContent = "Esc to exit", r2.appendChild(l2), r2.appendChild(d2), r2.appendChild(u2), e2.background && r2.style.setProperty("--notectl-code-block-bg", e2.background), e2.headerBackground && r2.style.setProperty("--notectl-code-block-header-bg", e2.headerBackground), e2.textColor && r2.style.setProperty("--notectl-code-block-color", e2.textColor), e2.headerColor && r2.style.setProperty("--notectl-code-block-header-color", e2.headerColor);
462
+ u2.className = "notectl-code-block__esc-hint", u2.setAttribute("contenteditable", "false"), u2.setAttribute("aria-hidden", "true"), u2.setAttribute("data-notectl-no-print", ""), u2.textContent = "Esc to exit", r2.appendChild(l2), r2.appendChild(d2), r2.appendChild(u2), e2.background && p(r2, "--notectl-code-block-bg", e2.background), e2.headerBackground && p(r2, "--notectl-code-block-header-bg", e2.headerBackground), e2.textColor && p(r2, "--notectl-code-block-color", e2.textColor), e2.headerColor && p(r2, "--notectl-code-block-header-color", e2.headerColor);
462
463
  let f2 = t3.id;
463
464
  function k2(t4) {
464
465
  const e3 = t4.attrs?.language ?? "", o3 = e3 || "plain";
465
466
  s2.textContent = o3, r2.setAttribute("aria-label", `${o3} code block. Press Escape to exit.`), e3 ? d2.setAttribute("data-language", e3) : d2.removeAttribute("data-language");
466
467
  const n2 = t4.attrs?.backgroundColor ?? "";
467
- r2.style.backgroundColor = n2 || "";
468
+ p(r2, "backgroundColor", n2 || "");
468
469
  }
469
470
  return k2(t3), i2 && i2.addEventListener("click", (t4) => {
470
471
  t4.preventDefault(), t4.stopPropagation();
@@ -494,7 +495,7 @@ class $ {
494
495
  } });
495
496
  }
496
497
  registerToolbarItem(t2) {
497
- t2.registerToolbarItem({ id: "code_block", group: "block", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"/></svg>', label: this.locale.label, tooltip: this.locale.tooltip(this.resolvedKeymap.toggle ? p(this.resolvedKeymap.toggle) : void 0), command: "toggleCodeBlock", priority: 56, separatorAfter: this.config.separatorAfter, isActive: (t3) => {
498
+ t2.registerToolbarItem({ id: "code_block", group: "block", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"/></svg>', label: this.locale.label, tooltip: this.locale.tooltip(this.resolvedKeymap.toggle ? g(this.resolvedKeymap.toggle) : void 0), command: "toggleCodeBlock", priority: 56, separatorAfter: this.config.separatorAfter, isActive: (t3) => {
498
499
  if (a(t3.selection) || d(t3.selection)) return false;
499
500
  const e2 = t3.getBlock(t3.selection.anchor.blockId);
500
501
  return "code_block" === e2?.type;
@@ -528,14 +529,14 @@ class $ {
528
529
  }
529
530
  }
530
531
  export {
531
- $ as C,
532
- I as D,
533
- N as a,
534
- M as b,
535
- O as c,
536
- x as d,
532
+ j as C,
533
+ x as D,
534
+ E as a,
535
+ N as b,
536
+ z as c,
537
+ w as d,
537
538
  y as i,
538
- B as n,
539
- C as w
539
+ C as n,
540
+ I as w
540
541
  };
541
- //# sourceMappingURL=index-CAV2N-fF.mjs.map
542
+ //# sourceMappingURL=index-D515iymW.mjs.map