@notectl/core 2.2.6 → 2.3.3

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 (544) hide show
  1. package/README.md +1 -1
  2. package/THIRD-PARTY-NOTICES.md +129 -0
  3. package/dist/chunks/{AlignmentPlugin-DeD4C4EP.mjs → AlignmentPlugin-C9Rr_R-g.mjs} +2 -2
  4. package/dist/chunks/{AlignmentPlugin-DeD4C4EP.mjs.map → AlignmentPlugin-C9Rr_R-g.mjs.map} +1 -1
  5. package/dist/chunks/{AttrRegistry-DcDVyzLm.mjs → AttrRegistry-B3zB02z9.mjs} +2 -2
  6. package/dist/chunks/AttrRegistry-B3zB02z9.mjs.map +1 -0
  7. package/dist/chunks/AttributedMarkCommands-BCvmqeFZ.mjs +2 -0
  8. package/dist/chunks/{AttributedMarkCommands-D4W2Jgpj.mjs.map → AttributedMarkCommands-BCvmqeFZ.mjs.map} +1 -1
  9. package/dist/chunks/{BidiIsolationPlugin-BddRbDCN.mjs → BidiIsolationPlugin-Cw2KMk-H.mjs} +2 -2
  10. package/dist/chunks/{BidiIsolationPlugin-BddRbDCN.mjs.map → BidiIsolationPlugin-Cw2KMk-H.mjs.map} +1 -1
  11. package/dist/chunks/BlockInsertion-CYH2gRkY.mjs +2 -0
  12. package/dist/chunks/BlockInsertion-CYH2gRkY.mjs.map +1 -0
  13. package/dist/chunks/BlockquotePlugin-0bZSbkyo.mjs +2 -0
  14. package/dist/chunks/{BlockquotePlugin-4V7KV_Sb.mjs.map → BlockquotePlugin-0bZSbkyo.mjs.map} +1 -1
  15. package/dist/chunks/CaretNavigationPlugin-BPZ9b6XR.mjs +2 -0
  16. package/dist/chunks/CaretNavigationPlugin-BPZ9b6XR.mjs.map +1 -0
  17. package/dist/chunks/CodeBlockPlugin-BCJ3faXx.mjs +2 -0
  18. package/dist/chunks/CodeBlockPlugin-BCJ3faXx.mjs.map +1 -0
  19. package/dist/chunks/{ColorGrid-DPNiXxpD.mjs → ColorGrid-DQEkJ-0y.mjs} +2 -2
  20. package/dist/chunks/{ColorGrid-DPNiXxpD.mjs.map → ColorGrid-DQEkJ-0y.mjs.map} +1 -1
  21. package/dist/chunks/{ColorPickerPopup-lcf3jS6G.mjs → ColorPickerPopup-CyF26zIU.mjs} +2 -2
  22. package/dist/chunks/{ColorPickerPopup-lcf3jS6G.mjs.map → ColorPickerPopup-CyF26zIU.mjs.map} +1 -1
  23. package/dist/chunks/Commands-D5ND50PQ.mjs +2 -0
  24. package/dist/chunks/Commands-D5ND50PQ.mjs.map +1 -0
  25. package/dist/chunks/ContentModel-NpAj7vGW.mjs +2 -0
  26. package/dist/chunks/ContentModel-NpAj7vGW.mjs.map +1 -0
  27. package/dist/chunks/Decoration-BOP1TAUd.mjs +2 -0
  28. package/dist/chunks/Decoration-BOP1TAUd.mjs.map +1 -0
  29. package/dist/chunks/{DirectionDetection-C7XE0nxW.mjs → DirectionDetection-CDVSEWQ6.mjs} +2 -2
  30. package/dist/chunks/{DirectionDetection-C7XE0nxW.mjs.map → DirectionDetection-CDVSEWQ6.mjs.map} +1 -1
  31. package/dist/chunks/Document-827l3P80.mjs +2 -0
  32. package/dist/chunks/Document-827l3P80.mjs.map +1 -0
  33. package/dist/chunks/DocumentParser-D2tr3ZKn.mjs +2 -0
  34. package/dist/chunks/DocumentParser-D2tr3ZKn.mjs.map +1 -0
  35. package/dist/chunks/EditorEventBoundary-zpYRxryo.mjs +2 -0
  36. package/dist/chunks/EditorEventBoundary-zpYRxryo.mjs.map +1 -0
  37. package/dist/chunks/{FontPlugin-DQMj65Bc.mjs → FontPlugin-D041tiLe.mjs} +2 -2
  38. package/dist/chunks/{FontPlugin-DQMj65Bc.mjs.map → FontPlugin-D041tiLe.mjs.map} +1 -1
  39. package/dist/chunks/{FontSizePlugin-9StCjEfN.mjs → FontSizePlugin-8CAvj1RD.mjs} +2 -2
  40. package/dist/chunks/FontSizePlugin-8CAvj1RD.mjs.map +1 -0
  41. package/dist/chunks/FormulaPlugin-DJ39BtqV.mjs +2 -0
  42. package/dist/chunks/FormulaPlugin-DJ39BtqV.mjs.map +1 -0
  43. package/dist/chunks/GapCursorNavigation-DCWOmopl.mjs +2 -0
  44. package/dist/chunks/{GapCursorNavigation-ycNzuQVH.mjs.map → GapCursorNavigation-DCWOmopl.mjs.map} +1 -1
  45. package/dist/chunks/GapCursorPlugin-2iR6506y.mjs +2 -0
  46. package/dist/chunks/{GapCursorPlugin-Zvxjnr82.mjs.map → GapCursorPlugin-2iR6506y.mjs.map} +1 -1
  47. package/dist/chunks/HTMLUtils-Bhg3_P8B.mjs +2 -0
  48. package/dist/chunks/HTMLUtils-Bhg3_P8B.mjs.map +1 -0
  49. package/dist/chunks/{HardBreakPlugin-9DOyCyyM.mjs → HardBreakPlugin-vniSvTgq.mjs} +2 -2
  50. package/dist/chunks/{HardBreakPlugin-9DOyCyyM.mjs.map → HardBreakPlugin-vniSvTgq.mjs.map} +1 -1
  51. package/dist/chunks/HeadingPlugin-DUKsLuMd.mjs +2 -0
  52. package/dist/chunks/{HeadingPlugin-BuGoM9Rz.mjs.map → HeadingPlugin-DUKsLuMd.mjs.map} +1 -1
  53. package/dist/chunks/{HighlightPlugin-C6pHifVz.mjs → HighlightPlugin-DRTAE1N5.mjs} +2 -2
  54. package/dist/chunks/{HighlightPlugin-C6pHifVz.mjs.map → HighlightPlugin-DRTAE1N5.mjs.map} +1 -1
  55. package/dist/chunks/HorizontalRulePlugin-B9OvwrKB.mjs +2 -0
  56. package/dist/chunks/HorizontalRulePlugin-B9OvwrKB.mjs.map +1 -0
  57. package/dist/chunks/ImagePlugin-CwxTRr6d.mjs +2 -0
  58. package/dist/chunks/{ImagePlugin-KpkuE2LH.mjs.map → ImagePlugin-CwxTRr6d.mjs.map} +1 -1
  59. package/dist/chunks/{InlineCodePlugin-DMr4O7c7.mjs → InlineCodePlugin-uxgMUX_E.mjs} +2 -2
  60. package/dist/chunks/InlineCodePlugin-uxgMUX_E.mjs.map +1 -0
  61. package/dist/chunks/InlineStyleMarkSpec-CjSRj4f_.mjs +2 -0
  62. package/dist/chunks/{InlineStyleMarkSpec-C6LJT7kp.mjs.map → InlineStyleMarkSpec-CjSRj4f_.mjs.map} +1 -1
  63. package/dist/chunks/LinkPlugin-CvWHbSkb.mjs +2 -0
  64. package/dist/chunks/LinkPlugin-CvWHbSkb.mjs.map +1 -0
  65. package/dist/chunks/ListPlugin-BchSFWVn.mjs +2 -0
  66. package/dist/chunks/ListPlugin-BchSFWVn.mjs.map +1 -0
  67. package/dist/chunks/MarkInputRule-Bdi8KPus.mjs +2 -0
  68. package/dist/chunks/MarkInputRule-Bdi8KPus.mjs.map +1 -0
  69. package/dist/chunks/MarkdownHTMLRegistry-Q7l0d6Ma.mjs +2 -0
  70. package/dist/chunks/MarkdownHTMLRegistry-Q7l0d6Ma.mjs.map +1 -0
  71. package/dist/chunks/MarkdownParser-Dp62mfUq.mjs +2 -0
  72. package/dist/chunks/MarkdownParser-Dp62mfUq.mjs.map +1 -0
  73. package/dist/chunks/MarkdownSerializer-DBELFAeo.mjs +2 -0
  74. package/dist/chunks/MarkdownSerializer-DBELFAeo.mjs.map +1 -0
  75. package/dist/chunks/MathFont-BS8IwYh2.mjs +2 -0
  76. package/dist/chunks/MathFont-BS8IwYh2.mjs.map +1 -0
  77. package/dist/chunks/{NodeResolver-ChgLF_IP.mjs → NodeResolver-Dleih-8R.mjs} +2 -2
  78. package/dist/chunks/{NodeResolver-ChgLF_IP.mjs.map → NodeResolver-Dleih-8R.mjs.map} +1 -1
  79. package/dist/chunks/NodeSelectionCommands-WH5snxr_.mjs +2 -0
  80. package/dist/chunks/{NodeSelectionCommands-Dj4VxLdD.mjs.map → NodeSelectionCommands-WH5snxr_.mjs.map} +1 -1
  81. package/dist/chunks/{PopupManager-DUtaK3WX.mjs → PopupManager-Cj86uDEB.mjs} +2 -2
  82. package/dist/chunks/{PopupManager-DUtaK3WX.mjs.map → PopupManager-Cj86uDEB.mjs.map} +1 -1
  83. package/dist/chunks/PopupPositioning-BFh6Ed1D.mjs +2 -0
  84. package/dist/chunks/{PopupPositioning-BB97-__N.mjs.map → PopupPositioning-BFh6Ed1D.mjs.map} +1 -1
  85. package/dist/chunks/PrintPlugin-D2javl_d.mjs +2 -0
  86. package/dist/chunks/PrintPlugin-D2javl_d.mjs.map +1 -0
  87. package/dist/chunks/{RangeIterator-o8v3msQe.mjs → RangeIterator-DP7Ud3Gp.mjs} +2 -2
  88. package/dist/chunks/{RangeIterator-o8v3msQe.mjs.map → RangeIterator-DP7Ud3Gp.mjs.map} +1 -1
  89. package/dist/chunks/SchemaRegistry-CkBN-1yW.mjs +2 -0
  90. package/dist/chunks/SchemaRegistry-CkBN-1yW.mjs.map +1 -0
  91. package/dist/chunks/SimpleMark-gTQaSJcO.mjs +2 -0
  92. package/dist/chunks/{SimpleMark-CaQtFAau.mjs.map → SimpleMark-gTQaSJcO.mjs.map} +1 -1
  93. package/dist/chunks/SmartPastePlugin-BvJQ-fOz.mjs +2 -0
  94. package/dist/chunks/SmartPastePlugin-BvJQ-fOz.mjs.map +1 -0
  95. package/dist/chunks/StarterFonts-BDQPg-cu.mjs +2 -0
  96. package/dist/chunks/StarterFonts-BDQPg-cu.mjs.map +1 -0
  97. package/dist/chunks/StrikethroughPlugin-BdrG1TTY.mjs +2 -0
  98. package/dist/chunks/StrikethroughPlugin-BdrG1TTY.mjs.map +1 -0
  99. package/dist/chunks/StyleRuntime-DW6omotc.mjs +2 -0
  100. package/dist/chunks/StyleRuntime-DW6omotc.mjs.map +1 -0
  101. package/dist/chunks/{SuperSubPlugin-DVP7VnIz.mjs → SuperSubPlugin-DTZB0Y3D.mjs} +2 -2
  102. package/dist/chunks/{SuperSubPlugin-DVP7VnIz.mjs.map → SuperSubPlugin-DTZB0Y3D.mjs.map} +1 -1
  103. package/dist/chunks/TableDimensions-BBhjHNjQ.mjs +2 -0
  104. package/dist/chunks/TableDimensions-BBhjHNjQ.mjs.map +1 -0
  105. package/dist/chunks/TablePlugin-CPvg9YZS.mjs +2 -0
  106. package/dist/chunks/TablePlugin-CPvg9YZS.mjs.map +1 -0
  107. package/dist/chunks/TextColorPlugin-Ckg3KWvb.mjs +2 -0
  108. package/dist/chunks/{TextColorPlugin-CEfZQ6Md.mjs.map → TextColorPlugin-Ckg3KWvb.mjs.map} +1 -1
  109. package/dist/chunks/TextDirectionAutoPlugin-DRGbgTlx.mjs +2 -0
  110. package/dist/chunks/{TextDirectionAutoPlugin-CzWJjrvG.mjs.map → TextDirectionAutoPlugin-DRGbgTlx.mjs.map} +1 -1
  111. package/dist/chunks/TextDirectionPlugin-BCeYyJHo.mjs +2 -0
  112. package/dist/chunks/{TextDirectionPlugin-DHB88HKf.mjs.map → TextDirectionPlugin-BCeYyJHo.mjs.map} +1 -1
  113. package/dist/chunks/TextFormattingPlugin-BhRxSC8q.mjs +2 -0
  114. package/dist/chunks/TextFormattingPlugin-BhRxSC8q.mjs.map +1 -0
  115. package/dist/chunks/ThemeEngine-BUVo_zaT.mjs +3 -0
  116. package/dist/chunks/ThemeEngine-BUVo_zaT.mjs.map +1 -0
  117. package/dist/chunks/ToolbarPlugin-dmTj1jIz.mjs +2 -0
  118. package/dist/chunks/{ToolbarPlugin-DVGrFf8v.mjs.map → ToolbarPlugin-dmTj1jIz.mjs.map} +1 -1
  119. package/dist/chunks/VideoPlugin-BugkI7-m.mjs +2 -0
  120. package/dist/chunks/VideoPlugin-BugkI7-m.mjs.map +1 -0
  121. package/dist/chunks/WordBoundary-CFpIJDNP.mjs +2 -0
  122. package/dist/chunks/{WordBoundary-DxeMBRyP.mjs.map → WordBoundary-CFpIJDNP.mjs.map} +1 -1
  123. package/dist/chunks/XmlSupport-DIXH5on9.mjs +2 -0
  124. package/dist/chunks/XmlSupport-DIXH5on9.mjs.map +1 -0
  125. package/dist/chunks/ar-Dg9PdDet.mjs +2 -0
  126. package/dist/chunks/ar-Dg9PdDet.mjs.map +1 -0
  127. package/dist/chunks/ar-eOA3UmiE.mjs +2 -0
  128. package/dist/chunks/{ar-BTShmP2E.mjs.map → ar-eOA3UmiE.mjs.map} +1 -1
  129. package/dist/chunks/de-DJ5EkXQo.mjs +2 -0
  130. package/dist/chunks/de-DJ5EkXQo.mjs.map +1 -0
  131. package/dist/chunks/{de-C--bRmjW.mjs → de-DRbhnS4T.mjs} +2 -2
  132. package/dist/chunks/{de-C--bRmjW.mjs.map → de-DRbhnS4T.mjs.map} +1 -1
  133. package/dist/chunks/{es-DFUVd7eO.mjs → es-BQ9dox_E.mjs} +2 -2
  134. package/dist/chunks/{es-DFUVd7eO.mjs.map → es-BQ9dox_E.mjs.map} +1 -1
  135. package/dist/chunks/es-CEAJj7aB.mjs +2 -0
  136. package/dist/chunks/es-CEAJj7aB.mjs.map +1 -0
  137. package/dist/chunks/fr-DhWQzZy3.mjs +2 -0
  138. package/dist/chunks/fr-DhWQzZy3.mjs.map +1 -0
  139. package/dist/chunks/{fr-BaXKyPmX.mjs → fr-NVOinLyF.mjs} +2 -2
  140. package/dist/chunks/{fr-BaXKyPmX.mjs.map → fr-NVOinLyF.mjs.map} +1 -1
  141. package/dist/chunks/full-JM0-SwWy.mjs +2 -0
  142. package/dist/chunks/{full-BBl7mvwH.mjs.map → full-JM0-SwWy.mjs.map} +1 -1
  143. package/dist/chunks/hi-BsZzSMfL.mjs +2 -0
  144. package/dist/chunks/hi-BsZzSMfL.mjs.map +1 -0
  145. package/dist/chunks/{hi-aH9HZG23.mjs → hi-DrC2H81d.mjs} +2 -2
  146. package/dist/chunks/{hi-aH9HZG23.mjs.map → hi-DrC2H81d.mjs.map} +1 -1
  147. package/dist/chunks/minimal-DSlR2A27.mjs +2 -0
  148. package/dist/chunks/{minimal-CtnR4dqp.mjs.map → minimal-DSlR2A27.mjs.map} +1 -1
  149. package/dist/chunks/pt-BuZ7acHF.mjs +2 -0
  150. package/dist/chunks/pt-BuZ7acHF.mjs.map +1 -0
  151. package/dist/chunks/{pt-Hy-0Xnnc.mjs → pt-CFrcl1v_.mjs} +2 -2
  152. package/dist/chunks/{pt-Hy-0Xnnc.mjs.map → pt-CFrcl1v_.mjs.map} +1 -1
  153. package/dist/chunks/register-BjsdJ3Aq.mjs +2 -0
  154. package/dist/chunks/register-BjsdJ3Aq.mjs.map +1 -0
  155. package/dist/chunks/rolldown-runtime-H_PjY6_i.mjs +1 -0
  156. package/dist/chunks/ru-CsP6mLxp.mjs +2 -0
  157. package/dist/chunks/ru-CsP6mLxp.mjs.map +1 -0
  158. package/dist/chunks/{ru-BFpEOrVp.mjs → ru-gxbzqLL8.mjs} +2 -2
  159. package/dist/chunks/{ru-BFpEOrVp.mjs.map → ru-gxbzqLL8.mjs.map} +1 -1
  160. package/dist/chunks/src-5GKFQ2mQ.mjs +2 -0
  161. package/dist/chunks/src-5GKFQ2mQ.mjs.map +1 -0
  162. package/dist/chunks/xml-BsV44TrJ.mjs +2 -0
  163. package/dist/chunks/xml-BsV44TrJ.mjs.map +1 -0
  164. package/dist/chunks/zh-BFZOM3lF.mjs +2 -0
  165. package/dist/chunks/{zh-BjoyjClN.mjs.map → zh-BFZOM3lF.mjs.map} +1 -1
  166. package/dist/chunks/zh-CiIyOm6U.mjs +2 -0
  167. package/dist/chunks/zh-CiIyOm6U.mjs.map +1 -0
  168. package/dist/commands/BlockInsertion.d.ts +5 -3
  169. package/dist/commands/BlockInsertion.d.ts.map +1 -1
  170. package/dist/commands/SelectionDeletion.d.ts +13 -2
  171. package/dist/commands/SelectionDeletion.d.ts.map +1 -1
  172. package/dist/editor/ContentSerializer.d.ts +21 -0
  173. package/dist/editor/ContentSerializer.d.ts.map +1 -1
  174. package/dist/editor/EditorConfig.d.ts +17 -0
  175. package/dist/editor/EditorConfig.d.ts.map +1 -1
  176. package/dist/editor/EditorConfigController.d.ts +10 -0
  177. package/dist/editor/EditorConfigController.d.ts.map +1 -1
  178. package/dist/editor/EditorInitializer.d.ts +4 -0
  179. package/dist/editor/EditorInitializer.d.ts.map +1 -1
  180. package/dist/editor/EditorLocale.d.ts +2 -0
  181. package/dist/editor/EditorLocale.d.ts.map +1 -1
  182. package/dist/editor/MarkdownMode.d.ts +46 -0
  183. package/dist/editor/MarkdownMode.d.ts.map +1 -0
  184. package/dist/editor/NotectlEditor.d.ts +24 -0
  185. package/dist/editor/NotectlEditor.d.ts.map +1 -1
  186. package/dist/editor/locales/ar.d.ts.map +1 -1
  187. package/dist/editor/locales/de.d.ts.map +1 -1
  188. package/dist/editor/locales/es.d.ts.map +1 -1
  189. package/dist/editor/locales/fr.d.ts.map +1 -1
  190. package/dist/editor/locales/hi.d.ts.map +1 -1
  191. package/dist/editor/locales/pt.d.ts.map +1 -1
  192. package/dist/editor/locales/ru.d.ts.map +1 -1
  193. package/dist/editor/locales/zh.d.ts.map +1 -1
  194. package/dist/editor/styles/list.d.ts +1 -1
  195. package/dist/editor/styles/list.d.ts.map +1 -1
  196. package/dist/editor/styles/table.d.ts +1 -1
  197. package/dist/editor/styles/table.d.ts.map +1 -1
  198. package/dist/fonts/math.d.ts +3 -0
  199. package/dist/fonts/math.d.ts.map +1 -0
  200. package/dist/fonts/math.mjs +1 -0
  201. package/dist/fonts/starter.d.ts +3 -0
  202. package/dist/fonts/starter.d.ts.map +1 -0
  203. package/dist/fonts/starter.mjs +1 -0
  204. package/dist/fonts.d.ts +4 -4
  205. package/dist/fonts.mjs +1 -1
  206. package/dist/full.d.ts +1 -1
  207. package/dist/full.mjs +1 -1
  208. package/dist/html.d.ts +1 -0
  209. package/dist/html.d.ts.map +1 -1
  210. package/dist/html.mjs +1 -1
  211. package/dist/index.d.ts +7 -6
  212. package/dist/index.d.ts.map +1 -1
  213. package/dist/input/ClipboardHandler.d.ts +2 -0
  214. package/dist/input/ClipboardHandler.d.ts.map +1 -1
  215. package/dist/input/InputHandler.d.ts +7 -0
  216. package/dist/input/InputHandler.d.ts.map +1 -1
  217. package/dist/input/InputManager.d.ts +10 -0
  218. package/dist/input/InputManager.d.ts.map +1 -1
  219. package/dist/input/KeyboardHandler.d.ts.map +1 -1
  220. package/dist/input/MarkdownPasteDetector.d.ts +26 -0
  221. package/dist/input/MarkdownPasteDetector.d.ts.map +1 -0
  222. package/dist/input/PasteHTMLHandler.d.ts +18 -1
  223. package/dist/input/PasteHTMLHandler.d.ts.map +1 -1
  224. package/dist/input/PasteHandler.d.ts +30 -0
  225. package/dist/input/PasteHandler.d.ts.map +1 -1
  226. package/dist/input/PasteRichBlockHandler.d.ts.map +1 -1
  227. package/dist/input/SelectionDocument.d.ts +2 -1
  228. package/dist/input/SelectionDocument.d.ts.map +1 -1
  229. package/dist/markdown.d.ts +17 -0
  230. package/dist/markdown.d.ts.map +1 -0
  231. package/dist/markdown.mjs +1 -0
  232. package/dist/model/AttrRegistry.d.ts +2 -2
  233. package/dist/model/AttrRegistry.d.ts.map +1 -1
  234. package/dist/model/ContentModel.d.ts +12 -0
  235. package/dist/model/ContentModel.d.ts.map +1 -1
  236. package/dist/model/Document.d.ts +28 -3
  237. package/dist/model/Document.d.ts.map +1 -1
  238. package/dist/model/HTMLUtils.d.ts +15 -0
  239. package/dist/model/HTMLUtils.d.ts.map +1 -1
  240. package/dist/model/InlineNodeSpec.d.ts +7 -1
  241. package/dist/model/InlineNodeSpec.d.ts.map +1 -1
  242. package/dist/model/InputRule.d.ts +11 -0
  243. package/dist/model/InputRule.d.ts.map +1 -1
  244. package/dist/model/MarkSpec.d.ts +7 -1
  245. package/dist/model/MarkSpec.d.ts.map +1 -1
  246. package/dist/model/MarkdownSyntaxRegistry.d.ts +51 -0
  247. package/dist/model/MarkdownSyntaxRegistry.d.ts.map +1 -0
  248. package/dist/model/NodeSpec.d.ts +47 -1
  249. package/dist/model/NodeSpec.d.ts.map +1 -1
  250. package/dist/model/RichBlockData.d.ts +2 -0
  251. package/dist/model/RichBlockData.d.ts.map +1 -1
  252. package/dist/model/SchemaRegistry.d.ts.map +1 -1
  253. package/dist/model/TableDimensions.d.ts +11 -0
  254. package/dist/model/TableDimensions.d.ts.map +1 -0
  255. package/dist/notectl-core.mjs +1 -1
  256. package/dist/notectl-core.umd.js +1 -1
  257. package/dist/notectl-core.umd.js.map +1 -1
  258. package/dist/platform/EditorEventBoundary.d.ts +12 -0
  259. package/dist/platform/EditorEventBoundary.d.ts.map +1 -0
  260. package/dist/plugins/Plugin.d.ts +7 -0
  261. package/dist/plugins/Plugin.d.ts.map +1 -1
  262. package/dist/plugins/PluginContextFactory.d.ts +2 -0
  263. package/dist/plugins/PluginContextFactory.d.ts.map +1 -1
  264. package/dist/plugins/PluginManager.d.ts +2 -0
  265. package/dist/plugins/PluginManager.d.ts.map +1 -1
  266. package/dist/plugins/alignment.mjs +1 -1
  267. package/dist/plugins/bidi-isolation.mjs +1 -1
  268. package/dist/plugins/blockquote/BlockquotePlugin.d.ts +2 -0
  269. package/dist/plugins/blockquote/BlockquotePlugin.d.ts.map +1 -1
  270. package/dist/plugins/blockquote.mjs +1 -1
  271. package/dist/plugins/caret-navigation.mjs +1 -1
  272. package/dist/plugins/code-block/CodeBlockHighlighting.d.ts.map +1 -1
  273. package/dist/plugins/code-block/CodeBlockTypes.d.ts +2 -0
  274. package/dist/plugins/code-block/CodeBlockTypes.d.ts.map +1 -1
  275. package/dist/plugins/code-block.mjs +1 -1
  276. package/dist/plugins/font-size/FontSizeOperations.d.ts.map +1 -1
  277. package/dist/plugins/font-size.mjs +1 -1
  278. package/dist/plugins/font.mjs +1 -1
  279. package/dist/plugins/formula/DisplayMathNodeSpec.d.ts.map +1 -1
  280. package/dist/plugins/formula/FormulaInputRules.d.ts.map +1 -1
  281. package/dist/plugins/formula/FormulaMarkdownSyntax.d.ts +4 -0
  282. package/dist/plugins/formula/FormulaMarkdownSyntax.d.ts.map +1 -0
  283. package/dist/plugins/formula/FormulaPlugin.d.ts.map +1 -1
  284. package/dist/plugins/formula/FormulaTypes.d.ts +3 -1
  285. package/dist/plugins/formula/FormulaTypes.d.ts.map +1 -1
  286. package/dist/plugins/formula/InlineMathNodeSpec.d.ts.map +1 -1
  287. package/dist/plugins/formula.mjs +1 -1
  288. package/dist/plugins/gap-cursor.mjs +1 -1
  289. package/dist/plugins/hard-break.mjs +1 -1
  290. package/dist/plugins/heading/HeadingPlugin.d.ts +2 -0
  291. package/dist/plugins/heading/HeadingPlugin.d.ts.map +1 -1
  292. package/dist/plugins/heading.mjs +1 -1
  293. package/dist/plugins/highlight.mjs +1 -1
  294. package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts +2 -0
  295. package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts.map +1 -1
  296. package/dist/plugins/horizontal-rule.mjs +1 -1
  297. package/dist/plugins/image/ImagePlugin.d.ts +14 -0
  298. package/dist/plugins/image/ImagePlugin.d.ts.map +1 -1
  299. package/dist/plugins/image.mjs +1 -1
  300. package/dist/plugins/inline-code/InlineCodePlugin.d.ts.map +1 -1
  301. package/dist/plugins/inline-code.mjs +1 -1
  302. package/dist/plugins/language.mjs +1 -1
  303. package/dist/plugins/link/LinkPlugin.d.ts +14 -0
  304. package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
  305. package/dist/plugins/link.mjs +1 -1
  306. package/dist/plugins/list/ListCommands.d.ts +5 -1
  307. package/dist/plugins/list/ListCommands.d.ts.map +1 -1
  308. package/dist/plugins/list/ListInputRules.d.ts.map +1 -1
  309. package/dist/plugins/list/ListItemContext.d.ts +27 -0
  310. package/dist/plugins/list/ListItemContext.d.ts.map +1 -0
  311. package/dist/plugins/list/ListKeyboardHandlers.d.ts.map +1 -1
  312. package/dist/plugins/list/ListPlugin.d.ts +2 -0
  313. package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
  314. package/dist/plugins/list/ListToolbarItems.d.ts.map +1 -1
  315. package/dist/plugins/list.mjs +1 -1
  316. package/dist/plugins/print/PrintContentPreparer.d.ts.map +1 -1
  317. package/dist/plugins/print/PrintDestinationBridge.d.ts +23 -0
  318. package/dist/plugins/print/PrintDestinationBridge.d.ts.map +1 -0
  319. package/dist/plugins/print/PrintHostStyles.d.ts.map +1 -1
  320. package/dist/plugins/print/PrintServiceImpl.d.ts +5 -1
  321. package/dist/plugins/print/PrintServiceImpl.d.ts.map +1 -1
  322. package/dist/plugins/print/PrintStyleCollector.d.ts.map +1 -1
  323. package/dist/plugins/print.mjs +1 -1
  324. package/dist/plugins/shared/MarkInputRule.d.ts +9 -0
  325. package/dist/plugins/shared/MarkInputRule.d.ts.map +1 -0
  326. package/dist/plugins/shared/PopupPositioning.d.ts +2 -0
  327. package/dist/plugins/shared/PopupPositioning.d.ts.map +1 -1
  328. package/dist/plugins/shared/index.d.ts +1 -0
  329. package/dist/plugins/shared/index.d.ts.map +1 -1
  330. package/dist/plugins/shared.mjs +1 -1
  331. package/dist/plugins/smart-paste/SmartPastePlugin.d.ts.map +1 -1
  332. package/dist/plugins/smart-paste.mjs +1 -1
  333. package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts +2 -0
  334. package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts.map +1 -1
  335. package/dist/plugins/strikethrough.mjs +1 -1
  336. package/dist/plugins/super-sub.mjs +1 -1
  337. package/dist/plugins/table/TableClipboard.d.ts +8 -0
  338. package/dist/plugins/table/TableClipboard.d.ts.map +1 -0
  339. package/dist/plugins/table/TableCommands.d.ts.map +1 -1
  340. package/dist/plugins/table/TableContextMenu.d.ts +11 -1
  341. package/dist/plugins/table/TableContextMenu.d.ts.map +1 -1
  342. package/dist/plugins/table/TableControls.d.ts +6 -1
  343. package/dist/plugins/table/TableControls.d.ts.map +1 -1
  344. package/dist/plugins/table/TableControlsDOM.d.ts +11 -2
  345. package/dist/plugins/table/TableControlsDOM.d.ts.map +1 -1
  346. package/dist/plugins/table/TableControlsLayout.d.ts +12 -3
  347. package/dist/plugins/table/TableControlsLayout.d.ts.map +1 -1
  348. package/dist/plugins/table/TableGrid.d.ts +57 -0
  349. package/dist/plugins/table/TableGrid.d.ts.map +1 -0
  350. package/dist/plugins/table/TableHelpers.d.ts +4 -0
  351. package/dist/plugins/table/TableHelpers.d.ts.map +1 -1
  352. package/dist/plugins/table/TableLocale.d.ts +30 -0
  353. package/dist/plugins/table/TableLocale.d.ts.map +1 -1
  354. package/dist/plugins/table/TableNavigation.d.ts +5 -1
  355. package/dist/plugins/table/TableNavigation.d.ts.map +1 -1
  356. package/dist/plugins/table/TableNodeViews.d.ts +13 -1
  357. package/dist/plugins/table/TableNodeViews.d.ts.map +1 -1
  358. package/dist/plugins/table/TablePlugin.d.ts +21 -1
  359. package/dist/plugins/table/TablePlugin.d.ts.map +1 -1
  360. package/dist/plugins/table/TableSelection.d.ts.map +1 -1
  361. package/dist/plugins/table/TableSizeEditor.d.ts +11 -0
  362. package/dist/plugins/table/TableSizeEditor.d.ts.map +1 -0
  363. package/dist/plugins/table/TableSizing.d.ts +70 -0
  364. package/dist/plugins/table/TableSizing.d.ts.map +1 -0
  365. package/dist/plugins/table/index.d.ts +3 -1
  366. package/dist/plugins/table/index.d.ts.map +1 -1
  367. package/dist/plugins/table/locales/ar.d.ts.map +1 -1
  368. package/dist/plugins/table/locales/de.d.ts.map +1 -1
  369. package/dist/plugins/table/locales/es.d.ts.map +1 -1
  370. package/dist/plugins/table/locales/fr.d.ts.map +1 -1
  371. package/dist/plugins/table/locales/hi.d.ts.map +1 -1
  372. package/dist/plugins/table/locales/pt.d.ts.map +1 -1
  373. package/dist/plugins/table/locales/ru.d.ts.map +1 -1
  374. package/dist/plugins/table/locales/zh.d.ts.map +1 -1
  375. package/dist/plugins/table.mjs +1 -1
  376. package/dist/plugins/text-color.mjs +1 -1
  377. package/dist/plugins/text-direction-auto.mjs +1 -1
  378. package/dist/plugins/text-direction.mjs +1 -1
  379. package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts +9 -0
  380. package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts.map +1 -1
  381. package/dist/plugins/text-formatting.mjs +1 -1
  382. package/dist/plugins/toolbar.mjs +1 -1
  383. package/dist/plugins/video/VideoCommands.d.ts.map +1 -1
  384. package/dist/plugins/video.mjs +1 -1
  385. package/dist/presets/full.d.ts +1 -1
  386. package/dist/presets/full.mjs +1 -1
  387. package/dist/presets/minimal.d.ts +1 -1
  388. package/dist/presets/minimal.mjs +1 -1
  389. package/dist/presets.d.ts +1 -1
  390. package/dist/presets.mjs +1 -1
  391. package/dist/register.d.ts +3 -0
  392. package/dist/register.d.ts.map +1 -0
  393. package/dist/register.mjs +1 -0
  394. package/dist/serialization/DocumentParser.d.ts.map +1 -1
  395. package/dist/serialization/DocumentSerializer.d.ts +2 -0
  396. package/dist/serialization/DocumentSerializer.d.ts.map +1 -1
  397. package/dist/serialization/HTMLSanitization.d.ts +15 -0
  398. package/dist/serialization/HTMLSanitization.d.ts.map +1 -0
  399. package/dist/serialization/MarkSerializer.d.ts +12 -0
  400. package/dist/serialization/MarkSerializer.d.ts.map +1 -1
  401. package/dist/serialization/MarkdownParser.d.ts +6 -0
  402. package/dist/serialization/MarkdownParser.d.ts.map +1 -0
  403. package/dist/serialization/MarkdownSerializer.d.ts +12 -0
  404. package/dist/serialization/MarkdownSerializer.d.ts.map +1 -0
  405. package/dist/serialization/MarkdownTypes.d.ts +59 -0
  406. package/dist/serialization/MarkdownTypes.d.ts.map +1 -0
  407. package/dist/serialization/TableDimensions.d.ts +37 -0
  408. package/dist/serialization/TableDimensions.d.ts.map +1 -0
  409. package/dist/serialization/markdown/BlockSerializers.d.ts +7 -0
  410. package/dist/serialization/markdown/BlockSerializers.d.ts.map +1 -0
  411. package/dist/serialization/markdown/BlockTokenizer.d.ts +54 -0
  412. package/dist/serialization/markdown/BlockTokenizer.d.ts.map +1 -0
  413. package/dist/serialization/markdown/GfmAutolink.d.ts +20 -0
  414. package/dist/serialization/markdown/GfmAutolink.d.ts.map +1 -0
  415. package/dist/serialization/markdown/GfmTableParser.d.ts +26 -0
  416. package/dist/serialization/markdown/GfmTableParser.d.ts.map +1 -0
  417. package/dist/serialization/markdown/InlineAst.d.ts +34 -0
  418. package/dist/serialization/markdown/InlineAst.d.ts.map +1 -0
  419. package/dist/serialization/markdown/InlineSerializers.d.ts +5 -0
  420. package/dist/serialization/markdown/InlineSerializers.d.ts.map +1 -0
  421. package/dist/serialization/markdown/InlineTokenizer.d.ts +5 -0
  422. package/dist/serialization/markdown/InlineTokenizer.d.ts.map +1 -0
  423. package/dist/serialization/markdown/LinkReferenceExtractor.d.ts +37 -0
  424. package/dist/serialization/markdown/LinkReferenceExtractor.d.ts.map +1 -0
  425. package/dist/serialization/markdown/MarkdownContext.d.ts +32 -0
  426. package/dist/serialization/markdown/MarkdownContext.d.ts.map +1 -0
  427. package/dist/serialization/markdown/MarkdownEntities.d.ts +33 -0
  428. package/dist/serialization/markdown/MarkdownEntities.d.ts.map +1 -0
  429. package/dist/serialization/markdown/MarkdownEscape.d.ts +33 -0
  430. package/dist/serialization/markdown/MarkdownEscape.d.ts.map +1 -0
  431. package/dist/serialization/markdown/MarkdownHTMLRegistry.d.ts +4 -0
  432. package/dist/serialization/markdown/MarkdownHTMLRegistry.d.ts.map +1 -0
  433. package/dist/serialization/markdown/MarkdownParseContext.d.ts +23 -0
  434. package/dist/serialization/markdown/MarkdownParseContext.d.ts.map +1 -0
  435. package/dist/state/Mapping.d.ts +33 -10
  436. package/dist/state/Mapping.d.ts.map +1 -1
  437. package/dist/state/StepApplication.d.ts +3 -1
  438. package/dist/state/StepApplication.d.ts.map +1 -1
  439. package/dist/state/StepHandlers.d.ts.map +1 -1
  440. package/dist/state/StepInversion.d.ts +2 -1
  441. package/dist/state/StepInversion.d.ts.map +1 -1
  442. package/dist/state/StepMapping.d.ts +3 -2
  443. package/dist/state/StepMapping.d.ts.map +1 -1
  444. package/dist/state/StepMaps.d.ts +3 -2
  445. package/dist/state/StepMaps.d.ts.map +1 -1
  446. package/dist/state/Steps.d.ts +34 -2
  447. package/dist/state/Steps.d.ts.map +1 -1
  448. package/dist/state/TransactionBuilder.d.ts +7 -1
  449. package/dist/state/TransactionBuilder.d.ts.map +1 -1
  450. package/dist/test/MarkdownConformanceUtils.d.ts +12 -0
  451. package/dist/test/MarkdownConformanceUtils.d.ts.map +1 -0
  452. package/dist/view/BlockRendering.d.ts +5 -0
  453. package/dist/view/BlockRendering.d.ts.map +1 -1
  454. package/dist/view/DecorationRendering.d.ts +6 -0
  455. package/dist/view/DecorationRendering.d.ts.map +1 -1
  456. package/dist/view/EditorViewEvents.d.ts.map +1 -1
  457. package/dist/view/Reconciler.d.ts.map +1 -1
  458. package/package.json +28 -214
  459. package/dist/chunks/AttrRegistry-DcDVyzLm.mjs.map +0 -1
  460. package/dist/chunks/AttributedMarkCommands-D4W2Jgpj.mjs +0 -2
  461. package/dist/chunks/BlockInsertion-6rR9tIGP.mjs +0 -2
  462. package/dist/chunks/BlockInsertion-6rR9tIGP.mjs.map +0 -1
  463. package/dist/chunks/BlockquotePlugin-4V7KV_Sb.mjs +0 -2
  464. package/dist/chunks/CaretNavigationPlugin-C6XBwp0N.mjs +0 -2
  465. package/dist/chunks/CaretNavigationPlugin-C6XBwp0N.mjs.map +0 -1
  466. package/dist/chunks/CodeBlockPlugin-3V2K3RBe.mjs +0 -2
  467. package/dist/chunks/CodeBlockPlugin-3V2K3RBe.mjs.map +0 -1
  468. package/dist/chunks/Commands-BIIpx_Zd.mjs +0 -2
  469. package/dist/chunks/Commands-BIIpx_Zd.mjs.map +0 -1
  470. package/dist/chunks/Decoration-ZeyVfwJB.mjs +0 -2
  471. package/dist/chunks/Decoration-ZeyVfwJB.mjs.map +0 -1
  472. package/dist/chunks/Document-r7vLOAGA.mjs +0 -2
  473. package/dist/chunks/Document-r7vLOAGA.mjs.map +0 -1
  474. package/dist/chunks/DocumentParser-CcTSeT1B.mjs +0 -2
  475. package/dist/chunks/DocumentParser-CcTSeT1B.mjs.map +0 -1
  476. package/dist/chunks/FontSizePlugin-9StCjEfN.mjs.map +0 -1
  477. package/dist/chunks/FormulaPlugin-CV5VUxkb.mjs +0 -2
  478. package/dist/chunks/FormulaPlugin-CV5VUxkb.mjs.map +0 -1
  479. package/dist/chunks/GapCursorNavigation-ycNzuQVH.mjs +0 -2
  480. package/dist/chunks/GapCursorPlugin-Zvxjnr82.mjs +0 -2
  481. package/dist/chunks/HTMLUtils-C6B4UT00.mjs +0 -2
  482. package/dist/chunks/HTMLUtils-C6B4UT00.mjs.map +0 -1
  483. package/dist/chunks/HeadingPlugin-BuGoM9Rz.mjs +0 -2
  484. package/dist/chunks/HorizontalRulePlugin-0FjHPZuA.mjs +0 -2
  485. package/dist/chunks/HorizontalRulePlugin-0FjHPZuA.mjs.map +0 -1
  486. package/dist/chunks/ImagePlugin-KpkuE2LH.mjs +0 -2
  487. package/dist/chunks/InlineCodePlugin-DMr4O7c7.mjs.map +0 -1
  488. package/dist/chunks/InlineStyleMarkSpec-C6LJT7kp.mjs +0 -2
  489. package/dist/chunks/LinkPlugin-DvZ3MPgL.mjs +0 -2
  490. package/dist/chunks/LinkPlugin-DvZ3MPgL.mjs.map +0 -1
  491. package/dist/chunks/ListPlugin-2yl6KiTK.mjs +0 -2
  492. package/dist/chunks/ListPlugin-2yl6KiTK.mjs.map +0 -1
  493. package/dist/chunks/NodeSelectionCommands-Dj4VxLdD.mjs +0 -2
  494. package/dist/chunks/PopupPositioning-BB97-__N.mjs +0 -2
  495. package/dist/chunks/PrintPlugin-DyIZDY3Q.mjs +0 -2
  496. package/dist/chunks/PrintPlugin-DyIZDY3Q.mjs.map +0 -1
  497. package/dist/chunks/PrintTypes-CxU69qu3.mjs +0 -3
  498. package/dist/chunks/PrintTypes-CxU69qu3.mjs.map +0 -1
  499. package/dist/chunks/SimpleMark-CaQtFAau.mjs +0 -2
  500. package/dist/chunks/SmartPastePlugin-Bi_wpTCV.mjs +0 -2
  501. package/dist/chunks/SmartPastePlugin-Bi_wpTCV.mjs.map +0 -1
  502. package/dist/chunks/StrikethroughPlugin-BLKDRWtf.mjs +0 -2
  503. package/dist/chunks/StrikethroughPlugin-BLKDRWtf.mjs.map +0 -1
  504. package/dist/chunks/StyleRuntime-BFKu52mS.mjs +0 -2
  505. package/dist/chunks/StyleRuntime-BFKu52mS.mjs.map +0 -1
  506. package/dist/chunks/TablePlugin-BTH9VRZq.mjs +0 -2
  507. package/dist/chunks/TablePlugin-BTH9VRZq.mjs.map +0 -1
  508. package/dist/chunks/TextColorPlugin-CEfZQ6Md.mjs +0 -2
  509. package/dist/chunks/TextDirectionAutoPlugin-CzWJjrvG.mjs +0 -2
  510. package/dist/chunks/TextDirectionPlugin-DHB88HKf.mjs +0 -2
  511. package/dist/chunks/TextFormattingPlugin-Cubp3e7f.mjs +0 -2
  512. package/dist/chunks/TextFormattingPlugin-Cubp3e7f.mjs.map +0 -1
  513. package/dist/chunks/ToolbarPlugin-DVGrFf8v.mjs +0 -2
  514. package/dist/chunks/VideoPlugin-B3uf1Dwp.mjs +0 -2
  515. package/dist/chunks/VideoPlugin-B3uf1Dwp.mjs.map +0 -1
  516. package/dist/chunks/WordBoundary-DxeMBRyP.mjs +0 -2
  517. package/dist/chunks/XmlDetector-D7TQpw-e.mjs +0 -2
  518. package/dist/chunks/XmlDetector-D7TQpw-e.mjs.map +0 -1
  519. package/dist/chunks/XmlSupport-BYiRwlkK.mjs +0 -2
  520. package/dist/chunks/XmlSupport-BYiRwlkK.mjs.map +0 -1
  521. package/dist/chunks/ar-BTShmP2E.mjs +0 -2
  522. package/dist/chunks/ar-jbplYWkC.mjs +0 -2
  523. package/dist/chunks/ar-jbplYWkC.mjs.map +0 -1
  524. package/dist/chunks/de-DN-e6G5A.mjs +0 -2
  525. package/dist/chunks/de-DN-e6G5A.mjs.map +0 -1
  526. package/dist/chunks/es-CM55WeEN.mjs +0 -2
  527. package/dist/chunks/es-CM55WeEN.mjs.map +0 -1
  528. package/dist/chunks/fonts-DQC6Uj4r.mjs +0 -2
  529. package/dist/chunks/fonts-DQC6Uj4r.mjs.map +0 -1
  530. package/dist/chunks/fr-C_2i5Ono.mjs +0 -2
  531. package/dist/chunks/fr-C_2i5Ono.mjs.map +0 -1
  532. package/dist/chunks/full-BBl7mvwH.mjs +0 -2
  533. package/dist/chunks/hi-C9fvG91d.mjs +0 -2
  534. package/dist/chunks/hi-C9fvG91d.mjs.map +0 -1
  535. package/dist/chunks/minimal-CtnR4dqp.mjs +0 -2
  536. package/dist/chunks/pt-GqLw5tN0.mjs +0 -2
  537. package/dist/chunks/pt-GqLw5tN0.mjs.map +0 -1
  538. package/dist/chunks/ru-4g_qsaLr.mjs +0 -2
  539. package/dist/chunks/ru-4g_qsaLr.mjs.map +0 -1
  540. package/dist/chunks/src-C89Cw7ni.mjs +0 -2
  541. package/dist/chunks/src-C89Cw7ni.mjs.map +0 -1
  542. package/dist/chunks/zh-BjoyjClN.mjs +0 -2
  543. package/dist/chunks/zh-DeZP08HI.mjs +0 -2
  544. package/dist/chunks/zh-DeZP08HI.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /** Width of the list marker / checkbox area in pixels. */
2
2
  export declare const LIST_MARKER_WIDTH = 24;
3
3
  /** List styles — bullet, ordered, checklist items. */
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;\n\tpadding-inline-start: 24px;\n\tmin-height: 1.6em;\n\tposition: relative;\n}\n\n.notectl-list-item::before {\n\tposition: absolute;\n\tinset-inline-start: 0;\n\tdisplay: inline-block;\n\twidth: 24px;\n\ttext-align: center;\n\t-webkit-user-select: none;\n\tuser-select: none;\n\tpointer-events: none;\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 \u2014 the marker is a real role=\"checkbox\" element (see ListMarker.ts)\n positioned over the reserved marker zone. inline-block keeps the parent's\n line-through (on checked items) from striking the glyph. */\n.notectl-checklist-marker {\n\tposition: absolute;\n\tinset-inline-start: 0;\n\tdisplay: inline-block;\n\twidth: 24px;\n\ttext-align: center;\n\tfont-size: 16px;\n\tcolor: var(--notectl-fg-muted);\n\tcursor: pointer;\n\ttext-decoration: none;\n\t-webkit-user-select: none;\n\tuser-select: none;\n}\n\n.notectl-checklist-marker::before {\n\tcontent: '\\2610';\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"] .notectl-checklist-marker {\n\tcolor: var(--notectl-success);\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"] .notectl-checklist-marker::before {\n\tcontent: '\\2611';\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"] {\n\tcolor: var(--notectl-fg-muted);\n\ttext-decoration: line-through;\n}\n";
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;\n\tpadding-inline-start: 24px;\n\tmin-height: 1.6em;\n\tposition: relative;\n}\n\n.notectl-list-item::before {\n\tposition: absolute;\n\tinset-inline-start: 0;\n\tdisplay: inline-block;\n\twidth: 24px;\n\ttext-align: center;\n\t-webkit-user-select: none;\n\tuser-select: none;\n\tpointer-events: none;\n}\n\n/* Container items (#194): block children inherit the item's start padding.\n Trim the first/last child paragraph padding so the first text line sits on\n the marker's line and the item keeps the leaf item's vertical rhythm. */\n.notectl-list-item > p:first-of-type {\n\tpadding-top: 0;\n}\n\n.notectl-list-item > p:last-of-type {\n\tpadding-bottom: 0;\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 \u2014 the marker is a real role=\"checkbox\" element (see ListMarker.ts)\n positioned over the reserved marker zone. inline-block keeps the parent's\n line-through (on checked items) from striking the glyph. */\n.notectl-checklist-marker {\n\tposition: absolute;\n\tinset-inline-start: 0;\n\tdisplay: inline-block;\n\twidth: 24px;\n\ttext-align: center;\n\tfont-size: 16px;\n\tcolor: var(--notectl-fg-muted);\n\tcursor: pointer;\n\ttext-decoration: none;\n\t-webkit-user-select: none;\n\tuser-select: none;\n}\n\n.notectl-checklist-marker::before {\n\tcontent: '\\2610';\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"] .notectl-checklist-marker {\n\tcolor: var(--notectl-success);\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"] .notectl-checklist-marker::before {\n\tcontent: '\\2611';\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"] {\n\tcolor: var(--notectl-fg-muted);\n\ttext-decoration: line-through;\n}\n";
5
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,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,sDAAsD;AACtD,eAAO,MAAM,QAAQ,49DAmFpB,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,u0EA8FpB,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/* Border resolution order: per-table local override \u2192 theme component token \u2192 theme global token.\n * The inline --ntbl-border-color is set by the toolbar's \"border color\" action and must win\n * over the theme so per-table customizations remain visible after a theme switch.\n */\n.notectl-table td {\n\tborder: 1px solid var(--ntbl-border-color, var(--notectl-table-border, var(--notectl-border)));\n\tbackground: var(--notectl-table-cell-bg, transparent);\n\tpadding: 8px 12px;\n\tmin-width: 60px;\n\tvertical-align: top;\n\tmin-height: 1.6em;\n}\n\n.notectl-table th {\n\tborder: 1px solid var(--ntbl-border-color, var(--notectl-table-border, var(--notectl-border)));\n\tbackground: var(--notectl-table-header-bg, var(--notectl-surface-raised));\n\tpadding: 8px 12px;\n\tmin-width: 60px;\n\tvertical-align: top;\n\ttext-align: start;\n\tfont-weight: 600;\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\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: start;\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-block-start: 24px;\n\tpadding-inline-start: 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\tinset-inline-start: 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\tinset-inline-start: 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-start-start-radius: 4px;\n\tborder-end-start-radius: 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-surface-raised);\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\tinset-inline-start: -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-primary-fg);\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\tinset-inline-start: 0;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-danger);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-surface-raised);\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\tinset-inline-end: 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\tinset-inline-start: 48px;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-surface-raised);\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\tinset-inline-start: 24px;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-surface-raised);\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-end-start-radius: 6px;\n\tborder-end-end-radius: 6px;\n\tborder-block-start: 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\tinset-inline-end: 0;\n\ttop: 24px;\n\twidth: 24px;\n\tborder: 1px dashed var(--notectl-border);\n\tborder-start-end-radius: 6px;\n\tborder-end-end-radius: 6px;\n\tborder-inline-start: none;\n\tcolor: var(--notectl-fg-muted);\n\ttransform: translateX(100%);\n}\n\n[dir=\"rtl\"] .ntbl-add-col {\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 col {\n\tbox-sizing: border-box;\n}\n\n/* Border resolution order: per-table local override \u2192 theme component token \u2192 theme global token.\n * The inline --ntbl-border-color is set by the toolbar's \"border color\" action and must win\n * over the theme so per-table customizations remain visible after a theme switch.\n */\n.notectl-table td {\n\tborder: 1px solid var(--ntbl-border-color, var(--notectl-table-border, var(--notectl-border)));\n\tbackground: var(--notectl-table-cell-bg, transparent);\n\tpadding: 8px 12px;\n\tmin-width: var(--ntbl-min-column-width, 60px);\n\tvertical-align: top;\n\tmin-height: 1.6em;\n}\n\n.notectl-table th {\n\tborder: 1px solid var(--ntbl-border-color, var(--notectl-table-border, var(--notectl-border)));\n\tbackground: var(--notectl-table-header-bg, var(--notectl-surface-raised));\n\tpadding: 8px 12px;\n\tmin-width: var(--ntbl-min-column-width, 60px);\n\tvertical-align: top;\n\ttext-align: start;\n\tfont-weight: 600;\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\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: start;\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-block-start: 24px;\n\tpadding-inline-start: 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\tinset-inline-start: 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\tinset-inline-start: 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-handle-select {\n\tposition: absolute;\n\tinset: 0;\n\twidth: 100%;\n\theight: 100%;\n\tborder: 0;\n\tborder-radius: inherit;\n\tbackground: transparent;\n\tcursor: pointer;\n}\n\n.ntbl-handle-select[aria-pressed=\"true\"] {\n\tbackground: var(--notectl-primary-muted);\n\tbox-shadow: inset 0 0 0 1px var(--notectl-primary);\n}\n\n.ntbl-handle-select:focus-visible {\n\toutline: none;\n\tbox-shadow: inset 0 0 0 2px var(--notectl-focus-ring);\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-start-start-radius: 4px;\n\tborder-end-start-radius: 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\tz-index: 1;\n}\n\n/* --- Logical column/row resize separators --- */\n.ntbl-col-resize-bar,\n.ntbl-row-resize-bar {\n\tposition: absolute;\n\tinset: 0 auto auto 0;\n\tz-index: 8;\n\tpointer-events: none;\n}\n\n.ntbl-resize-separator {\n\tposition: absolute;\n\tdisplay: block;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: transparent;\n\topacity: 0;\n\tpointer-events: none;\n\ttouch-action: none;\n}\n\n.ntbl-resize-separator--column {\n\twidth: 12px;\n\ttransform: translateX(-6px);\n\tcursor: col-resize;\n}\n\n.ntbl-resize-separator--row {\n\theight: 12px;\n\ttransform: translateY(-6px);\n\tcursor: row-resize;\n}\n\n.ntbl-container:hover .ntbl-resize-separator,\n.ntbl-container:focus-within .ntbl-resize-separator,\n.ntbl-container.notectl-table--selected .ntbl-resize-separator,\n.ntbl-container--resizing-column .ntbl-resize-separator--column,\n.ntbl-container--resizing-row .ntbl-resize-separator--row {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n.ntbl-resize-separator::after {\n\tcontent: \"\";\n\tposition: absolute;\n\tbackground: var(--notectl-primary);\n\topacity: 0.35;\n}\n\n.ntbl-resize-separator--column::after {\n\tinset: 0 auto 0 5px;\n\twidth: 2px;\n}\n\n.ntbl-resize-separator--row::after {\n\tinset: 5px 0 auto 0;\n\theight: 2px;\n}\n\n.ntbl-resize-separator:hover::after,\n.ntbl-resize-separator:focus-visible::after {\n\topacity: 1;\n\tbox-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-resize-separator:focus-visible {\n\toutline: none;\n}\n\n.ntbl-resize-indicator {\n\tposition: absolute;\n\tdisplay: none;\n\tz-index: 12;\n\tpadding: 3px 7px;\n\tborder-radius: 4px;\n\tbackground: var(--notectl-fg);\n\tcolor: var(--notectl-bg);\n\tfont: 12px/1.4 monospace;\n\tpointer-events: none;\n\twhite-space: nowrap;\n}\n\n.ntbl-resize-indicator--visible {\n\tdisplay: block;\n}\n\n.ntbl-container--resizing-column,\n.ntbl-container--resizing-column * {\n\tcursor: col-resize !important;\n\tuser-select: none !important;\n}\n\n.ntbl-container--resizing-row,\n.ntbl-container--resizing-row * {\n\tcursor: row-resize !important;\n\tuser-select: none !important;\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-surface-raised);\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\tinset-inline-start: -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-primary-fg);\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\tinset-inline-start: 0;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-danger);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-surface-raised);\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\tinset-inline-end: 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\tinset-inline-start: 48px;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-surface-raised);\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\tinset-inline-start: 24px;\n\twidth: 20px;\n\theight: 20px;\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-surface-raised);\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/* --- Precise size editor --- */\n.notectl-table-size-editor {\n\tbox-sizing: border-box;\n\twidth: 340px;\n\tmax-width: calc(100vw - 16px);\n\tmin-width: 260px;\n\tpadding: 12px;\n}\n\n.notectl-table-size-editor__title {\n\tmargin-block-end: 10px;\n\tfont-weight: 600;\n}\n\n.notectl-table-size-editor__field {\n\tdisplay: grid;\n\tgap: 4px;\n\tmargin-block-end: 10px;\n\tfont-size: 13px;\n}\n\n.notectl-table-size-editor__input-wrap {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n}\n\n.notectl-table-size-editor input {\n\tbox-sizing: border-box;\n\tmin-width: 0;\n\twidth: 100%;\n\tpadding: 6px 8px;\n\tborder: 1px solid var(--notectl-border);\n\tborder-radius: 4px;\n\tbackground: var(--notectl-bg);\n\tcolor: var(--notectl-fg);\n\tfont: inherit;\n}\n\n.notectl-table-size-editor input:focus-visible {\n\toutline: 2px solid var(--notectl-focus-ring);\n\toutline-offset: 1px;\n}\n\n.notectl-table-size-editor input[aria-invalid=\"true\"] {\n\tborder-color: var(--notectl-danger);\n}\n\n.notectl-table-size-editor__unit {\n\tcolor: var(--notectl-fg-muted);\n}\n\n.notectl-table-size-editor__error {\n\tmin-height: 1.2em;\n\tcolor: var(--notectl-danger);\n\tfont-size: 11px;\n}\n\n.notectl-table-size-editor__resets,\n.notectl-table-size-editor__actions {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 4px;\n}\n\n.notectl-table-size-editor__resets {\n\tpadding-block-end: 10px;\n\tborder-block-end: 1px solid var(--notectl-border);\n}\n\n.notectl-table-size-editor__actions {\n\tjustify-content: flex-end;\n\tpadding-block-start: 10px;\n}\n\n.notectl-table-size-editor button {\n\twidth: auto;\n\tpadding: 6px 8px;\n\tborder-radius: 4px;\n\tfont-size: 12px;\n}\n\n.notectl-table-context-menu .notectl-table-size-editor__apply {\n\tbackground: var(--notectl-primary);\n\tcolor: var(--notectl-primary-fg);\n}\n\n.notectl-table-context-menu .notectl-table-size-editor button:disabled {\n\topacity: 0.5;\n\tcursor: not-allowed;\n}\n\n/* Read-only tables keep semantic dimensions but expose no mutation affordances. */\n.ntbl-container[data-notectl-table-readonly] {\n\tpadding-block-start: 0;\n\tpadding-inline-start: 0;\n}\n\n.ntbl-container[data-notectl-table-readonly] > :is(\n\t.ntbl-col-bar,\n\t.ntbl-row-bar,\n\t.ntbl-col-resize-bar,\n\t.ntbl-row-resize-bar,\n\t.ntbl-insert-line,\n\t.ntbl-add-zone,\n\t.ntbl-delete-table-btn,\n\t.ntbl-border-color-btn,\n\t.ntbl-actions-btn,\n\t.ntbl-context-hint,\n\t.ntbl-resize-indicator\n) {\n\tdisplay: none !important;\n}\n\n.ntbl-add-row {\n\tbottom: 0;\n\theight: 24px;\n\tborder: 1px dashed var(--notectl-border);\n\tborder-end-start-radius: 6px;\n\tborder-end-end-radius: 6px;\n\tborder-block-start: 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\tinset-inline-end: 0;\n\ttop: 24px;\n\twidth: 24px;\n\tborder: 1px dashed var(--notectl-border);\n\tborder-start-end-radius: 6px;\n\tborder-end-end-radius: 6px;\n\tborder-inline-start: none;\n\tcolor: var(--notectl-fg-muted);\n\ttransform: translateX(100%);\n}\n\n[dir=\"rtl\"] .ntbl-add-col {\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\n@media print {\n\t.notectl-table-wrapper {\n\t\toverflow: visible;\n\t}\n\n\t.ntbl-container {\n\t\tpadding: 0;\n\t}\n\n\t.ntbl-container > [data-notectl-no-print] {\n\t\tdisplay: none !important;\n\t}\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,+wZAqjBrB,CAAC"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/table.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,SAAS,sgkBAizBrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Embedded OpenType MATH font definition used by the formula plugin. */
2
+ export { NOTECTL_MATH_FONT } from '../plugins/formula/MathFont.js';
3
+ //# sourceMappingURL=math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/fonts/math.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1 @@
1
+ import{t}from"../chunks/MathFont-BS8IwYh2.mjs";export{t as NOTECTL_MATH_FONT};
@@ -0,0 +1,3 @@
1
+ /** Embedded Fira Sans and Fira Code starter font definitions. */
2
+ export { FIRA_CODE, FIRA_SANS, STARTER_FONTS } from '../plugins/font/StarterFonts.js';
3
+ //# sourceMappingURL=starter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starter.d.ts","sourceRoot":"","sources":["../../src/fonts/starter.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1 @@
1
+ import{n as r,r as s,t}from"../chunks/StarterFonts-BDQPg-cu.mjs";export{t as FIRA_CODE,r as FIRA_SANS,s as STARTER_FONTS};
package/dist/fonts.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Starter font definitions (Fira Code + Fira Sans as Base64 WOFF2).
3
3
  *
4
- * Import from '@notectl/core/fonts' to keep base64 font data
5
- * out of the main bundle for consumers who don't need it.
4
+ * Prefer '@notectl/core/fonts/starter' so native ESM consumers do not also
5
+ * download the independent OpenType MATH font.
6
6
  *
7
7
  * @example
8
8
  * ```ts
9
- * import { STARTER_FONTS } from '@notectl/core/fonts';
9
+ * import { STARTER_FONTS } from '@notectl/core/fonts/starter';
10
10
  *
11
11
  * const editor = createEditor({
12
12
  * plugins: [new FontPlugin({ fonts: STARTER_FONTS })],
@@ -20,7 +20,7 @@ export { FIRA_CODE, FIRA_SANS, STARTER_FONTS } from './plugins/font/StarterFonts
20
20
  * (matrix brackets, large integrals/roots) correctly:
21
21
  *
22
22
  * ```ts
23
- * import { NOTECTL_MATH_FONT } from '@notectl/core/fonts';
23
+ * import { NOTECTL_MATH_FONT } from '@notectl/core/fonts/math';
24
24
  * new FormulaPlugin({ mathFont: NOTECTL_MATH_FONT });
25
25
  * ```
26
26
  */
package/dist/fonts.mjs CHANGED
@@ -1 +1 @@
1
- import{i as s,n as a,r as o,t as r}from"./chunks/fonts-DQC6Uj4r.mjs";export{a as FIRA_CODE,o as FIRA_SANS,r as NOTECTL_MATH_FONT,s as STARTER_FONTS};
1
+ import{n as t,r as s,t as r}from"./chunks/StarterFonts-BDQPg-cu.mjs";import{t as o}from"./chunks/MathFont-BS8IwYh2.mjs";export{r as FIRA_CODE,t as FIRA_SANS,o as NOTECTL_MATH_FONT,s as STARTER_FONTS};
package/dist/full.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * - `@notectl/core` — core framework (model, state, view, plugin system)
6
6
  * - `@notectl/core/html` — HTML serialization/parsing
7
7
  * - `@notectl/core/presets` — preset factory functions
8
- * - `@notectl/core/fonts` — starter font definitions
8
+ * - `@notectl/core/fonts/starter` and `/fonts/math` embedded font definitions
9
9
  * - `@notectl/core/plugins/<name>` — individual plugins
10
10
  *
11
11
  * @example
package/dist/full.mjs CHANGED
@@ -1 +1 @@
1
- import{C as s,E as a,S as m,T as r,a as o,b as i,c as t,d as n,g as u,h as p,i as l,m as c,n as j,p as e,s as g,v as h,w as k,y as f}from"./chunks/Document-r7vLOAGA.mjs";import{i as P,n as d,r as b,t as y}from"./chunks/WordBoundary-DxeMBRyP.mjs";import{a as D,c as T,d as S,f as x,i as v,l as C,n as B,o as N,r as F,s as H,t as I,u as w}from"./chunks/Selection-HYoVFpAx.mjs";import{S as A,_,a as z,b as E,c as M,g as R,h as G,i as K,l as L,m as q,n as O,o as U,r as V,s as X,v as Q,w as W,x as J,y as Y}from"./chunks/Commands-BIIpx_Zd.mjs";import{a as Z,i as $,n as ss,o as as,r as ms,t as rs}from"./chunks/TypeBrands-Ch9856Gb.mjs";import{n as os,r as is,t as ts}from"./chunks/AttrRegistry-DcDVyzLm.mjs";import{n as ns}from"./chunks/DomUtils-Bf7JLFlx.mjs";import{i as us,n as ps,r as ls}from"./chunks/HTMLUtils-C6B4UT00.mjs";import{A as cs,C as js,D as es,E as gs,O as hs,S as ks,T as fs,_ as Ps,a as ds,b as bs,c as ys,d as Ds,f as Ts,g as Ss,h as xs,i as vs,j as Cs,k as Bs,l as Ns,m as Fs,n as Hs,o as Is,p as ws,r as As,s as _s,t as zs,u as Es,v as Ms,w as Rs,x as Gs,y as Ks}from"./chunks/src-C89Cw7ni.mjs";import{c as Ls,i as qs,l as Os,n as Us,r as Vs,s as Xs}from"./chunks/NodeResolver-ChgLF_IP.mjs";import{D as Qs,E as Ws}from"./chunks/BlockInsertion-6rR9tIGP.mjs";import{S as Js,_ as Ys,a as Zs,b as $s,c as sa,g as aa,i as ma,l as ra,o as oa,r as ia,s as ta,t as na,v as ua,x as pa}from"./chunks/Decoration-ZeyVfwJB.mjs";import{i as la,n as ca,r as ja,t as ea}from"./chunks/GapCursorNavigation-ycNzuQVH.mjs";import{A as ga,D as ha,E as ka,F as fa,M as Pa,N as da,O as ba,P as ya,S as Da,T as Ta,_ as Sa,a as xa,b as va,c as Ca,d as Ba,f as Na,g as Fa,h as Ha,i as Ia,j as wa,k as Aa,l as _a,m as za,n as Ea,o as Ma,p as Ra,r as Ga,s as Ka,t as La,u as qa,v as Oa,w as Ua,x as Va,y as Xa}from"./chunks/CaretNavigationPlugin-C6XBwp0N.mjs";import{i as Qa,n as Wa,o as Ja,r as Ya,t as Za}from"./chunks/NavigationQueries-Bt4zZ17v.mjs";import{i as $a,n as sm,r as am,t as mm}from"./chunks/AttributedMarkCommands-D4W2Jgpj.mjs";import{i as rm,t as om}from"./chunks/NodeSelectionCommands-Dj4VxLdD.mjs";import{n as im,t as tm}from"./chunks/RangeIterator-o8v3msQe.mjs";import{a as nm,i as um,n as pm,r as lm,t as cm}from"./chunks/Platform-ByobkiCc.mjs";import{a as jm,i as em,o as gm,r as hm,t as km}from"./chunks/DocumentParser-CcTSeT1B.mjs";import{n as fm,t as Pm}from"./chunks/TypedKeys-CA4bfw9O.mjs";import{t as dm}from"./chunks/BlockTypePickerRegistry-BTET9jM-.mjs";import{a as bm,i as ym,n as Dm,o as Tm,r as Sm,t as xm}from"./chunks/ToolbarPlugin-DVGrFf8v.mjs";import{t as vm}from"./chunks/SyntaxTokenTypes-BUCOMtL8.mjs";import{_ as Cm,b as Bm,c as Nm,d as Fm,f as Hm,g as Im,h as wm,l as Am,m as _m,n as zm,p as Em,r as Mm,s as Rm,t as Gm,u as Km,v as Lm,y as qm}from"./chunks/PrintTypes-CxU69qu3.mjs";import{c as Om,i as Um,l as Vm,r as Xm,t as Qm,u as Wm}from"./chunks/PluginHelpers-KDuTlmXm.mjs";import{t as Jm}from"./chunks/GapCursorPlugin-Zvxjnr82.mjs";import{t as Ym}from"./chunks/ShortcutFormatting-TwiufqeV.mjs";import{n as Zm,r as $m,t as sr}from"./chunks/TextFormattingPlugin-Cubp3e7f.mjs";import{n as ar,r as mr,t as rr}from"./chunks/KeyboardNav-D0my3wuy.mjs";import{r as or,t as ir}from"./chunks/PopupPositioning-BB97-__N.mjs";import{n as tr,t as nr}from"./chunks/PopupManager-DUtaK3WX.mjs";import"./html.mjs";import{n as ur,r as pr,t as lr}from"./chunks/FontPlugin-DQMj65Bc.mjs";import{a as cr,i as jr,n as er,r as gr,t as hr}from"./chunks/ColorValidation-DAijTjG9.mjs";import{t as kr}from"./chunks/minimal-CtnR4dqp.mjs";import{i as fr,n as Pr,r as dr,t as br}from"./chunks/AlignmentPlugin-DeD4C4EP.mjs";import{t as yr}from"./chunks/DirectionIcons-Bbawl9ei.mjs";import{t as Dr}from"./chunks/TextDirectionService-OFOU6r_s.mjs";import{n as Tr,r as Sr,t as xr}from"./chunks/BidiIsolationPlugin-BddRbDCN.mjs";import{n as vr,r as Cr,t as Br}from"./chunks/BlockquotePlugin-4V7KV_Sb.mjs";import{a as Nr,i as Fr,n as Hr,o as Ir,r as wr,t as Ar}from"./chunks/CodeBlockPlugin-3V2K3RBe.mjs";import{a as _r,i as zr,l as Er,n as Mr,o as Rr,r as Gr,s as Kr,t as Lr}from"./chunks/XmlDetector-D7TQpw-e.mjs";import{a as qr,c as Or,i as Ur,n as Vr,o as Xr,r as Qr,s as Wr,t as Jr}from"./chunks/XmlSupport-BYiRwlkK.mjs";import{n as Yr,t as Zr}from"./chunks/XmlPatterns-RN32-0ob.mjs";import{n as $r,r as so,t as ao}from"./chunks/PopupKeyboardPatterns-tUrT9TyV.mjs";import{n as mo,r as ro,t as oo}from"./chunks/FontSizePlugin-9StCjEfN.mjs";import{a as io,c as to,i as no,n as uo,o as po,r as lo,s as co,t as jo}from"./chunks/FormulaPlugin-CV5VUxkb.mjs";import{t as eo}from"./chunks/HardBreakPlugin-9DOyCyyM.mjs";import{n as go,r as ho,t as ko}from"./chunks/HeadingPlugin-BuGoM9Rz.mjs";import{a as fo,i as Po,n as bo,r as yo,t as Do}from"./chunks/ColorPickerPopup-lcf3jS6G.mjs";import{n as To,r as So,t as xo}from"./chunks/ColorGrid-DPNiXxpD.mjs";import{n as vo,r as Co,t as Bo}from"./chunks/HighlightPlugin-C6pHifVz.mjs";import{n as No,r as Fo,t as Ho}from"./chunks/HorizontalRulePlugin-0FjHPZuA.mjs";import{a as Io,i as wo,n as Ao,r as _o,t as zo}from"./chunks/ImagePlugin-KpkuE2LH.mjs";import{n as Eo,r as Mo,t as Ro}from"./chunks/InlineCodePlugin-DMr4O7c7.mjs";import{n as Go,r as Ko,t as Lo}from"./chunks/LinkPlugin-DvZ3MPgL.mjs";import{n as qo,r as Oo,t as Uo}from"./chunks/ListPlugin-2yl6KiTK.mjs";import{n as Vo,r as Xo,t as Qo}from"./chunks/PrintPlugin-DyIZDY3Q.mjs";import{i as Wo,n as Jo,r as Yo,t as Zo}from"./chunks/SmartPastePlugin-Bi_wpTCV.mjs";import{n as $o,r as si,t as ai}from"./chunks/StrikethroughPlugin-BLKDRWtf.mjs";import{n as mi,r as ri,t as oi}from"./chunks/SuperSubPlugin-DVP7VnIz.mjs";import{n as ii,t as ti}from"./chunks/TablePlugin-BTH9VRZq.mjs";import{n as ni,r as ui,t as pi}from"./chunks/TextColorPlugin-CEfZQ6Md.mjs";import{n as li,r as ci,t as ji}from"./chunks/DirectionDetection-C7XE0nxW.mjs";import{t as ei}from"./chunks/TextDirectionAutoPlugin-CzWJjrvG.mjs";import{n as gi,r as hi,t as ki}from"./chunks/TextDirectionPlugin-DHB88HKf.mjs";import{a as fi,i as Pi,n as di,o as bi,r as yi,s as Di,t as Ti}from"./chunks/VideoPlugin-B3uf1Dwp.mjs";import{t as Si}from"./chunks/full-BBl7mvwH.mjs";import"./presets.mjs";import{i as xi,n as vi,r as Ci,t as Bi}from"./chunks/fonts-DQC6Uj4r.mjs";import"./plugins/text-formatting.mjs";import"./plugins/heading.mjs";import"./plugins/toolbar.mjs";import"./plugins/shared.mjs";import"./plugins/table.mjs";import"./plugins/image.mjs";import"./plugins/formula.mjs";import"./plugins/video.mjs";import"./plugins/code-block.mjs";import"./plugins/link.mjs";import"./plugins/list.mjs";import"./plugins/blockquote.mjs";import"./plugins/strikethrough.mjs";import"./plugins/inline-code.mjs";import"./plugins/text-color.mjs";import"./plugins/horizontal-rule.mjs";import"./plugins/alignment.mjs";import"./plugins/font.mjs";import"./plugins/font-size.mjs";import"./plugins/highlight.mjs";import"./plugins/super-sub.mjs";import"./plugins/hard-break.mjs";import"./plugins/gap-cursor.mjs";import"./plugins/caret-navigation.mjs";import"./plugins/print.mjs";import"./plugins/smart-paste.mjs";import"./plugins/language.mjs";import"./plugins/text-direction.mjs";import"./plugins/bidi-isolation.mjs";import"./plugins/text-direction-auto.mjs";export{Gm as AFTER_PRINT,br as ALIGNMENT_ICONS,dr as ALIGNMENT_LOCALE_EN,Pr as AlignmentPlugin,zm as BEFORE_PRINT,Tr as BIDI_ISOLATION_LOCALE_EN,vr as BLOCKQUOTE_LOCALE_EN,xr as BidiIsolationPlugin,dm as BlockTypePickerRegistry,Br as BlockquotePlugin,Ea as CARET_NAVIGATION_LOCALE_EN,Hr as CODE_BLOCK_LOCALE_EN,Nr as CODE_BLOCK_SERVICE_KEY,La as CaretNavigationPlugin,Gs as ClipboardHandler,Ar as CodeBlockPlugin,bs as CompositionTracker,Fs as CursorWrapper,Im as DARK_THEME,co as DEFAULT_FORMULA_KEYMAP,Ao as DEFAULT_IMAGE_KEYMAP,_r as DEFAULT_RELEVANCE_WEIGHTS,Pi as DEFAULT_VIDEO_CONFIG,fi as DEFAULT_VIDEO_KEYMAP,bi as DEFAULT_VIDEO_PROVIDERS,yr as DIRECTION_ICONS,na as DecorationSet,hs as EditorState,Es as EventBus,Pm as EventKey,vi as FIRA_CODE,Ci as FIRA_SANS,ur as FONT_LOCALE_EN,mo as FONT_SIZE_LOCALE_EN,uo as FORMULA_LOCALE_EN,Ss as FileHandlerRegistry,lr as FontPlugin,oo as FontSizePlugin,jo as FormulaPlugin,Jm as GapCursorPlugin,go as HEADING_LOCALE_EN,vo as HIGHLIGHT_LOCALE_EN,No as HORIZONTAL_RULE_LOCALE_EN,eo as HardBreakPlugin,ko as HeadingPlugin,Bo as HighlightPlugin,js as HistoryManager,Ho as HorizontalRulePlugin,aa as IDENTITY_MAP,wo as IMAGE_LOCALE_EN,_o as IMAGE_UPLOAD_SERVICE,Eo as INLINE_CODE_LOCALE_EN,zo as ImagePlugin,Ro as InlineCodePlugin,Ks as InputManager,Ps as InputRuleRegistry,Or as JAVA_LANGUAGE,Wr as JAVA_SUPPORT,Xr as JSON_LANGUAGE,qr as JSON_SUPPORT,Mr as JsonDetector,Ms as KeymapRegistry,Er as LANGUAGE_REGISTRY_SERVICE_KEY,Cm as LIGHT_THEME,Go as LINK_LOCALE_EN,qo as LIST_LOCALE_EN,Gr as LexerDetector,Lo as LinkPlugin,Uo as ListPlugin,ys as Locale,Vm as LocaleService,Wm as LocaleServiceKey,io as MATHML_ATTRS,po as MATHML_TAGS,Rr as MAX_RELEVANCE_WEIGHT,Ys as Mapping,Bi as NOTECTL_MATH_FONT,xs as NodeViewRegistry,zs as NotectlEditor,Rm as PAPER_MARGIN_HORIZONTAL_PX,Nm as PAPER_MARGIN_TOP_PX,Am as PAPER_VIEWPORT_PADDING_PX,Vo as PRINT_LOCALE_EN,Mm as PRINT_SERVICE_KEY,Km as PaperSize,Ns as PluginManager,nr as PopupManager,tr as PopupServiceKey,Qo as PrintPlugin,Fr as RegexTokenizer,Yo as SMART_PASTE_LOCALE_EN,Jo as SMART_PASTE_SERVICE_KEY,xi as STARTER_FONTS,$o as STRIKETHROUGH_LOCALE_EN,mi as SUPER_SUB_LOCALE_EN,Ir as SYNTAX_HIGHLIGHTER_SERVICE_KEY,vm as SYNTAX_TOKEN_TYPES,Cs as SchemaRegistry,fm as ServiceKey,Zo as SmartPastePlugin,ai as StrikethroughPlugin,oi as SuperSubPlugin,ni as TEXT_COLOR_LOCALE_EN,gi as TEXT_DIRECTION_LOCALE_EN,Dr as TEXT_DIRECTION_SERVICE_KEY,Zm as TEXT_FORMATTING_LOCALE_EN,ym as TOOLBAR_LOCALE_EN,Ur as TYPESCRIPT_LANGUAGE,Qr as TYPESCRIPT_SUPPORT,ti as TablePlugin,ii as TableSelectionServiceKey,pi as TextColorPlugin,ei as TextDirectionAutoPlugin,ki as TextDirectionPlugin,sr as TextFormattingPlugin,Lm as ThemePreset,Sm as ToolbarOverflowBehavior,xm as ToolbarPlugin,Tm as ToolbarRegistry,Dm as ToolbarServiceKey,Bs as TransactionBuilder,hm as VALID_ALIGNMENTS,em as VALID_DIRECTIONS,di as VIDEO_LOCALE_EN,Ti as VideoPlugin,Zr as XML_ATTRS,Vr as XML_LANGUAGE,Jr as XML_SUPPORT,Yr as XML_TAG_NAME,Lr as XmlDetector,As as adoptContentStyles,ir as appendToRoot,mm as applyAttributedMark,bo as applyColorMark,rr as applyRovingTabindex,oa as applyStep,ao as attachGridKeyboard,$r as attachListboxKeyboard,so as attachMenuKeyboard,rs as blockId,j as blockOffsetToTextOffset,to as buildMathML,Ws as canContain,Za as canCrossBlockBoundary,Qm as capitalize,ua as collectRemovedBlockIds,ss as commandName,Kr as computeTokenStats,Ds as consoleLogger,ns as createBlockElement,l as createBlockNode,I as createCollapsedSelection,o as createDocument,Hs as createEditor,Si as createFullPreset,B as createGapCursor,g as createInlineNode,kr as createMinimalPreset,F as createNodeSelection,v as createPosition,D as createSelection,t as createTextNode,qm as createTheme,_m as createThemeStyleSheet,J as defaultSchema,M as deleteBackward,Y as deleteBackwardAtGap,L as deleteForward,E as deleteForwardAtGap,om as deleteNodeSelection,O as deleteSelectionCommand,ji as detectTextDirection,Oa as endOfTextblock,ps as escapeAttr,ls as escapeHTML,Ua as extendCharacterBackward,Ta as extendCharacterForward,Ia as extendLineDown,xa as extendLineUp,ka as extendToBlockEnd,ha as extendToBlockStart,ba as extendToDocumentEnd,Aa as extendToDocumentStart,Ma as extendToLineEnd,Ka as extendToLineStart,ca as extendTx,Ca as extendWordBackward,_a as extendWordForward,ar as findNextDropdownItem,Us as findNode,Vs as findNodePath,qs as findNodeWithPath,li as findSiblingDirection,y as findWordBoundaryBackward,d as findWordBoundaryForward,tm as forEachBlockIdInRange,im as forEachBlockInRange,us as formatHTML,Ym as formatShortcut,wm as generateThemeCSS,yo as getActiveColor,n as getBlockChildren,ci as getBlockDir,e as getBlockLength,c as getBlockMarksAtOffset,p as getBlockText,_s as getBlockTypeLabel,Xa as getCaretRectFromSelection,To as getColorName,u as getContentAtOffset,h as getInlineChildren,sm as getMarkAttrAtSelection,Fm as getPaperCSSSize,Hm as getPaperDimensions,Xm as getSelectedBlock,Um as getSelectedBlockId,ta as getStepMap,f as getTextChildren,cm as getTextDirection,i as hasMark,vs as injectContentStyles,ia as inlineDecoration,ms as inlineType,V as insertHardBreakCommand,K as insertTextCommand,sa as invertStep,ra as invertTransaction,Rs as isAllowedInReadonly,am as isAttributedMarkActive,m as isBlockNode,N as isCollapsed,Po as isColorMarkActive,pm as isFirefox,H as isForward,T as isGapCursor,s as isInlineNode,ts as isInlineNodeOfType,Wa as isInsideIsolating,Ya as isIsolatingBlock,k as isLeafBlock,So as isLightColor,lm as isMac,q as isMarkActive,A as isMarkAllowed,os as isMarkOfType,is as isNodeOfType,C as isNodeSelection,um as isRtlContext,fs as isSelectionOnlyTransaction,r as isTextNode,w as isTextSelection,hr as isValidCSSColor,er as isValidCSSFontFamily,gr as isValidCSSFontSize,jr as isValidHexColor,Em as isValidPaperSize,Qa as isVoidBlock,nm as isWebKit,no as latexToMathML,fr as loadAlignmentLocale,Sr as loadBidiIsolationLocale,Cr as loadBlockquoteLocale,Ga as loadCaretNavigationLocale,wr as loadCodeBlockLocale,pr as loadFontLocale,ro as loadFontSizeLocale,lo as loadFormulaLocale,ho as loadHeadingLocale,Co as loadHighlightLocale,Fo as loadHorizontalRuleLocale,Io as loadImageLocale,Mo as loadInlineCodeLocale,Ko as loadLinkLocale,Oo as loadListLocale,Om as loadLocaleModule,Xo as loadPrintLocale,Wo as loadSmartPasteLocale,si as loadStrikethroughLocale,ri as loadSuperSubLocale,ui as loadTextColorLocale,hi as loadTextDirectionLocale,$m as loadTextFormattingLocale,bm as loadToolbarLocale,yi as loadVideoLocale,$s as mapChildIndex,pa as mapInsertionIndex,Js as mapPositionThroughStep,gs as mapSelection,es as mapTextSelection,a as markSetsEqual,$ as markType,z as mergeBlockBackward,ga as moveCharacterBackward,wa as moveCharacterForward,qa as moveLineDown,Ba as moveLineUp,ya as moveToBlockEnd,fa as moveToBlockStart,Pa as moveToDocumentEnd,da as moveToDocumentStart,Na as moveToLineEnd,Ra as moveToLineStart,ja as moveTx,za as moveWordBackward,Ha as moveWordForward,va as navigateAcrossBlocks,rm as navigateArrowIntoVoid,ea as navigateFromGapCursor,mr as navigateGrid,Va as navigateVerticalWithGoalColumn,b as nextGraphemeSize,ma as nodeDecoration,la as nodeSelTx,Z as nodeType,ks as normalizeKeyDescriptor,km as parseHTMLToDocument,Di as parseVideoUrl,as as pluginId,or as positionPopup,P as prevGraphemeSize,cs as registerBuiltinSpecs,ds as removeAdoptedStyles,$a as removeAttributedMark,fo as removeColorMark,Is as removeContentStyles,xo as renderColorGrid,Do as renderColorPickerPopup,cr as resolveColors,Xs as resolveNodeByPath,Ls as resolveParentByPath,Bm as resolveTheme,W as schemaFromRegistry,Ts as scopedLogger,zr as scoreFromStats,U as selectAll,S as selectionRange,x as selectionsEqual,jm as serializeDocumentToCSS,gm as serializeDocumentToHTML,Ja as sharesParent,ws as silentLogger,Da as skipInlineNode,X as splitBlockCommand,G as toggleBold,R as toggleItalic,_ as toggleMark,Q as toggleUnderline,Qs as validateContent,Fa as viewExtend,Sa as viewMove,Os as walkNodes,Zs as widgetDecoration};
1
+ import{i as s,n as a,o as m,r}from"./chunks/HTMLUtils-Bhg3_P8B.mjs";import{D as o,E as i,O as t,S as n,T as u,_ as p,b as l,g as c,h as e,i as j,l as h,n as g,o as k,p as f,r as P,s as d,u as b,v as S,w as T,x as C}from"./chunks/Document-827l3P80.mjs";import{c as x,i as y,l as D,n as v,r as B,s as F}from"./chunks/NodeResolver-Dleih-8R.mjs";import{a as M,c as N,d as R,f as I,i as _,l as A,n as H,o as w,r as z,s as E,t as G,u as K}from"./chunks/Selection-HYoVFpAx.mjs";import{a as L,i as q,n as O,o as U,r as V,t as Q}from"./chunks/TypeBrands-Ch9856Gb.mjs";import{i as W,n as X,o as Y,r as Z,t as $}from"./chunks/NavigationQueries-Bt4zZ17v.mjs";import{i as J,n as ss,r as as,t as ms}from"./chunks/AttributedMarkCommands-BCvmqeFZ.mjs";import{r as rs,t as os}from"./chunks/ContentModel-NpAj7vGW.mjs";import{i as is,t as ts}from"./chunks/NodeSelectionCommands-WH5snxr_.mjs";import{C as ns,S as us,_ as ps,a as ls,b as cs,c as es,g as js,h as hs,i as gs,l as ks,m as fs,n as Ps,o as ds,r as bs,s as Ss,v as Ts,w as Cs,y as xs}from"./chunks/Commands-D5ND50PQ.mjs";import{n as ys,t as Ds}from"./chunks/RangeIterator-DP7Ud3Gp.mjs";import{i as vs,n as Bs,r as Fs,t as Ms}from"./chunks/WordBoundary-CFpIJDNP.mjs";import{n as Ns,r as Rs,t as Is}from"./chunks/AttrRegistry-B3zB02z9.mjs";import{_ as _s,a as As,c as Hs,d as ws,f as zs,g as Es,h as Gs,i as Ks,l as Ls,m as qs,n as Os,o as Us,p as Vs,r as Qs,s as Ws,t as Xs,u as Ys}from"./chunks/ThemeEngine-BUVo_zaT.mjs";import{f as Zs,h as $s,m as Js,p as sa}from"./chunks/TableDimensions-BBhjHNjQ.mjs";import{t as aa}from"./chunks/DocumentParser-D2tr3ZKn.mjs";import{C as ma,S as ra,_ as oa,a as ia,c as ta,i as na,l as ua,o as pa,r as la,s as ca,t as ea,v as ja,x as ha,y as ga}from"./chunks/Decoration-BOP1TAUd.mjs";import{C as ka,E as fa,S as Pa,T as da,_ as ba,a as Sa,b as Ta,c as Ca,d as xa,f as ya,g as Da,h as va,i as Ba,l as Fa,m as Ma,n as Na,o as Ra,p as Ia,r as _a,s as Aa,t as Ha,u as wa,v as za,w as Ea,x as Ga,y as Ka}from"./chunks/register-BjsdJ3Aq.mjs";import{t as La}from"./chunks/SyntaxTokenTypes-BUCOMtL8.mjs";import{n as qa,t as Oa}from"./chunks/TypedKeys-CA4bfw9O.mjs";import{c as Ua,i as Va,l as Qa,r as Wa,t as Xa,u as Ya}from"./chunks/PluginHelpers-KDuTlmXm.mjs";import{a as Za,i as $a,n as Ja,r as sm,t as am}from"./chunks/Platform-ByobkiCc.mjs";import{t as mm}from"./chunks/SchemaRegistry-CkBN-1yW.mjs";import{t as rm}from"./chunks/BlockTypePickerRegistry-BTET9jM-.mjs";import{a as om,i as im,n as tm,o as nm,r as um,t as pm}from"./chunks/ToolbarPlugin-dmTj1jIz.mjs";import{i as lm,n as cm,r as em,t as jm}from"./chunks/GapCursorNavigation-DCWOmopl.mjs";import{A as hm,C as gm,D as km,E as fm,M as Pm,N as dm,O as bm,P as Sm,S as Tm,T as Cm,_ as xm,a as ym,b as Dm,c as vm,d as Bm,f as Fm,g as Mm,h as Nm,i as Rm,j as Im,k as _m,l as Am,m as Hm,n as wm,o as zm,p as Em,r as Gm,s as Km,t as Lm,u as qm,v as Om,w as Um,x as Vm,y as Qm}from"./chunks/CaretNavigationPlugin-BPZ9b6XR.mjs";import{n as Wm}from"./chunks/DomUtils-Bf7JLFlx.mjs";import{t as Xm}from"./chunks/GapCursorPlugin-2iR6506y.mjs";import{t as Ym}from"./chunks/MarkInputRule-Bdi8KPus.mjs";import{t as Zm}from"./chunks/ShortcutFormatting-TwiufqeV.mjs";import{n as $m,r as Jm,t as sr}from"./chunks/TextFormattingPlugin-BhRxSC8q.mjs";import{n as ar,r as mr,t as rr}from"./chunks/KeyboardNav-D0my3wuy.mjs";import{i as or,t as ir}from"./chunks/PopupPositioning-BFh6Ed1D.mjs";import{n as tr,t as nr}from"./chunks/PopupManager-Cj86uDEB.mjs";import{a as ur,i as pr,n as lr,r as cr,t as er}from"./chunks/src-5GKFQ2mQ.mjs";import"./html.mjs";import{n as jr,r as hr,t as gr}from"./chunks/FontPlugin-D041tiLe.mjs";import{a as kr,i as fr,n as Pr,r as dr,t as br}from"./chunks/ColorValidation-DAijTjG9.mjs";import{t as Sr}from"./chunks/minimal-DSlR2A27.mjs";import{i as Tr,n as Cr,r as xr,t as yr}from"./chunks/AlignmentPlugin-C9Rr_R-g.mjs";import{t as Dr}from"./chunks/DirectionIcons-Bbawl9ei.mjs";import{t as vr}from"./chunks/TextDirectionService-OFOU6r_s.mjs";import{n as Br,r as Fr,t as Mr}from"./chunks/BidiIsolationPlugin-Cw2KMk-H.mjs";import{n as Nr,r as Rr,t as Ir}from"./chunks/BlockquotePlugin-0bZSbkyo.mjs";import{a as _r,i as Ar,n as Hr,o as wr,r as zr,t as Er}from"./chunks/CodeBlockPlugin-BCJ3faXx.mjs";import{i as Gr,n as Kr,o as Lr,r as qr,t as Or}from"./chunks/xml-BsV44TrJ.mjs";import{n as Ur,t as Vr}from"./chunks/XmlPatterns-RN32-0ob.mjs";import{n as Qr,r as Wr,t as Xr}from"./chunks/PopupKeyboardPatterns-tUrT9TyV.mjs";import{n as Yr,r as Zr,t as $r}from"./chunks/FontSizePlugin-8CAvj1RD.mjs";import{a as Jr,c as so,i as ao,n as mo,o as ro,r as oo,s as io,t as to}from"./chunks/FormulaPlugin-DJ39BtqV.mjs";import{t as no}from"./chunks/HardBreakPlugin-vniSvTgq.mjs";import{n as uo,r as po,t as lo}from"./chunks/HeadingPlugin-DUKsLuMd.mjs";import{a as co,i as eo,n as jo,r as ho,t as go}from"./chunks/ColorPickerPopup-CyF26zIU.mjs";import{n as ko,r as fo,t as Po}from"./chunks/ColorGrid-DQEkJ-0y.mjs";import{n as bo,r as So,t as To}from"./chunks/HighlightPlugin-DRTAE1N5.mjs";import{n as Co,r as xo,t as yo}from"./chunks/HorizontalRulePlugin-B9OvwrKB.mjs";import{a as Do,i as vo,n as Bo,r as Fo,t as Mo}from"./chunks/ImagePlugin-CwxTRr6d.mjs";import{n as No,r as Ro,t as Io}from"./chunks/InlineCodePlugin-uxgMUX_E.mjs";import{n as _o,r as Ao,t as Ho}from"./chunks/LinkPlugin-CvWHbSkb.mjs";import{n as wo,r as zo,t as Eo}from"./chunks/ListPlugin-BchSFWVn.mjs";import{n as Go,r as Ko,t as Lo}from"./chunks/PrintPlugin-D2javl_d.mjs";import{a as qo,c as Oo,d as Uo,i as Vo,l as Qo,n as Wo,o as Xo,r as Yo,s as Zo,t as $o,u as Jo}from"./chunks/XmlSupport-DIXH5on9.mjs";import{i as si,n as ai,r as mi,t as ri}from"./chunks/SmartPastePlugin-BvJQ-fOz.mjs";import{n as oi,r as ii,t as ti}from"./chunks/StrikethroughPlugin-BdrG1TTY.mjs";import{n as ni,r as ui,t as pi}from"./chunks/SuperSubPlugin-DTZB0Y3D.mjs";import{a as li,i as ci,n as ei,o as ji,r as hi,t as gi}from"./chunks/TablePlugin-CPvg9YZS.mjs";import{n as ki,r as fi,t as Pi}from"./chunks/TextColorPlugin-Ckg3KWvb.mjs";import{n as di,r as bi,t as Si}from"./chunks/DirectionDetection-CDVSEWQ6.mjs";import{t as Ti}from"./chunks/TextDirectionAutoPlugin-DRGbgTlx.mjs";import{n as Ci,r as xi,t as yi}from"./chunks/TextDirectionPlugin-BCeYyJHo.mjs";import{a as Di,i as vi,n as Bi,o as Fi,r as Mi,s as Ni,t as Ri}from"./chunks/VideoPlugin-BugkI7-m.mjs";import{t as Ii}from"./chunks/full-JM0-SwWy.mjs";import"./presets.mjs";import{n as _i,r as Ai,t as Hi}from"./chunks/StarterFonts-BDQPg-cu.mjs";import{t as wi}from"./chunks/MathFont-BS8IwYh2.mjs";import"./fonts.mjs";import"./plugins/text-formatting.mjs";import"./plugins/heading.mjs";import"./plugins/toolbar.mjs";import"./plugins/shared.mjs";import"./plugins/table.mjs";import"./plugins/image.mjs";import"./plugins/formula.mjs";import"./plugins/video.mjs";import"./plugins/code-block.mjs";import"./plugins/link.mjs";import"./plugins/list.mjs";import"./plugins/blockquote.mjs";import"./plugins/strikethrough.mjs";import"./plugins/inline-code.mjs";import"./plugins/text-color.mjs";import"./plugins/horizontal-rule.mjs";import"./plugins/alignment.mjs";import"./plugins/font.mjs";import"./plugins/font-size.mjs";import"./plugins/highlight.mjs";import"./plugins/super-sub.mjs";import"./plugins/hard-break.mjs";import"./plugins/gap-cursor.mjs";import"./plugins/caret-navigation.mjs";import"./plugins/print.mjs";import"./plugins/smart-paste.mjs";import"./plugins/language.mjs";import"./plugins/text-direction.mjs";import"./plugins/bidi-isolation.mjs";import"./plugins/text-direction-auto.mjs";export{Qs as AFTER_PRINT,yr as ALIGNMENT_ICONS,xr as ALIGNMENT_LOCALE_EN,Cr as AlignmentPlugin,Ks as BEFORE_PRINT,Br as BIDI_ISOLATION_LOCALE_EN,Nr as BLOCKQUOTE_LOCALE_EN,Mr as BidiIsolationPlugin,rm as BlockTypePickerRegistry,Ir as BlockquotePlugin,wm as CARET_NAVIGATION_LOCALE_EN,Hr as CODE_BLOCK_LOCALE_EN,_r as CODE_BLOCK_SERVICE_KEY,Lm as CaretNavigationPlugin,Ea as ClipboardHandler,Er as CodeBlockPlugin,ka as CompositionTracker,Ra as CursorWrapper,Us as DARK_THEME,io as DEFAULT_FORMULA_KEYMAP,Bo as DEFAULT_IMAGE_KEYMAP,Qo as DEFAULT_RELEVANCE_WEIGHTS,ei as DEFAULT_TABLE_SIZING_CONFIG,vi as DEFAULT_VIDEO_CONFIG,Di as DEFAULT_VIDEO_KEYMAP,Fi as DEFAULT_VIDEO_PROVIDERS,Dr as DIRECTION_ICONS,ea as DecorationSet,da as EditorState,Ia as EventBus,Oa as EventKey,Hi as FIRA_CODE,_i as FIRA_SANS,jr as FONT_LOCALE_EN,Yr as FONT_SIZE_LOCALE_EN,mo as FORMULA_LOCALE_EN,Ta as FileHandlerRegistry,gr as FontPlugin,$r as FontSizePlugin,to as FormulaPlugin,Xm as GapCursorPlugin,uo as HEADING_LOCALE_EN,bo as HIGHLIGHT_LOCALE_EN,Co as HORIZONTAL_RULE_LOCALE_EN,no as HardBreakPlugin,lo as HeadingPlugin,To as HighlightPlugin,Fa as HistoryManager,yo as HorizontalRulePlugin,oa as IDENTITY_MAP,vo as IMAGE_LOCALE_EN,Fo as IMAGE_UPLOAD_SERVICE,No as INLINE_CODE_LOCALE_EN,Mo as ImagePlugin,Io as InlineCodePlugin,Ga as InputManager,Ka as InputRuleRegistry,Gr as JAVA_LANGUAGE,Xo as JAVA_SUPPORT,qr as JSON_LANGUAGE,Vo as JSON_SUPPORT,qo as JsonDetector,za as KeymapRegistry,Lr as LANGUAGE_REGISTRY_SERVICE_KEY,Ws as LIGHT_THEME,_o as LINK_LOCALE_EN,wo as LIST_LOCALE_EN,Zo as LexerDetector,Ho as LinkPlugin,Eo as ListPlugin,ur as Locale,Qa as LocaleService,Ya as LocaleServiceKey,Jr as MATHML_ATTRS,ro as MATHML_TAGS,Jo as MAX_RELEVANCE_WEIGHT,ja as Mapping,wi as NOTECTL_MATH_FONT,ba as NodeViewRegistry,Na as NotectlEditor,ws as PAPER_MARGIN_HORIZONTAL_PX,zs as PAPER_MARGIN_TOP_PX,Vs as PAPER_VIEWPORT_PADDING_PX,Go as PRINT_LOCALE_EN,As as PRINT_SERVICE_KEY,qs as PaperSize,ya as PluginManager,nr as PopupManager,tr as PopupServiceKey,Lo as PrintPlugin,Ar as RegexTokenizer,mi as SMART_PASTE_LOCALE_EN,ai as SMART_PASTE_SERVICE_KEY,Ai as STARTER_FONTS,oi as STRIKETHROUGH_LOCALE_EN,ni as SUPER_SUB_LOCALE_EN,wr as SYNTAX_HIGHLIGHTER_SERVICE_KEY,La as SYNTAX_TOKEN_TYPES,mm as SchemaRegistry,qa as ServiceKey,ri as SmartPastePlugin,ti as StrikethroughPlugin,pi as SuperSubPlugin,li as TABLE_LOCALE_EN,ki as TEXT_COLOR_LOCALE_EN,Ci as TEXT_DIRECTION_LOCALE_EN,vr as TEXT_DIRECTION_SERVICE_KEY,$m as TEXT_FORMATTING_LOCALE_EN,im as TOOLBAR_LOCALE_EN,Kr as TYPESCRIPT_LANGUAGE,Yo as TYPESCRIPT_SUPPORT,gi as TablePlugin,ci as TableSelectionServiceKey,hi as TableSizingServiceKey,Pi as TextColorPlugin,Ti as TextDirectionAutoPlugin,yi as TextDirectionPlugin,sr as TextFormattingPlugin,Hs as ThemePreset,um as ToolbarOverflowBehavior,pm as ToolbarPlugin,nm as ToolbarRegistry,tm as ToolbarServiceKey,fa as TransactionBuilder,Zs as VALID_ALIGNMENTS,sa as VALID_DIRECTIONS,Bi as VIDEO_LOCALE_EN,Ri as VideoPlugin,Vr as XML_ATTRS,Or as XML_LANGUAGE,$o as XML_SUPPORT,Ur as XML_TAG_NAME,Wo as XmlDetector,er as adoptContentStyles,ir as appendToRoot,ms as applyAttributedMark,jo as applyColorMark,rr as applyRovingTabindex,pa as applyStep,Xr as attachGridKeyboard,Qr as attachListboxKeyboard,Wr as attachMenuKeyboard,g as blockAttrValuesEqual,P as blockAttrsEqual,Q as blockId,j as blockOffsetToTextOffset,so as buildMathML,os as canContain,$ as canCrossBlockBoundary,Xa as capitalize,ga as collectRemovedBlockIds,O as commandName,Uo as computeTokenStats,Ma as consoleLogger,Wm as createBlockElement,k as createBlockNode,G as createCollapsedSelection,d as createDocument,_a as createEditor,Ii as createFullPreset,H as createGapCursor,h as createInlineNode,Ym as createMarkInputRule,Sr as createMinimalPreset,z as createNodeSelection,_ as createPosition,M as createSelection,b as createTextNode,Ls as createTheme,Xs as createThemeStyleSheet,xs as defaultSchema,es as deleteBackward,ns as deleteBackwardAtGap,ks as deleteForward,Cs as deleteForwardAtGap,ts as deleteNodeSelection,Ps as deleteSelectionCommand,Si as detectTextDirection,hm as endOfTextblock,a as escapeAttr,r as escapeHTML,Om as extendCharacterBackward,Qm as extendCharacterForward,Rm as extendLineDown,ym as extendLineUp,Dm as extendToBlockEnd,Vm as extendToBlockStart,Tm as extendToDocumentEnd,gm as extendToDocumentStart,zm as extendToLineEnd,Km as extendToLineStart,cm as extendTx,vm as extendWordBackward,Am as extendWordForward,ar as findNextDropdownItem,v as findNode,B as findNodePath,y as findNodeWithPath,di as findSiblingDirection,Ms as findWordBoundaryBackward,Bs as findWordBoundaryForward,Ds as forEachBlockIdInRange,ys as forEachBlockInRange,s as formatHTML,Zm as formatShortcut,Os as generateThemeCSS,ho as getActiveColor,f as getBlockChildren,bi as getBlockDir,e as getBlockLength,c as getBlockMarksAtOffset,p as getBlockText,Sa as getBlockTypeLabel,Im as getCaretRectFromSelection,ko as getColorName,S as getContentAtOffset,l as getInlineChildren,ss as getMarkAttrAtSelection,Gs as getPaperCSSSize,Es as getPaperDimensions,Wa as getSelectedBlock,Va as getSelectedBlockId,ca as getStepMap,C as getTextChildren,am as getTextDirection,n as hasMark,lr as injectContentStyles,la as inlineDecoration,V as inlineType,bs as insertHardBreakCommand,gs as insertTextCommand,ta as invertStep,ua as invertTransaction,Aa as isAllowedInReadonly,as as isAttributedMarkActive,T as isBlockNode,w as isCollapsed,eo as isColorMarkActive,Ja as isFirefox,E as isForward,N as isGapCursor,u as isInlineNode,Is as isInlineNodeOfType,X as isInsideIsolating,Z as isIsolatingBlock,i as isLeafBlock,fo as isLightColor,sm as isMac,fs as isMarkActive,cs as isMarkAllowed,Ns as isMarkOfType,Rs as isNodeOfType,A as isNodeSelection,$a as isRtlContext,Ca as isSelectionOnlyTransaction,o as isTextNode,K as isTextSelection,br as isValidCSSColor,Pr as isValidCSSFontFamily,dr as isValidCSSFontSize,fr as isValidHexColor,_s as isValidPaperSize,W as isVoidBlock,Za as isWebKit,ao as latexToMathML,Tr as loadAlignmentLocale,Fr as loadBidiIsolationLocale,Rr as loadBlockquoteLocale,Gm as loadCaretNavigationLocale,zr as loadCodeBlockLocale,hr as loadFontLocale,Zr as loadFontSizeLocale,oo as loadFormulaLocale,po as loadHeadingLocale,So as loadHighlightLocale,xo as loadHorizontalRuleLocale,Do as loadImageLocale,Ro as loadInlineCodeLocale,Ao as loadLinkLocale,zo as loadListLocale,Ua as loadLocaleModule,Ko as loadPrintLocale,si as loadSmartPasteLocale,ii as loadStrikethroughLocale,ui as loadSuperSubLocale,ji as loadTableLocale,fi as loadTextColorLocale,xi as loadTextDirectionLocale,Jm as loadTextFormattingLocale,om as loadToolbarLocale,Mi as loadVideoLocale,ha as mapChildIndex,ra as mapInsertionIndex,ma as mapPositionThroughStep,wa as mapSelection,xa as mapTextSelection,t as markSetsEqual,q as markType,ls as mergeBlockBackward,Um as moveCharacterBackward,Cm as moveCharacterForward,qm as moveLineDown,Bm as moveLineUp,bm as moveToBlockEnd,_m as moveToBlockStart,fm as moveToDocumentEnd,km as moveToDocumentStart,Fm as moveToLineEnd,Em as moveToLineStart,em as moveTx,Hm as moveWordBackward,Nm as moveWordForward,Pm as navigateAcrossBlocks,is as navigateArrowIntoVoid,jm as navigateFromGapCursor,mr as navigateGrid,dm as navigateVerticalWithGoalColumn,Fs as nextGraphemeSize,na as nodeDecoration,lm as nodeSelTx,L as nodeType,m as normalizeHTMLId,Pa as normalizeKeyDescriptor,aa as parseHTMLToDocument,Ni as parseVideoUrl,U as pluginId,or as positionPopup,vs as prevGraphemeSize,Ba as registerBuiltinSpecs,Ha as registerNotectlEditor,cr as removeAdoptedStyles,J as removeAttributedMark,co as removeColorMark,pr as removeContentStyles,Po as renderColorGrid,go as renderColorPickerPopup,kr as resolveColors,F as resolveNodeByPath,x as resolveParentByPath,Ys as resolveTheme,us as schemaFromRegistry,va as scopedLogger,Oo as scoreFromStats,ds as selectAll,R as selectionRange,I as selectionsEqual,Js as serializeDocumentToCSS,$s as serializeDocumentToHTML,Y as sharesParent,Da as silentLogger,Sm as skipInlineNode,Ss as splitBlockCommand,hs as toggleBold,js as toggleItalic,ps as toggleMark,Ts as toggleUnderline,rs as validateContent,Mm as viewExtend,xm as viewMove,D as walkNodes,ia as widgetDecoration};
package/dist/html.d.ts CHANGED
@@ -13,4 +13,5 @@
13
13
  export type { CSSMode, SerializeOptions, ContentHTMLOptions, ContentCSSResult, SetContentHTMLOptions, } from './serialization/index.js';
14
14
  export { serializeDocumentToHTML, serializeDocumentToCSS, VALID_ALIGNMENTS, VALID_DIRECTIONS, } from './serialization/index.js';
15
15
  export { parseHTMLToDocument, type ParseHTMLOptions } from './serialization/index.js';
16
+ export { normalizeHTMLId } from './model/HTMLUtils.js';
16
17
  //# sourceMappingURL=html.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,YAAY,EACX,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,YAAY,EACX,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/html.mjs CHANGED
@@ -1 +1 @@
1
- import{a as s,i as a,o as r,r as o,t as m}from"./chunks/DocumentParser-CcTSeT1B.mjs";export{o as VALID_ALIGNMENTS,a as VALID_DIRECTIONS,m as parseHTMLToDocument,s as serializeDocumentToCSS,r as serializeDocumentToHTML};
1
+ import{o as s}from"./chunks/HTMLUtils-Bhg3_P8B.mjs";import{f as m,h as o,m as r,p as a}from"./chunks/TableDimensions-BBhjHNjQ.mjs";import{t}from"./chunks/DocumentParser-D2tr3ZKn.mjs";export{m as VALID_ALIGNMENTS,a as VALID_DIRECTIONS,s as normalizeHTMLId,t as parseHTMLToDocument,r as serializeDocumentToCSS,o as serializeDocumentToHTML};
package/dist/index.d.ts CHANGED
@@ -8,13 +8,14 @@
8
8
  * - `@notectl/core/plugins/<name>` — individual plugins
9
9
  * - `@notectl/core/presets` — preset factory functions
10
10
  * - `@notectl/core/html` — HTML serialization/parsing
11
- * - `@notectl/core/fonts` — starter font definitions
11
+ * - `@notectl/core/fonts/starter` — embedded starter font definitions
12
12
  * - `@notectl/core/full` — kitchen-sink (all of the above)
13
13
  *
14
14
  * @packageDocumentation
15
15
  */
16
- export type { Document, BlockNode, TextNode, InlineNode, TextSegment, ContentSegment, ChildNode, Mark, BoldMark, ItalicMark, UnderlineMark, BlockAttrs, } from './model/Document.js';
17
- export { createDocument, createBlockNode, createTextNode, createInlineNode, isTextNode, isInlineNode, isBlockNode, isLeafBlock, getTextChildren, getInlineChildren, getBlockChildren, getBlockText, getBlockLength, blockOffsetToTextOffset, getBlockMarksAtOffset, getContentAtOffset, hasMark, markSetsEqual, } from './model/Document.js';
16
+ export { registerNotectlEditor } from './register.js';
17
+ export type { Document, BlockNode, TextNode, InlineNode, TextSegment, ContentSegment, ChildNode, Mark, BoldMark, ItalicMark, UnderlineMark, BlockAttrs, BlockAttrPrimitive, BlockAttrArrayValue, BlockAttrValue, } from './model/Document.js';
18
+ export { createDocument, createBlockNode, createTextNode, createInlineNode, isTextNode, isInlineNode, isBlockNode, isLeafBlock, getTextChildren, getInlineChildren, getBlockChildren, getBlockText, getBlockLength, blockOffsetToTextOffset, getBlockMarksAtOffset, getContentAtOffset, hasMark, markSetsEqual, blockAttrValuesEqual, blockAttrsEqual, } from './model/Document.js';
18
19
  export { nextGraphemeSize, prevGraphemeSize } from './model/GraphemeUtils.js';
19
20
  export type { Position, Selection, SelectionRange, NodeSelection, GapCursorSelection, EditorSelection, } from './model/Selection.js';
20
21
  export { createPosition, createSelection, createCollapsedSelection, createNodeSelection, createGapCursor, isCollapsed, isForward, selectionRange, isNodeSelection, isGapCursor, isTextSelection, selectionsEqual, } from './model/Selection.js';
@@ -31,16 +32,16 @@ export type { MarkSpec } from './model/MarkSpec.js';
31
32
  export type { InlineNodeSpec } from './model/InlineNodeSpec.js';
32
33
  export type { ParseRule } from './model/ParseRule.js';
33
34
  export type { SanitizeConfig } from './model/SanitizeConfig.js';
34
- export { escapeAttr, escapeHTML, formatHTML } from './model/HTMLUtils.js';
35
+ export { escapeAttr, escapeHTML, formatHTML, normalizeHTMLId, } from './model/HTMLUtils.js';
35
36
  export { SchemaRegistry } from './model/SchemaRegistry.js';
36
37
  export { resolveNodeByPath, resolveParentByPath, findNodePath, findNode, findNodeWithPath, walkNodes, } from './model/NodeResolver.js';
37
38
  export { canContain, validateContent } from './model/ContentModel.js';
38
39
  export { registerBuiltinSpecs } from './editor/BuiltinSpecs.js';
39
40
  export { EditorState } from './state/EditorState.js';
40
- export type { Transaction, TransactionMetadata, TransactionOrigin, Step, InsertTextStep, DeleteTextStep, SplitBlockStep, MergeBlocksStep, AddMarkStep, RemoveMarkStep, SetBlockTypeStep, InsertNodeStep, RemoveNodeStep, SetNodeAttrStep, InsertInlineNodeStep, RemoveInlineNodeStep, SetInlineNodeAttrStep, } from './state/Transaction.js';
41
+ export type { Transaction, TransactionMetadata, TransactionOrigin, Step, InsertTextStep, DeleteTextStep, SplitBlockStep, MergeBlocksStep, AddMarkStep, RemoveMarkStep, SetBlockTypeStep, InsertNodeStep, RemoveNodeStep, MoveNodeStep, SetNodeAttrStep, InsertInlineNodeStep, RemoveInlineNodeStep, SetInlineNodeAttrStep, } from './state/Transaction.js';
41
42
  export { TransactionBuilder, invertStep, invertTransaction } from './state/Transaction.js';
42
43
  export { applyStep, getStepMap } from './state/StepHandlers.js';
43
- export type { StepMap, Assoc, MapResult, PositionRange, IdentityMap, ShiftMap, SplitMap, MergeMap, BlockRemovalMap, ChildIndexShiftMap, } from './state/Mapping.js';
44
+ export type { StepMap, Assoc, MapResult, PositionRange, IdentityMap, ShiftMap, SplitMap, MergeMap, BlockRemovalMap, ChildIndexShiftMap, MoveNodeMap, } from './state/Mapping.js';
44
45
  export { Mapping, IDENTITY_MAP, mapPositionThroughStep, mapChildIndex, mapInsertionIndex, collectRemovedBlockIds, } from './state/Mapping.js';
45
46
  export { mapSelection, mapTextSelection } from './state/SelectionMapping.js';
46
47
  export { isAllowedInReadonly, isSelectionOnlyTransaction } from './state/ReadonlyGuard.js';
@@ -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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"}
@@ -21,6 +21,8 @@ export declare class ClipboardHandler {
21
21
  private onCopy;
22
22
  private onCut;
23
23
  private writeNodeSelectionToClipboard;
24
+ /** Returns leaf text for a composite block in document order. */
25
+ private plainTextFromBlockTree;
24
26
  private writeTextSelectionToClipboard;
25
27
  /**
26
28
  * Checks whether the current selection requires the full document serializer.
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardHandler.d.ts","sourceRoot":"","sources":["../../src/input/ClipboardHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAejE,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;IAwBd,OAAO,CAAC,KAAK;IA+Bb,OAAO,CAAC,6BAA6B;IA0BrC,OAAO,CAAC,6BAA6B;IA6ErC;;;;OAIG;IACH,OAAO,CAAC,mCAAmC;IAgC3C,4EAA4E;IAC5E,OAAO,CAAC,gBAAgB;IAMxB,wFAAwF;IACxF,OAAO,CAAC,wBAAwB;IAIhC,iFAAiF;IACjF,OAAO,CAAC,qBAAqB;IAI7B;;;;OAIG;IACH,OAAO,CAAC,kCAAkC;IAkC1C,6EAA6E;IAC7E,OAAO,CAAC,yBAAyB;IAuBjC,kEAAkE;IAClE,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,sBAAsB;IAI9B;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IA4DtC,OAAO,IAAI,IAAI;CAIf"}
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;AAiBjE,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;IAyBd,OAAO,CAAC,KAAK;IAgCb,OAAO,CAAC,6BAA6B;IA8CrC,iEAAiE;IACjE,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,6BAA6B;IA8ErC;;;;OAIG;IACH,OAAO,CAAC,mCAAmC;IAgC3C,4EAA4E;IAC5E,OAAO,CAAC,gBAAgB;IAMxB,wFAAwF;IACxF,OAAO,CAAC,wBAAwB;IAIhC,iFAAiF;IACjF,OAAO,CAAC,qBAAqB;IAI7B;;;;OAIG;IACH,OAAO,CAAC,kCAAkC;IAkC1C,6EAA6E;IAC7E,OAAO,CAAC,yBAAyB;IAuBjC,kEAAkE;IAClE,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,sBAAsB;IAI9B;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IAsEtC,OAAO,IAAI,IAAI;CAIf"}
@@ -14,6 +14,12 @@ export interface InputHandlerOptions {
14
14
  syncSelection: SyncSelectionFn;
15
15
  inputRuleRegistry?: InputRuleRegistry;
16
16
  isReadOnly?: () => boolean;
17
+ /**
18
+ * Gate for live input-rule (Markdown shorthand) processing. When it returns
19
+ * `false`, typed shorthand like `# ` or `**bold**` stays literal. Evaluated on
20
+ * each keystroke. Defaults to always enabled.
21
+ */
22
+ shouldApplyInputRules?: () => boolean;
17
23
  compositionTracker?: CompositionTracker;
18
24
  getTextInputInterceptors?: () => readonly TextInputInterceptorEntry[];
19
25
  }
@@ -24,6 +30,7 @@ export declare class InputHandler {
24
30
  private readonly syncSelection;
25
31
  private readonly inputRuleRegistry?;
26
32
  private readonly isReadOnly;
33
+ private readonly shouldApplyInputRules;
27
34
  private readonly compositionTracker;
28
35
  private readonly getTextInputInterceptors;
29
36
  private compositionCommitHandled;
@@ -1 +1 @@
1
- {"version":3,"file":"InputHandler.d.ts","sourceRoot":"","sources":["../../src/input/InputHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,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,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,wBAAwB,CAAC,EAAE,MAAM,SAAS,yBAAyB,EAAE,CAAC;CACtE;AAED,qBAAa,YAAY;IAevB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAdzB,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,iBAAiB,CAAC,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA6C;IACtF,OAAO,CAAC,wBAAwB,CAAS;IAEzC,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;IAmB7B,OAAO,CAAC,aAAa;IAoHrB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,eAAe;IA4BvB,OAAO,IAAI,IAAI;CAKf"}
1
+ {"version":3,"file":"InputHandler.d.ts","sourceRoot":"","sources":["../../src/input/InputHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,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,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;IACtC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,wBAAwB,CAAC,EAAE,MAAM,SAAS,yBAAyB,EAAE,CAAC;CACtE;AAED,qBAAa,YAAY;IAgBvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAfzB,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,iBAAiB,CAAC,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA6C;IACtF,OAAO,CAAC,wBAAwB,CAAS;IAEzC,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;IAoB7B,OAAO,CAAC,aAAa;IAqHrB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAgBxB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,eAAe;IAiCvB,OAAO,IAAI,IAAI;CAKf"}
@@ -1,12 +1,14 @@
1
1
  import { FileHandlerRegistry } from '../model/FileHandlerRegistry.js';
2
2
  import { InputRuleRegistry } from '../model/InputRuleRegistry.js';
3
3
  import { KeymapRegistry } from '../model/KeymapRegistry.js';
4
+ import { MarkdownSyntaxExtension } from '../model/MarkdownSyntaxRegistry.js';
4
5
  import { PasteInterceptorEntry } from '../model/PasteInterceptor.js';
5
6
  import { SchemaRegistry } from '../model/SchemaRegistry.js';
6
7
  import { TextInputInterceptorEntry } from '../model/TextInputInterceptor.js';
7
8
  import { EditorState } from '../state/EditorState.js';
8
9
  import { Transaction } from '../state/Transaction.js';
9
10
  import { CompositionTracker } from './CompositionTracker.js';
11
+ import { PasteMarkdownMode } from './PasteHandler.js';
10
12
  type TextDirectionFn = (element: HTMLElement) => 'ltr' | 'rtl';
11
13
  type GapCursorNavigateFn = (state: EditorState, direction: 'left' | 'right' | 'up' | 'down', container?: HTMLElement) => Transaction | null;
12
14
  export interface InputManagerDeps {
@@ -20,10 +22,18 @@ export interface InputManagerDeps {
20
22
  readonly inputRuleRegistry?: InputRuleRegistry;
21
23
  readonly fileHandlerRegistry?: FileHandlerRegistry;
22
24
  readonly isReadOnly: () => boolean;
25
+ /** Live gate for Markdown shorthand input rules. Defaults to always enabled. */
26
+ readonly shouldApplyInputRules?: () => boolean;
23
27
  readonly getPasteInterceptors?: () => readonly PasteInterceptorEntry[];
28
+ readonly pasteMarkdown?: PasteMarkdownMode;
29
+ readonly getMarkdownSyntaxExtensions?: () => readonly MarkdownSyntaxExtension[];
24
30
  readonly getTextInputInterceptors?: () => readonly TextInputInterceptorEntry[];
25
31
  readonly getTextDirection?: TextDirectionFn;
26
32
  readonly navigateFromGapCursor?: GapCursorNavigateFn;
33
+ /** Writes a message to the screen-reader live region (for the Markdown paste path). */
34
+ readonly announce?: (text: string) => void;
35
+ /** Localized "Markdown imported" announcement for the auto-detect paste path. */
36
+ readonly markdownImportedMessage?: string;
27
37
  }
28
38
  export declare class InputManager {
29
39
  readonly compositionTracker: CompositionTracker;
@@ -1 +1 @@
1
- {"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAK7D,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,KAAK,GAAG,KAAK,CAAC;AAC/D,KAAK,mBAAmB,GAAG,CAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,EAC3C,SAAS,CAAC,EAAE,WAAW,KACnB,WAAW,GAAG,IAAI,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,WAAW,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,SAAS,qBAAqB,EAAE,CAAC;IACvE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,SAAS,yBAAyB,EAAE,CAAC;IAC/E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;CACrD;AAED,qBAAa,YAAY;IACxB,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;gBAExC,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB;IA2C/D,gEAAgE;IAChE,OAAO,IAAI,IAAI;CAMf"}
1
+ {"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardHandler.d.ts","sourceRoot":"","sources":["../../src/input/KeyboardHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAOhF,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,KAAK,GAAG,KAAK,CAAC;AAC/D,KAAK,mBAAmB,GAAG,CAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,EAC3C,SAAS,CAAC,EAAE,WAAW,KACnB,WAAW,GAAG,IAAI,CAAC;AAExB,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;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;CAC5C;AAUD,qBAAa,eAAe;IAa1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZzB,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,kBAAkB,CAAC,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkB;IACrD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAkC;IAC1E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;gBAGzC,OAAO,EAAE,WAAW,EACrC,OAAO,EAAE,sBAAsB;IAgBhC,OAAO,CAAC,SAAS;IAmEjB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAQvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAiBrB,2FAA2F;IAC3F,OAAO,CAAC,uBAAuB;IA8D/B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAqE3B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAcjB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAOpB,0EAA0E;IAC1E,OAAO,CAAC,kBAAkB;IAK1B,OAAO,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"KeyboardHandler.d.ts","sourceRoot":"","sources":["../../src/input/KeyboardHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAOhF,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,KAAK,GAAG,KAAK,CAAC;AAC/D,KAAK,mBAAmB,GAAG,CAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,EAC3C,SAAS,CAAC,EAAE,WAAW,KACnB,WAAW,GAAG,IAAI,CAAC;AAExB,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;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;CAC5C;AAUD,qBAAa,eAAe;IAa1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZzB,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,kBAAkB,CAAC,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkB;IACrD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAkC;IAC1E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;gBAGzC,OAAO,EAAE,WAAW,EACrC,OAAO,EAAE,sBAAsB;IAgBhC,OAAO,CAAC,SAAS;IAoEjB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAQvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAiBrB,2FAA2F;IAC3F,OAAO,CAAC,uBAAuB;IA8D/B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAqE3B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAcjB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAOpB,0EAA0E;IAC1E,OAAO,CAAC,kBAAkB;IAK1B,OAAO,IAAI,IAAI;CAGf"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Cheap, synchronous Markdown detector for the paste pipeline.
3
+ *
4
+ * Stays in the base bundle (no engine dependency) so the heavy parser can be
5
+ * dynamically imported only on a positive match (D11). Detection is deliberately
6
+ * conservative: it fires only on strong **block-level** signals (a fenced code
7
+ * block, a GFM table, or a run of list/heading/blockquote markers), never on a
8
+ * stray inline `*` or `_`, so ordinary prose pastes through unchanged (D11,
9
+ * "auto" mode must never turn normal paste into italic soup).
10
+ */
11
+ /**
12
+ * Returns true when the plain-text clipboard payload carries strong block-level
13
+ * Markdown signals worth handing to the full parser.
14
+ *
15
+ * Accepted false positive (by design): plain text with two or more `# ` / list
16
+ * lines and no usable `text/html` (for example, a shell script or other code
17
+ * copied from a terminal whose `# ` comments read as ATX headings) is treated
18
+ * as Markdown. Tightening the run-of-markers signal cannot be done without
19
+ * trading it for false negatives on genuine Markdown (a two-item list, `# A` /
20
+ * `## B`), so the boundary is left as-is. The conversion rides the normal paste
21
+ * pipeline, so a single undo reverts it; users who routinely paste plain-text
22
+ * code can set `markdown: { paste: 'never' }` (or `markdown: false`) to opt out
23
+ * entirely.
24
+ */
25
+ export declare function looksLikeMarkdown(text: string): boolean;
26
+ //# sourceMappingURL=MarkdownPasteDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownPasteDetector.d.ts","sourceRoot":"","sources":["../../src/input/MarkdownPasteDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMvD"}
@@ -8,14 +8,31 @@ export declare class PasteHTMLHandler {
8
8
  constructor(getState: GetStateFn, dispatch: DispatchFn, schemaRegistry: SchemaRegistry | undefined, tryRichPasteFromJson: (json: string) => boolean);
9
9
  /** Handles HTML or plain text paste from system clipboard. */
10
10
  handleHTMLOrTextPaste(clipboardData: DataTransfer, plainText: string): void;
11
+ /** Inserts plain text through the standard paste pipeline (no HTML interpretation). */
12
+ pastePlainText(text: string): void;
13
+ /** Inserts a pre-built HTML string through the standard paste pipeline. */
14
+ pasteHTMLString(html: string): void;
11
15
  /** Sanitizes and processes pasted HTML content. */
12
16
  private handleHTML;
13
17
  /** Extracts embedded rich block JSON from HTML (data-notectl-rich). */
14
18
  private extractRichData;
15
19
  /** Decodes HTML entities produced by ClipboardHandler's encoding. */
16
20
  private decodeHTMLEntities;
17
- /** Checks whether HTML requires the DocumentParser (tables, blockquotes, void blocks). */
21
+ /**
22
+ * Checks whether HTML requires the DocumentParser (tables, blockquotes,
23
+ * multi-block list items, void blocks).
24
+ */
18
25
  private requiresDocumentParser;
26
+ /** Semantic IDs belong to whole blocks, which the flat slice parser cannot represent. */
27
+ private containsModelledBlockID;
28
+ /**
29
+ * Whether any `<li>` carries block content beyond a single paragraph: two or
30
+ * more block-level children, a non-paragraph block child (code, quote,
31
+ * heading, rule), or a block child mixed with inline content. Nested lists
32
+ * and the checklist checkbox stay on the flat path — the slice model
33
+ * represents those losslessly.
34
+ */
35
+ private containsMultiBlockListItem;
19
36
  /** Checks whether a DOM fragment contains elements matching void block parse rules. */
20
37
  private containsVoidBlockElements;
21
38
  /** Handles paste of HTML requiring the DocumentParser (tables, void blocks). */
@@ -1 +1 @@
1
- {"version":3,"file":"PasteHTMLHandler.d.ts","sourceRoot":"","sources":["../../src/input/PasteHTMLHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAYjE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAchE,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,EACpB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO;IAGjE,8DAA8D;IAC9D,qBAAqB,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAe3E,mDAAmD;IACnD,OAAO,CAAC,UAAU;IAuDlB,uEAAuE;IACvE,OAAO,CAAC,eAAe;IASvB,qEAAqE;IACrE,OAAO,CAAC,kBAAkB;IAS1B,0FAA0F;IAC1F,OAAO,CAAC,sBAAsB;IAU9B,uFAAuF;IACvF,OAAO,CAAC,yBAAyB;IAgBjC,gFAAgF;IAChF,OAAO,CAAC,mBAAmB;IAkE3B,OAAO,CAAC,mBAAmB;CAK3B"}
1
+ {"version":3,"file":"PasteHTMLHandler.d.ts","sourceRoot":"","sources":["../../src/input/PasteHTMLHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAajE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAmChE,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,EACpB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO;IAGjE,8DAA8D;IAC9D,qBAAqB,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAY3E,uFAAuF;IACvF,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMlC,2EAA2E;IAC3E,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,mDAAmD;IACnD,OAAO,CAAC,UAAU;IAyDlB,uEAAuE;IACvE,OAAO,CAAC,eAAe;IASvB,qEAAqE;IACrE,OAAO,CAAC,kBAAkB;IAS1B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B,yFAAyF;IACzF,OAAO,CAAC,uBAAuB;IAW/B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IAmClC,uFAAuF;IACvF,OAAO,CAAC,yBAAyB;IAgBjC,gFAAgF;IAChF,OAAO,CAAC,mBAAmB;IAmE3B,OAAO,CAAC,mBAAmB;CAK3B"}
@@ -1,7 +1,10 @@
1
1
  import { FileHandlerRegistry } from '../model/FileHandlerRegistry.js';
2
+ import { MarkdownSyntaxExtension } from '../model/MarkdownSyntaxRegistry.js';
2
3
  import { PasteInterceptorEntry } from '../model/PasteInterceptor.js';
3
4
  import { SchemaRegistry } from '../model/SchemaRegistry.js';
4
5
  import { DispatchFn, GetStateFn } from './InputHandler.js';
6
+ /** Markdown auto-detection mode for the paste pipeline. */
7
+ export type PasteMarkdownMode = 'auto' | 'never';
5
8
  export interface PasteHandlerOptions {
6
9
  readonly getState: GetStateFn;
7
10
  readonly dispatch: DispatchFn;
@@ -9,19 +12,46 @@ export interface PasteHandlerOptions {
9
12
  readonly fileHandlerRegistry?: FileHandlerRegistry;
10
13
  readonly isReadOnly?: () => boolean;
11
14
  readonly getPasteInterceptors?: () => readonly PasteInterceptorEntry[];
15
+ /** Markdown paste auto-detection. Default `auto`. */
16
+ readonly pasteMarkdown?: PasteMarkdownMode;
17
+ /** Supplies plugin-contributed Markdown syntax extensions (formula `$...$`). */
18
+ readonly getMarkdownSyntaxExtensions?: () => readonly MarkdownSyntaxExtension[];
19
+ /** Writes a message to the screen-reader live region after a successful Markdown paste. */
20
+ readonly announce?: (text: string) => void;
21
+ /** Localized announcement made after Markdown is imported. Defaults to `'Markdown imported'`. */
22
+ readonly markdownImportedMessage?: string;
12
23
  }
13
24
  export declare class PasteHandler {
14
25
  private readonly element;
15
26
  private readonly getState;
16
27
  private readonly dispatch;
28
+ private readonly schemaRegistry?;
17
29
  private readonly fileHandlerRegistry?;
18
30
  private readonly isReadOnly;
19
31
  private readonly getPasteInterceptors;
32
+ private readonly pasteMarkdown;
33
+ private readonly getMarkdownSyntaxExtensions;
34
+ private readonly announce?;
35
+ private readonly markdownImportedMessage;
20
36
  private readonly handlePaste;
21
37
  private readonly htmlHandler;
22
38
  private readonly richBlockHandler;
23
39
  constructor(element: HTMLElement, options: PasteHandlerOptions);
24
40
  private onPaste;
41
+ /**
42
+ * Dynamically imports the Markdown engine, parses the captured text, and
43
+ * routes the result through the HTML paste pipeline (which owns block
44
+ * splicing at the caret). Only the heavy parser is lazy-loaded; the detector
45
+ * stayed synchronous in the base bundle.
46
+ *
47
+ * `preventDefault()` has already run, so the clipboard would be lost if the
48
+ * lazy import, parse, or serialize fails (offline split chunk, strict CSP, a
49
+ * parser throw). The whole conversion is guarded; on any failure it degrades
50
+ * to a plain-text insertion of the already-captured text. Only the conversion
51
+ * is inside the `try` — a throw from the committed paste must not double-fire
52
+ * the fallback.
53
+ */
54
+ private handleMarkdownPaste;
25
55
  /** Runs paste interceptors in priority order. Returns true if one claimed the paste. */
26
56
  private tryPasteInterceptors;
27
57
  /** Checks for files in clipboard data and delegates to registered handlers. */