bookish-press 0.4.1 → 0.4.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 (403) hide show
  1. package/README.md +3 -1
  2. package/components/Auth.svelte +27 -24
  3. package/components/Auth.svelte.d.ts +4 -4
  4. package/components/Authentication.d.ts +2 -2
  5. package/components/BookPreview.svelte +75 -59
  6. package/components/BookPreview.svelte.d.ts +5 -5
  7. package/components/External.svelte +1 -1
  8. package/components/External.svelte.d.ts +3 -3
  9. package/components/Link.svelte +49 -3
  10. package/components/Link.svelte.d.ts +3 -4
  11. package/components/app/BookList.svelte +19 -0
  12. package/components/app/BookList.svelte.d.ts +18 -0
  13. package/components/app/Button.svelte +49 -0
  14. package/components/app/Button.svelte.d.ts +22 -0
  15. package/components/app/Feedback.svelte +47 -0
  16. package/components/app/Feedback.svelte.d.ts +18 -0
  17. package/components/app/Head.svelte +15 -0
  18. package/components/app/Head.svelte.d.ts +18 -0
  19. package/components/app/Large.svelte +8 -0
  20. package/components/app/Large.svelte.d.ts +27 -0
  21. package/components/app/Lead.svelte +12 -0
  22. package/components/app/Lead.svelte.d.ts +27 -0
  23. package/components/app/Link.svelte +24 -0
  24. package/components/app/Link.svelte.d.ts +20 -0
  25. package/components/app/Options.svelte +24 -0
  26. package/components/app/Options.svelte.d.ts +19 -0
  27. package/components/app/Paragraph.svelte +20 -0
  28. package/components/app/Paragraph.svelte.d.ts +18 -0
  29. package/components/app/Section.svelte +12 -0
  30. package/components/app/Section.svelte.d.ts +27 -0
  31. package/components/app/Table.svelte +32 -0
  32. package/components/app/Table.svelte.d.ts +27 -0
  33. package/components/app/TextInput.svelte +38 -0
  34. package/components/app/TextInput.svelte.d.ts +22 -0
  35. package/components/chapter/Atom.svelte +20 -6
  36. package/components/chapter/Atom.svelte.d.ts +3 -3
  37. package/components/chapter/Block.svelte +26 -21
  38. package/components/chapter/Block.svelte.d.ts +4 -4
  39. package/components/chapter/Callout.svelte +38 -7
  40. package/components/chapter/Callout.svelte.d.ts +4 -4
  41. package/components/chapter/CaptionedCode.svelte +67 -24
  42. package/components/chapter/CaptionedCode.svelte.d.ts +4 -4
  43. package/components/chapter/ChapterBody.svelte +62 -9
  44. package/components/chapter/ChapterBody.svelte.d.ts +5 -4
  45. package/components/chapter/Citations.svelte +86 -20
  46. package/components/chapter/Citations.svelte.d.ts +4 -4
  47. package/components/chapter/Code.svelte +152 -21
  48. package/components/chapter/Code.svelte.d.ts +3 -3
  49. package/components/chapter/Comment.svelte +39 -17
  50. package/components/chapter/Comment.svelte.d.ts +3 -3
  51. package/components/chapter/Definition.svelte +52 -18
  52. package/components/chapter/Definition.svelte.d.ts +5 -8
  53. package/components/chapter/Embed.svelte +155 -67
  54. package/components/chapter/Embed.svelte.d.ts +6 -4
  55. package/components/chapter/ErrorMessage.svelte +7 -2
  56. package/components/chapter/ErrorMessage.svelte.d.ts +4 -4
  57. package/components/chapter/ExtendedPrism.d.ts +2 -0
  58. package/components/chapter/ExtendedPrism.js +69 -0
  59. package/components/chapter/Figure.svelte +90 -0
  60. package/components/chapter/Figure.svelte.d.ts +24 -0
  61. package/components/chapter/Footnote.svelte +75 -12
  62. package/components/chapter/Footnote.svelte.d.ts +4 -4
  63. package/components/chapter/Format.svelte +63 -38
  64. package/components/chapter/Format.svelte.d.ts +5 -4
  65. package/components/chapter/InlineCode.svelte +16 -6
  66. package/components/chapter/InlineCode.svelte.d.ts +4 -4
  67. package/components/chapter/Label.svelte +38 -9
  68. package/components/chapter/Label.svelte.d.ts +4 -4
  69. package/components/chapter/Link.svelte +24 -19
  70. package/components/chapter/Link.svelte.d.ts +4 -4
  71. package/components/chapter/List.svelte +75 -8
  72. package/components/chapter/List.svelte.d.ts +4 -4
  73. package/components/chapter/Marginal.svelte +169 -27
  74. package/components/chapter/Marginal.svelte.d.ts +6 -3
  75. package/components/chapter/Paragraph.svelte +79 -6
  76. package/components/chapter/Paragraph.svelte.d.ts +4 -4
  77. package/components/chapter/Positioned.svelte +33 -0
  78. package/components/chapter/Positioned.svelte.d.ts +19 -0
  79. package/components/chapter/Problem.svelte +15 -0
  80. package/components/chapter/Problem.svelte.d.ts +27 -0
  81. package/components/chapter/Python.svelte +68 -21
  82. package/components/chapter/Python.svelte.d.ts +4 -4
  83. package/components/chapter/Quote.svelte +64 -11
  84. package/components/chapter/Quote.svelte.d.ts +4 -4
  85. package/components/chapter/Rule.svelte +12 -1
  86. package/components/chapter/Rule.svelte.d.ts +4 -4
  87. package/components/chapter/Table.svelte +36 -25
  88. package/components/chapter/Table.svelte.d.ts +4 -4
  89. package/components/chapter/Text.svelte +61 -36
  90. package/components/chapter/Text.svelte.d.ts +5 -4
  91. package/components/editor/BookishEditor.svelte +373 -244
  92. package/components/editor/BookishEditor.svelte.d.ts +9 -6
  93. package/components/editor/CalloutEditor.svelte +5 -5
  94. package/components/editor/CalloutEditor.svelte.d.ts +4 -4
  95. package/components/editor/CaptionedCodeEditor.svelte +16 -12
  96. package/components/editor/CaptionedCodeEditor.svelte.d.ts +4 -4
  97. package/components/editor/CaretContext.d.ts +48 -16
  98. package/components/editor/CaretState.d.ts +16 -44
  99. package/components/editor/CaretUtilities.d.ts +2 -2
  100. package/components/editor/CaretView.svelte +82 -0
  101. package/components/editor/CaretView.svelte.d.ts +25 -0
  102. package/components/editor/CitationsEditor.svelte +36 -25
  103. package/components/editor/CitationsEditor.svelte.d.ts +4 -4
  104. package/components/editor/Clipboard.d.ts +2 -2
  105. package/components/editor/Command.d.ts +13 -12
  106. package/components/editor/Commands.d.ts +1 -1
  107. package/components/editor/Commands.js +1114 -571
  108. package/components/editor/ConfirmButton.svelte +18 -12
  109. package/components/editor/ConfirmButton.svelte.d.ts +5 -4
  110. package/components/editor/DefinitionEditor.svelte +29 -21
  111. package/components/editor/DefinitionEditor.svelte.d.ts +4 -4
  112. package/components/editor/EmbedEditor.svelte +93 -43
  113. package/components/editor/EmbedEditor.svelte.d.ts +3 -3
  114. package/components/editor/Icon.svelte +17 -0
  115. package/components/editor/Icon.svelte.d.ts +16 -0
  116. package/components/editor/ImageChooser.svelte +53 -34
  117. package/components/editor/ImageChooser.svelte.d.ts +3 -3
  118. package/components/editor/InlineCodeEditor.svelte +7 -4
  119. package/components/editor/InlineCodeEditor.svelte.d.ts +4 -4
  120. package/components/editor/LabelEditor.svelte +20 -11
  121. package/components/editor/LabelEditor.svelte.d.ts +4 -4
  122. package/components/editor/LanguageEditor.svelte +10 -7
  123. package/components/editor/LanguageEditor.svelte.d.ts +3 -3
  124. package/components/editor/LinkEditor.svelte +64 -39
  125. package/components/editor/LinkEditor.svelte.d.ts +4 -4
  126. package/components/editor/Note.svelte +4 -3
  127. package/components/editor/Note.svelte.d.ts +6 -2
  128. package/components/editor/Permissions.svelte +95 -0
  129. package/components/editor/Permissions.svelte.d.ts +20 -0
  130. package/components/editor/PositionEditor.svelte +9 -6
  131. package/components/editor/PositionEditor.svelte.d.ts +4 -4
  132. package/components/editor/QuoteEditor.svelte +7 -2
  133. package/components/editor/QuoteEditor.svelte.d.ts +4 -4
  134. package/components/editor/Switch.svelte +55 -28
  135. package/components/editor/Switch.svelte.d.ts +4 -4
  136. package/components/editor/TableEditor.svelte +10 -0
  137. package/components/editor/TableEditor.svelte.d.ts +17 -0
  138. package/components/editor/TextEditor.svelte +83 -45
  139. package/components/editor/TextEditor.svelte.d.ts +5 -4
  140. package/components/editor/Toggle.svelte +11 -8
  141. package/components/editor/Toggle.svelte.d.ts +4 -4
  142. package/components/editor/Toolbar.svelte +191 -144
  143. package/components/editor/Toolbar.svelte.d.ts +5 -8
  144. package/components/editor/ToolbarGroup.svelte +17 -23
  145. package/components/editor/ToolbarGroup.svelte.d.ts +3 -4
  146. package/components/editor/ToolbarSpacer.svelte +8 -1
  147. package/components/editor/ToolbarSpacer.svelte.d.ts +6 -2
  148. package/components/editor/URLEditor.svelte +6 -8
  149. package/components/editor/URLEditor.svelte.d.ts +3 -3
  150. package/components/editor/UndoState.d.ts +3 -3
  151. package/components/editor/icons/annotate.svg +1 -0
  152. package/components/editor/icons/block.svg +1 -0
  153. package/components/editor/icons/bold.svg +1 -0
  154. package/components/editor/icons/bullets.svg +1 -0
  155. package/components/editor/icons/callout.svg +1 -0
  156. package/components/editor/icons/citation.svg +8 -0
  157. package/components/editor/icons/clear.svg +1 -0
  158. package/components/editor/icons/clipboard.svg +1 -0
  159. package/components/editor/icons/code.svg +1 -0
  160. package/components/editor/icons/columnafter.svg +1 -0
  161. package/components/editor/icons/columnbefore.svg +1 -0
  162. package/components/editor/icons/comment.svg +1 -0
  163. package/components/editor/icons/copy.svg +1 -0
  164. package/components/editor/icons/cut.svg +1 -0
  165. package/components/editor/icons/define.svg +7 -0
  166. package/components/editor/icons/deletecolumn.svg +1 -0
  167. package/components/editor/icons/deleterow.svg +1 -0
  168. package/components/editor/icons/footnote.svg +8 -0
  169. package/components/editor/icons/header1.svg +7 -0
  170. package/components/editor/icons/header2.svg +7 -0
  171. package/components/editor/icons/header3.svg +7 -0
  172. package/components/editor/icons/home.svg +1 -0
  173. package/components/editor/icons/indent.svg +1 -0
  174. package/components/editor/icons/italic.svg +1 -0
  175. package/components/editor/icons/label.svg +1 -0
  176. package/components/editor/icons/left.svg +1 -0
  177. package/components/editor/icons/level.svg +1 -0
  178. package/components/editor/icons/link.svg +1 -0
  179. package/components/editor/icons/list.svg +1 -0
  180. package/components/editor/icons/media.svg +1 -0
  181. package/components/editor/icons/middle.svg +1 -0
  182. package/components/editor/icons/numbers.svg +10 -0
  183. package/components/editor/icons/paragraph.svg +1 -0
  184. package/components/editor/icons/paste.svg +10 -0
  185. package/components/editor/icons/quote.svg +1 -0
  186. package/components/editor/icons/redo.svg +1 -0
  187. package/components/editor/icons/right.svg +1 -0
  188. package/components/editor/icons/rowabove.svg +1 -0
  189. package/components/editor/icons/rowbelow.svg +1 -0
  190. package/components/editor/icons/rule.svg +1 -0
  191. package/components/editor/icons/sub.svg +1 -0
  192. package/components/editor/icons/super.svg +1 -0
  193. package/components/editor/icons/table.svg +1 -0
  194. package/components/editor/icons/text.svg +1 -0
  195. package/components/editor/icons/time.svg +1 -0
  196. package/components/editor/icons/undo.svg +1 -0
  197. package/components/editor/icons/unindent.svg +1 -0
  198. package/components/editor/icons/unlink.svg +1 -0
  199. package/components/page/Acknowledgements.svelte +35 -24
  200. package/components/page/Acknowledgements.svelte.d.ts +4 -4
  201. package/components/page/Authors.svelte +34 -17
  202. package/components/page/Authors.svelte.d.ts +7 -6
  203. package/components/page/BookLoader.svelte +59 -0
  204. package/components/page/BookLoader.svelte.d.ts +16 -0
  205. package/components/page/BulkReferenceEditor.svelte +54 -23
  206. package/components/page/BulkReferenceEditor.svelte.d.ts +4 -4
  207. package/components/page/Chapter.svelte +234 -143
  208. package/components/page/Chapter.svelte.d.ts +3 -3
  209. package/components/page/ChapterContext.d.ts +4 -4
  210. package/components/page/ChapterNumber.svelte +9 -0
  211. package/components/page/ChapterNumber.svelte.d.ts +27 -0
  212. package/components/page/ChapterTitle.svelte +16 -0
  213. package/components/page/ChapterTitle.svelte.d.ts +18 -0
  214. package/components/page/Contexts.d.ts +42 -22
  215. package/components/page/Contexts.js +129 -17
  216. package/components/page/DefinitionView.svelte +129 -90
  217. package/components/page/DefinitionView.svelte.d.ts +3 -3
  218. package/components/page/Description.svelte +31 -19
  219. package/components/page/Description.svelte.d.ts +4 -4
  220. package/components/page/Edition.svelte +135 -81
  221. package/components/page/Edition.svelte.d.ts +5 -6
  222. package/components/page/EditionLoader.svelte +99 -0
  223. package/components/page/EditionLoader.svelte.d.ts +18 -0
  224. package/components/page/Editions.svelte +106 -0
  225. package/components/page/Editions.svelte.d.ts +14 -0
  226. package/components/page/Glossary.svelte +65 -49
  227. package/components/page/Glossary.svelte.d.ts +4 -4
  228. package/components/page/Header.svelte +143 -56
  229. package/components/page/Header.svelte.d.ts +8 -6
  230. package/components/page/Index.svelte +116 -80
  231. package/components/page/Index.svelte.d.ts +4 -4
  232. package/components/page/Instructions.svelte +18 -17
  233. package/components/page/Instructions.svelte.d.ts +6 -4
  234. package/components/page/License.svelte +39 -23
  235. package/components/page/License.svelte.d.ts +4 -4
  236. package/components/page/Loading.svelte +102 -12
  237. package/components/page/Loading.svelte.d.ts +6 -2
  238. package/components/page/Media.svelte +81 -53
  239. package/components/page/Media.svelte.d.ts +4 -4
  240. package/components/page/MediaPreview.svelte +26 -8
  241. package/components/page/MediaPreview.svelte.d.ts +3 -3
  242. package/components/page/Muted.svelte +10 -0
  243. package/components/page/Muted.svelte.d.ts +27 -0
  244. package/components/page/Outline.svelte +279 -59
  245. package/components/page/Outline.svelte.d.ts +3 -3
  246. package/components/page/Page.svelte +40 -9
  247. package/components/page/Page.svelte.d.ts +3 -3
  248. package/components/page/PageHeader.svelte +14 -0
  249. package/components/page/PageHeader.svelte.d.ts +18 -0
  250. package/components/page/PageParagraph.svelte +18 -0
  251. package/components/page/PageParagraph.svelte.d.ts +27 -0
  252. package/components/page/PossibleChapter.svelte +7 -7
  253. package/components/page/PossibleChapter.svelte.d.ts +4 -4
  254. package/components/page/PossibleReference.svelte +6 -11
  255. package/components/page/PossibleReference.svelte.d.ts +6 -7
  256. package/components/page/Print.svelte +27 -3
  257. package/components/page/Print.svelte.d.ts +4 -4
  258. package/components/page/Publish.svelte +134 -0
  259. package/components/page/Publish.svelte.d.ts +14 -0
  260. package/components/page/Reference.svelte +259 -117
  261. package/components/page/Reference.svelte.d.ts +5 -5
  262. package/components/page/References.svelte +45 -48
  263. package/components/page/References.svelte.d.ts +4 -4
  264. package/components/page/Rows.svelte +54 -0
  265. package/components/page/Rows.svelte.d.ts +27 -0
  266. package/components/page/Search.svelte +88 -63
  267. package/components/page/Search.svelte.d.ts +4 -4
  268. package/components/page/Status.svelte +46 -39
  269. package/components/page/Status.svelte.d.ts +4 -9
  270. package/components/page/SubdomainEditor.svelte +41 -27
  271. package/components/page/SubdomainEditor.svelte.d.ts +4 -4
  272. package/components/page/TableOfContents.svelte +264 -191
  273. package/components/page/TableOfContents.svelte.d.ts +4 -4
  274. package/components/page/TableOfContentsImage.svelte +8 -8
  275. package/components/page/TableOfContentsImage.svelte.d.ts +3 -3
  276. package/components/page/TableOfContentsRow.svelte +97 -34
  277. package/components/page/TableOfContentsRow.svelte.d.ts +4 -4
  278. package/components/page/ThemeEditor.svelte +177 -39
  279. package/components/page/ThemeEditor.svelte.d.ts +4 -4
  280. package/components/page/ThemeEditorPreview.svelte +35 -23
  281. package/components/page/ThemeEditorPreview.svelte.d.ts +5 -5
  282. package/components/page/ThemeSetEditor.svelte +15 -13
  283. package/components/page/ThemeSetEditor.svelte.d.ts +4 -4
  284. package/components/page/ThemeVariableEditor.svelte +24 -15
  285. package/components/page/ThemeVariableEditor.svelte.d.ts +3 -3
  286. package/components/page/Title.svelte +12 -0
  287. package/components/page/Title.svelte.d.ts +27 -0
  288. package/components/page/Unknown.svelte +28 -21
  289. package/components/page/Unknown.svelte.d.ts +4 -4
  290. package/components/page/margins.js +50 -33
  291. package/index.d.ts +13 -0
  292. package/index.js +14 -0
  293. package/models/CRUD.d.ts +27 -0
  294. package/models/CRUD.js +262 -0
  295. package/models/Firebase.d.ts +1 -0
  296. package/models/Firebase.js +26 -16
  297. package/models/book/Book.d.ts +40 -39
  298. package/models/book/Book.js +121 -121
  299. package/models/book/BookMedia.d.ts +3 -3
  300. package/models/book/BookMedia.js +22 -16
  301. package/models/book/BookSaveStatus.d.ts +7 -0
  302. package/models/book/BookSaveStatus.js +8 -0
  303. package/models/book/Chapter.d.ts +50 -39
  304. package/models/book/Chapter.js +189 -198
  305. package/models/book/ChapterID.js +7 -7
  306. package/models/book/Definition.d.ts +1 -1
  307. package/models/book/Edition.d.ts +87 -61
  308. package/models/book/Edition.js +460 -309
  309. package/models/book/Reference.d.ts +24 -0
  310. package/models/book/Reference.js +78 -0
  311. package/models/book/Schema.d.ts +168 -0
  312. package/models/book/Schema.js +115 -0
  313. package/models/book/Theme.d.ts +44 -37
  314. package/models/book/Theme.js +452 -52
  315. package/models/book/ThemeColors.d.ts +1 -1
  316. package/models/book/Words.d.ts +2 -0
  317. package/models/book/Words.js +110 -0
  318. package/models/chapter/AtomNode.d.ts +4 -4
  319. package/models/chapter/AtomNode.js +20 -13
  320. package/models/chapter/BlockNode.d.ts +9 -10
  321. package/models/chapter/BlockNode.js +32 -13
  322. package/models/chapter/BlocksNode.d.ts +10 -10
  323. package/models/chapter/BlocksNode.js +315 -120
  324. package/models/chapter/BlocksNode.test.js +494 -228
  325. package/models/chapter/Bookkeeping.d.ts +1 -1
  326. package/models/chapter/CalloutNode.d.ts +3 -3
  327. package/models/chapter/CalloutNode.js +34 -12
  328. package/models/chapter/Caret.d.ts +9 -7
  329. package/models/chapter/Caret.js +11 -6
  330. package/models/chapter/ChapterNode.d.ts +11 -11
  331. package/models/chapter/ChapterNode.js +70 -33
  332. package/models/chapter/CitationsNode.d.ts +3 -3
  333. package/models/chapter/CitationsNode.js +31 -12
  334. package/models/chapter/CodeNode.d.ts +11 -6
  335. package/models/chapter/CodeNode.js +143 -34
  336. package/models/chapter/CommentNode.d.ts +5 -5
  337. package/models/chapter/CommentNode.js +29 -13
  338. package/models/chapter/DefinitionNode.d.ts +2 -2
  339. package/models/chapter/DefinitionNode.js +15 -7
  340. package/models/chapter/Edit.d.ts +3 -3
  341. package/models/chapter/EmbedNode.d.ts +9 -5
  342. package/models/chapter/EmbedNode.js +108 -35
  343. package/models/chapter/ErrorNode.d.ts +2 -2
  344. package/models/chapter/ErrorNode.js +34 -12
  345. package/models/chapter/FootnoteNode.d.ts +5 -5
  346. package/models/chapter/FootnoteNode.js +34 -16
  347. package/models/chapter/FormatNode.d.ts +10 -10
  348. package/models/chapter/FormatNode.js +237 -106
  349. package/models/chapter/FormatNode.test.js +87 -45
  350. package/models/chapter/InlineCodeNode.d.ts +2 -2
  351. package/models/chapter/InlineCodeNode.js +22 -9
  352. package/models/chapter/LabelNode.d.ts +4 -4
  353. package/models/chapter/LabelNode.js +31 -13
  354. package/models/chapter/LinkNode.d.ts +2 -2
  355. package/models/chapter/LinkNode.js +21 -9
  356. package/models/chapter/ListNode.d.ts +8 -8
  357. package/models/chapter/ListNode.js +99 -38
  358. package/models/chapter/ListNode.test.js +29 -24
  359. package/models/chapter/MetadataNode.d.ts +3 -3
  360. package/models/chapter/MetadataNode.js +13 -5
  361. package/models/chapter/Node.d.ts +5 -3
  362. package/models/chapter/Node.js +76 -29
  363. package/models/chapter/Node.test.js +20 -18
  364. package/models/chapter/ParagraphNode.d.ts +6 -6
  365. package/models/chapter/ParagraphNode.js +84 -29
  366. package/models/chapter/ParagraphNode.test.js +22 -13
  367. package/models/chapter/Parser.d.ts +27 -27
  368. package/models/chapter/Parser.js +220 -206
  369. package/models/chapter/Parser.test.js +16 -16
  370. package/models/chapter/Position.d.ts +1 -1
  371. package/models/chapter/QuoteNode.d.ts +6 -6
  372. package/models/chapter/QuoteNode.js +61 -23
  373. package/models/chapter/RootNode.d.ts +4 -4
  374. package/models/chapter/RuleNode.d.ts +2 -2
  375. package/models/chapter/RuleNode.js +31 -11
  376. package/models/chapter/TableNode.d.ts +8 -6
  377. package/models/chapter/TableNode.js +89 -34
  378. package/models/chapter/TableNode.test.js +22 -24
  379. package/models/chapter/TextNode.d.ts +6 -6
  380. package/models/chapter/TextNode.js +72 -32
  381. package/models/chapter/TextNode.test.js +4 -4
  382. package/package.json +108 -26
  383. package/util/getSubdomain.js +8 -6
  384. package/util/isMobile.js +1 -1
  385. package/util/mineReference.d.ts +3 -2
  386. package/util/mineReference.js +67 -29
  387. package/util/scrollToEyeLevel.js +6 -1
  388. package/components/chapter/renderPosition.d.ts +0 -3
  389. package/components/chapter/renderPosition.js +0 -4
  390. package/components/editor/ToolbarIcon.svelte +0 -22
  391. package/components/editor/ToolbarIcon.svelte.d.ts +0 -16
  392. package/components/page/Alert.svelte +0 -11
  393. package/components/page/Alert.svelte.d.ts +0 -23
  394. package/components/page/Revisions.svelte +0 -124
  395. package/components/page/Revisions.svelte.d.ts +0 -14
  396. package/models/BookLoader.d.ts +0 -2
  397. package/models/BookLoader.js +0 -67
  398. package/models/Firestore.d.ts +0 -22
  399. package/models/Firestore.js +0 -194
  400. package/models/chapter/ReferenceNode.d.ts +0 -29
  401. package/models/chapter/ReferenceNode.js +0 -48
  402. package/models/loadEdition.d.ts +0 -5
  403. package/models/loadEdition.js +0 -16
@@ -1,25 +1,25 @@
1
1
  import { test, expect } from 'vitest';
2
- import Parser from "./Parser";
3
- test("Empty chapter", () => {
4
- expect(Parser.parseChapter(undefined, "").toBookdown()).toBe("");
2
+ import Parser from './Parser';
3
+ test('Empty chapter', () => {
4
+ expect(Parser.parseChapter(undefined, '').toBookdown()).toBe('');
5
5
  });
6
- test("Single paragraph", () => {
7
- expect(Parser.parseChapter(undefined, "hello").toBookdown()).toBe("hello");
6
+ test('Single paragraph', () => {
7
+ expect(Parser.parseChapter(undefined, 'hello').toBookdown()).toBe('hello');
8
8
  });
9
- test("Peek", () => {
10
- const p = new Parser(undefined, "# hello");
11
- expect(p.peek()).toBe("#");
12
- expect(p.read()).toBe("#");
13
- expect(p.peek()).toBe(" ");
9
+ test('Peek', () => {
10
+ const p = new Parser(undefined, '# hello');
11
+ expect(p.peek()).toBe('#');
12
+ expect(p.read()).toBe('#');
13
+ expect(p.peek()).toBe(' ');
14
14
  });
15
- test("More", () => {
16
- const p = new Parser(undefined, "#");
15
+ test('More', () => {
16
+ const p = new Parser(undefined, '#');
17
17
  expect(p.more()).toBe(true);
18
- const p2 = new Parser(undefined, "");
18
+ const p2 = new Parser(undefined, '');
19
19
  expect(p2.more()).toBe(false);
20
20
  });
21
- test("Whitespace", () => {
22
- const p = new Parser(undefined, " Hi");
21
+ test('Whitespace', () => {
22
+ const p = new Parser(undefined, ' Hi');
23
23
  p.readWhitespace();
24
- expect(p.peek()).toBe("H");
24
+ expect(p.peek()).toBe('H');
25
25
  });
@@ -1,2 +1,2 @@
1
- declare type Position = "|" | "<" | ">";
1
+ type Position = '|' | '<' | '>';
2
2
  export default Position;
@@ -1,9 +1,9 @@
1
- import type Node from "./Node";
2
- import BlockNode from "./BlockNode";
3
- import type Position from "./Position";
4
- import FormatNode from "./FormatNode";
5
- import BlocksNode from "./BlocksNode";
6
- import type { CaretRange } from "./Caret";
1
+ import type Node from './Node';
2
+ import BlockNode from './BlockNode';
3
+ import type Position from './Position';
4
+ import FormatNode from './FormatNode';
5
+ import BlocksNode from './BlocksNode';
6
+ import type { CaretRange } from './Caret';
7
7
  export default class QuoteNode extends BlocksNode {
8
8
  #private;
9
9
  constructor(elements: BlockNode[], credit?: FormatNode, position?: Position);
@@ -1,27 +1,46 @@
1
- import BlockNode from "./BlockNode";
2
- import FormatNode from "./FormatNode";
3
- import BlocksNode from "./BlocksNode";
4
- import TextNode from "./TextNode";
1
+ import BlockNode from './BlockNode';
2
+ import FormatNode from './FormatNode';
3
+ import BlocksNode from './BlocksNode';
4
+ import TextNode from './TextNode';
5
5
  export default class QuoteNode extends BlocksNode {
6
6
  #credit;
7
7
  #position;
8
- constructor(elements, credit, position = "|") {
8
+ constructor(elements, credit, position = '|') {
9
9
  super(elements);
10
10
  this.#position = position;
11
- this.#credit = credit === undefined ? new FormatNode("", [new TextNode()]) : credit.withTextIfEmpty();
11
+ this.#credit =
12
+ credit === undefined
13
+ ? new FormatNode('', [new TextNode()])
14
+ : credit.withTextIfEmpty();
15
+ }
16
+ getType() {
17
+ return 'quote';
18
+ }
19
+ getCredit() {
20
+ return this.#credit;
21
+ }
22
+ getPosition() {
23
+ return this.#position;
24
+ }
25
+ getFormats() {
26
+ return [this.#credit];
12
27
  }
13
- getType() { return "quote"; }
14
- getCredit() { return this.#credit; }
15
- getPosition() { return this.#position; }
16
- getFormats() { return [this.#credit]; }
17
28
  toText() {
18
- return this.getBlocks().map(element => element.toText()).join(" ") + (this.#credit ? " " + this.#credit.toText() : "");
29
+ return (this.getBlocks()
30
+ .map((element) => element.toText())
31
+ .join(' ') + (this.#credit ? ' ' + this.#credit.toText() : ''));
19
32
  }
20
33
  toBookdown() {
21
- return `"\n${this.getBlocks().map(element => element.toBookdown()).join("\n\n")}\n"${this.#position === "|" ? "" : this.#position}${this.#credit ? this.#credit.toBookdown() : ""}`;
34
+ return `"\n${this.getBlocks()
35
+ .map((element) => element.toBookdown())
36
+ .join('\n\n')}\n"${this.#position === '|' ? '' : this.#position}${this.#credit ? this.#credit.toBookdown() : ''}`;
37
+ }
38
+ toHTML() {
39
+ return `"${super.toHTML()}"<center>${this.#credit.toHTML()}</center>`;
40
+ }
41
+ getChildren() {
42
+ return [...this.getBlocks(), this.#credit];
22
43
  }
23
- toHTML() { return `"${super.toHTML()}"<center>${this.#credit.toHTML()}</center>`; }
24
- getChildren() { return [...this.getBlocks(), this.#credit]; }
25
44
  getParentOf(node) {
26
45
  if (node === this.#credit)
27
46
  return this;
@@ -30,11 +49,16 @@ export default class QuoteNode extends BlocksNode {
30
49
  return creditParent;
31
50
  return super.getParentOf(node);
32
51
  }
33
- copy() { return new QuoteNode(this.getBlocks().map(b => b.copy())); }
34
- create(blocks) { return new QuoteNode(blocks, this.#credit, this.#position); }
52
+ copy() {
53
+ return new QuoteNode(this.getBlocks().map((b) => b.copy()));
54
+ }
55
+ create(blocks) {
56
+ return new QuoteNode(blocks, this.#credit, this.#position);
57
+ }
35
58
  withChildReplaced(node, replacement) {
36
59
  // Replace the credit.
37
- if (this.#credit === node && (replacement instanceof FormatNode || replacement === undefined))
60
+ if (this.#credit === node &&
61
+ (replacement instanceof FormatNode || replacement === undefined))
38
62
  return new QuoteNode(this.getBlocks(), replacement, this.#position);
39
63
  // Replace a block.
40
64
  if (replacement !== undefined && !(replacement instanceof BlockNode))
@@ -43,19 +67,33 @@ export default class QuoteNode extends BlocksNode {
43
67
  if (index < 0)
44
68
  return;
45
69
  // Make a new blocks node, assigning and re-parenting the replacement.
46
- const blocks = replacement === undefined ?
47
- [...this.getBlocks().slice(0, index), ...this.getBlocks().slice(index + 1)] :
48
- [...this.getBlocks().slice(0, index), replacement, ...this.getBlocks().slice(index + 1)];
70
+ const blocks = replacement === undefined
71
+ ? [
72
+ ...this.getBlocks().slice(0, index),
73
+ ...this.getBlocks().slice(index + 1),
74
+ ]
75
+ : [
76
+ ...this.getBlocks().slice(0, index),
77
+ replacement,
78
+ ...this.getBlocks().slice(index + 1),
79
+ ];
49
80
  return new QuoteNode(blocks, this.#credit, this.#position);
50
81
  }
51
- withCredit(credit) { return new QuoteNode(this.getBlocks(), credit, this.#position); }
52
- withPosition(position) { return new QuoteNode(this.getBlocks(), this.#credit, position); }
82
+ withCredit(credit) {
83
+ return new QuoteNode(this.getBlocks(), credit, this.#position);
84
+ }
85
+ withPosition(position) {
86
+ return new QuoteNode(this.getBlocks(), this.#credit, position);
87
+ }
53
88
  withContentInRange(range) {
54
89
  // First get the blocks in range.
55
90
  const newQuote = super.withContentInRange(range);
56
91
  if (newQuote === undefined)
57
92
  return;
58
- const newCredit = this.getBlocks().find(b => b.contains(range.end.node)) !== undefined ? new FormatNode("", [new TextNode()]) : this.#credit.withContentInRange(range);
93
+ const newCredit = this.getBlocks().find((b) => b.contains(range.end.node)) !==
94
+ undefined
95
+ ? new FormatNode('', [new TextNode()])
96
+ : this.#credit.withContentInRange(range);
59
97
  return newQuote.withNodeReplaced(this.#credit, newCredit);
60
98
  }
61
99
  }
@@ -1,5 +1,5 @@
1
- import type ChapterNode from "./ChapterNode";
2
- import type EmbedNode from "./EmbedNode";
3
- import type FormatNode from "./FormatNode";
4
- declare type RootNode = ChapterNode | FormatNode | EmbedNode;
1
+ import type ChapterNode from './ChapterNode';
2
+ import type EmbedNode from './EmbedNode';
3
+ import type FormatNode from './FormatNode';
4
+ type RootNode = ChapterNode | FormatNode | EmbedNode;
5
5
  export default RootNode;
@@ -1,5 +1,5 @@
1
- import type Node from "./Node";
2
- import BlockNode from "./BlockNode";
1
+ import type Node from './Node';
2
+ import BlockNode from './BlockNode';
3
3
  export default class RuleNode extends BlockNode {
4
4
  constructor();
5
5
  getType(): string;
@@ -1,16 +1,36 @@
1
- import BlockNode from "./BlockNode";
1
+ import BlockNode from './BlockNode';
2
2
  export default class RuleNode extends BlockNode {
3
3
  constructor() {
4
4
  super();
5
5
  }
6
- getType() { return "rule"; }
7
- toText() { return ""; }
8
- toBookdown() { return "-"; }
9
- toHTML() { return `<hr/>`; }
10
- getParentOf() { return undefined; }
11
- getFormats() { return []; }
12
- getChildren() { return []; }
13
- copy() { return new RuleNode(); }
14
- withChildReplaced() { return undefined; }
15
- withContentInRange() { return this.copy(); }
6
+ getType() {
7
+ return 'rule';
8
+ }
9
+ toText() {
10
+ return '';
11
+ }
12
+ toBookdown() {
13
+ return '-';
14
+ }
15
+ toHTML() {
16
+ return `<hr/>`;
17
+ }
18
+ getParentOf() {
19
+ return undefined;
20
+ }
21
+ getFormats() {
22
+ return [];
23
+ }
24
+ getChildren() {
25
+ return [];
26
+ }
27
+ copy() {
28
+ return new RuleNode();
29
+ }
30
+ withChildReplaced() {
31
+ return undefined;
32
+ }
33
+ withContentInRange() {
34
+ return this.copy();
35
+ }
16
36
  }
@@ -1,9 +1,9 @@
1
- import type Node from "./Node";
2
- import type Position from "./Position";
3
- import FormatNode from "./FormatNode";
4
- import BlockNode from "./BlockNode";
5
- import type { CaretRange } from "./Caret";
6
- declare type Location = {
1
+ import type Node from './Node';
2
+ import type Position from './Position';
3
+ import FormatNode from './FormatNode';
4
+ import BlockNode from './BlockNode';
5
+ import type { CaretRange } from './Caret';
6
+ type Location = {
7
7
  row: number;
8
8
  column: number;
9
9
  };
@@ -17,6 +17,7 @@ export default class TableNode extends BlockNode {
17
17
  getPosition(): Position;
18
18
  getCaption(): FormatNode;
19
19
  getFormats(): FormatNode[];
20
+ getNextCell(format: FormatNode, direction?: -1 | 1): FormatNode | undefined;
20
21
  toText(): string;
21
22
  toBookdown(): string;
22
23
  toHTML(): string;
@@ -31,5 +32,6 @@ export default class TableNode extends BlockNode {
31
32
  withoutColumn(index: number): TableNode | undefined;
32
33
  withNewColumn(index: number): TableNode | undefined;
33
34
  withContentInRange(range: CaretRange): this | undefined;
35
+ withPosition(position: Position): TableNode;
34
36
  }
35
37
  export {};
@@ -1,40 +1,83 @@
1
- import FormatNode from "./FormatNode";
2
- import TextNode from "./TextNode";
3
- import BlockNode from "./BlockNode";
1
+ import FormatNode from './FormatNode';
2
+ import TextNode from './TextNode';
3
+ import BlockNode from './BlockNode';
4
4
  export default class TableNode extends BlockNode {
5
5
  #rows;
6
6
  #caption;
7
7
  #position;
8
8
  constructor(rows, position, caption) {
9
9
  super();
10
- this.#rows = rows.map(r => r.map(c => c.withTextIfEmpty()));
11
- this.#position = position ? position : "|";
12
- this.#caption = caption === undefined ? new FormatNode("", [new TextNode()]) : caption.withTextIfEmpty();
13
- }
14
- getType() { return "table"; }
15
- getRows() { return this.#rows; }
16
- getRowCount() { return this.#rows.length; }
17
- getColumnCount() { return this.#rows.length === 0 ? 0 : this.#rows[0].length; }
18
- getPosition() { return this.#position; }
19
- getCaption() { return this.#caption; }
10
+ this.#rows = rows.map((r) => r.map((c) => c.withTextIfEmpty()));
11
+ this.#position = position ? position : '|';
12
+ this.#caption =
13
+ caption === undefined
14
+ ? new FormatNode('', [new TextNode()])
15
+ : caption.withTextIfEmpty();
16
+ }
17
+ getType() {
18
+ return 'table';
19
+ }
20
+ getRows() {
21
+ return this.#rows;
22
+ }
23
+ getRowCount() {
24
+ return this.#rows.length;
25
+ }
26
+ getColumnCount() {
27
+ return this.#rows.length === 0 ? 0 : this.#rows[0].length;
28
+ }
29
+ getPosition() {
30
+ return this.#position;
31
+ }
32
+ getCaption() {
33
+ return this.#caption;
34
+ }
20
35
  getFormats() {
21
36
  const formats = [];
22
- this.#rows.forEach(row => row.forEach(cell => { formats.push(cell); }));
37
+ this.#rows.forEach((row) => row.forEach((cell) => {
38
+ formats.push(cell);
39
+ }));
23
40
  return [...formats, this.#caption];
24
41
  }
42
+ getNextCell(format, direction = 1) {
43
+ let previous = undefined;
44
+ let found = false;
45
+ for (const row of this.#rows) {
46
+ for (const cell of row) {
47
+ if (found)
48
+ return cell;
49
+ if (cell === format) {
50
+ if (direction > 0)
51
+ found = true;
52
+ else
53
+ return previous;
54
+ }
55
+ previous = cell;
56
+ }
57
+ }
58
+ return undefined;
59
+ }
25
60
  toText() {
26
- return this.#rows.map(row => row.map(cell => cell.toText()).join(", ")).join(", ");
61
+ return this.#rows
62
+ .map((row) => row.map((cell) => cell.toText()).join(', '))
63
+ .join(', ');
27
64
  }
28
65
  toBookdown() {
29
- return this.#rows.map(row => `,${row.map(cell => cell.toBookdown()).join("|")}`).join("\n") +
30
- `\n${this.#position === "|" ? "" : this.#position}${this.#caption ? "" + this.#caption.toBookdown() : ""}`;
66
+ return (this.#rows
67
+ .map((row) => `,${row.map((cell) => cell.toBookdown()).join('|')}`)
68
+ .join('\n') +
69
+ `\n${this.#position === '|' ? '' : this.#position}${this.#caption ? '' + this.#caption.toBookdown() : ''}`);
31
70
  }
32
71
  toHTML() {
33
- return `<table><tbody>${this.#rows.map(row => `<tr>${row.map(cell => `<td>${cell.toHTML()}</td>`).join("")}`).join("")}</tbody></table><center>${this.#caption.toHTML()}</center>`;
72
+ return `<table><tbody>${this.#rows
73
+ .map((row) => `<tr>${row
74
+ .map((cell) => `<td>${cell.toHTML()}</td>`)
75
+ .join('')}`)
76
+ .join('')}</tbody></table><center>${this.#caption.toHTML()}</center>`;
34
77
  }
35
78
  getChildren() {
36
79
  const children = [];
37
- this.#rows.forEach(row => row.forEach(cell => children.push(cell)));
80
+ this.#rows.forEach((row) => row.forEach((cell) => children.push(cell)));
38
81
  children.push(this.#caption);
39
82
  return children;
40
83
  }
@@ -48,9 +91,13 @@ export default class TableNode extends BlockNode {
48
91
  }
49
92
  }
50
93
  getCell(row, col) {
51
- return row >= 0 && row < this.#rows.length && this.#rows.length > 0 && col >= 0 && col < this.#rows[0].length ?
52
- this.#rows[row][col] :
53
- undefined;
94
+ return row >= 0 &&
95
+ row < this.#rows.length &&
96
+ this.#rows.length > 0 &&
97
+ col >= 0 &&
98
+ col < this.#rows[0].length
99
+ ? this.#rows[row][col]
100
+ : undefined;
54
101
  }
55
102
  getParentOf(node) {
56
103
  for (let r = 0; r < this.#rows.length; r++) {
@@ -67,16 +114,17 @@ export default class TableNode extends BlockNode {
67
114
  }
68
115
  copy() {
69
116
  const rows = [];
70
- this.#rows.forEach(row => {
117
+ this.#rows.forEach((row) => {
71
118
  const cells = [];
72
- row.forEach(cell => cells.push(cell.copy()));
119
+ row.forEach((cell) => cells.push(cell.copy()));
73
120
  rows.push(cells);
74
121
  });
75
122
  return new TableNode(rows, this.#position, this.#caption ? this.#caption.copy() : undefined);
76
123
  }
77
124
  withChildReplaced(node, replacement) {
78
125
  // If it's just the caption, make a new node with the new credit.
79
- if (node === this.#caption && (replacement instanceof FormatNode || replacement === undefined))
126
+ if (node === this.#caption &&
127
+ (replacement instanceof FormatNode || replacement === undefined))
80
128
  return new TableNode(this.#rows, this.#position, replacement);
81
129
  // If it's a cell, update the cell.
82
130
  if (node instanceof FormatNode && replacement instanceof FormatNode) {
@@ -90,7 +138,7 @@ export default class TableNode extends BlockNode {
90
138
  }
91
139
  // Make new rows with the updated cell.
92
140
  if (updateRow < this.#rows.length && updateColumn >= 0) {
93
- const newRows = this.#rows.map(row => [...row]);
141
+ const newRows = this.#rows.map((row) => [...row]);
94
142
  newRows[updateRow][updateColumn] = replacement;
95
143
  return new TableNode(newRows, this.#position, this.#caption);
96
144
  }
@@ -104,7 +152,7 @@ export default class TableNode extends BlockNode {
104
152
  const columnCount = this.#rows.length === 0 ? 0 : this.#rows[0].length;
105
153
  const column = [];
106
154
  for (let c = 0; c < columnCount; c++)
107
- column.push(new FormatNode("", [new TextNode()]));
155
+ column.push(new FormatNode('', [new TextNode()]));
108
156
  const newRows = this.#rows.slice();
109
157
  newRows.splice(index, 0, column);
110
158
  return new TableNode(newRows, this.#position, this.#caption);
@@ -125,13 +173,14 @@ export default class TableNode extends BlockNode {
125
173
  return new TableNode(newRows, this.#position, this.#caption);
126
174
  }
127
175
  withNewColumn(index) {
128
- if (this.#rows.length > 0 && (index < 0 || index > this.#rows[0].length))
176
+ if (this.#rows.length > 0 &&
177
+ (index < 0 || index > this.#rows[0].length))
129
178
  return;
130
- // Figure out how many rows the table has and add a column
179
+ // Figure out how many rows the table has and add a column
131
180
  const newRows = this.#rows.slice();
132
181
  for (let r = 0; r < this.#rows.length; r++) {
133
182
  newRows[r] = newRows[r].slice();
134
- newRows[r].splice(index, 0, new FormatNode("", [new TextNode()]));
183
+ newRows[r].splice(index, 0, new FormatNode('', [new TextNode()]));
135
184
  }
136
185
  return new TableNode(newRows, this.#position, this.#caption);
137
186
  }
@@ -149,7 +198,9 @@ export default class TableNode extends BlockNode {
149
198
  for (; r < this.#rows.length; r++, c = 0) {
150
199
  const row = this.#rows[r];
151
200
  // Skip this row if this table contains the start node and we haven't found it and the row doesn't contain it
152
- if (containsStart && !foundStart && row.find(r => r.contains(range.start.node)) === undefined)
201
+ if (containsStart &&
202
+ !foundStart &&
203
+ row.find((r) => r.contains(range.start.node)) === undefined)
153
204
  continue;
154
205
  // Stop if we found the end row.
155
206
  if (containsEnd && foundEnd)
@@ -161,9 +212,10 @@ export default class TableNode extends BlockNode {
161
212
  const newCell = row[c].withContentInRange(range);
162
213
  if (newCell === undefined)
163
214
  return;
164
- newRows[newRows.length - 1].push((((containsStart && foundStart) || !containsStart) && ((containsEnd && !foundEnd) || !containsEnd)) ?
165
- newCell :
166
- new FormatNode("", [new TextNode()]));
215
+ newRows[newRows.length - 1].push(((containsStart && foundStart) || !containsStart) &&
216
+ ((containsEnd && !foundEnd) || !containsEnd)
217
+ ? newCell
218
+ : new FormatNode('', [new TextNode()]));
167
219
  if (row[c].contains(range.end.node))
168
220
  foundEnd = true;
169
221
  }
@@ -173,4 +225,7 @@ export default class TableNode extends BlockNode {
173
225
  return;
174
226
  return new TableNode(newRows, this.#position, newCaption);
175
227
  }
228
+ withPosition(position) {
229
+ return new TableNode(this.#rows, position, this.#caption);
230
+ }
176
231
  }
@@ -1,31 +1,29 @@
1
1
  import { test, expect } from 'vitest';
2
- import FormatNode from "./FormatNode";
3
- import TextNode from "./TextNode";
4
- import TableNode from "./TableNode";
5
- const tl = new FormatNode("", [new TextNode("tl")]);
6
- const tr = new FormatNode("", [new TextNode("tr")]);
7
- const bl = new FormatNode("", [new TextNode("bl")]);
8
- const br = new FormatNode("", [new TextNode("br")]);
9
- const caption = new FormatNode("", [new TextNode("hi")]);
2
+ import FormatNode from './FormatNode';
3
+ import TextNode from './TextNode';
4
+ import TableNode from './TableNode';
5
+ const tl = new FormatNode('', [new TextNode('tl')]);
6
+ const tr = new FormatNode('', [new TextNode('tr')]);
7
+ const bl = new FormatNode('', [new TextNode('bl')]);
8
+ const br = new FormatNode('', [new TextNode('br')]);
9
+ const caption = new FormatNode('', [new TextNode('hi')]);
10
10
  const table = new TableNode([
11
11
  [tl, tr],
12
12
  [bl, br],
13
- ], "|", caption);
14
- test("Replace", () => {
15
- expect(table.withChildReplaced(tl, new FormatNode("", [new TextNode("new")]))?.toBookdown())
16
- .toBe(",new|tr\n,bl|br\nhi");
17
- expect(table.withChildReplaced(caption, new FormatNode("", [new TextNode("bye")]))?.toBookdown())
18
- .toBe(",tl|tr\n,bl|br\nbye");
13
+ ], '|', caption);
14
+ test('Replace', () => {
15
+ expect(table
16
+ .withChildReplaced(tl, new FormatNode('', [new TextNode('new')]))
17
+ ?.toBookdown()).toBe(',new|tr\n,bl|br\nhi');
18
+ expect(table
19
+ .withChildReplaced(caption, new FormatNode('', [new TextNode('bye')]))
20
+ ?.toBookdown()).toBe(',tl|tr\n,bl|br\nbye');
19
21
  });
20
- test("Insert", () => {
21
- expect(table.withNewRow(0)?.toBookdown())
22
- .toBe(",|\n,tl|tr\n,bl|br\nhi");
23
- expect(table.withNewColumn(0)?.toBookdown())
24
- .toBe(",|tl|tr\n,|bl|br\nhi");
22
+ test('Insert', () => {
23
+ expect(table.withNewRow(0)?.toBookdown()).toBe(',|\n,tl|tr\n,bl|br\nhi');
24
+ expect(table.withNewColumn(0)?.toBookdown()).toBe(',|tl|tr\n,|bl|br\nhi');
25
25
  });
26
- test("Delete", () => {
27
- expect(table.withoutRow(0)?.toBookdown())
28
- .toBe(",bl|br\nhi");
29
- expect(table.withoutColumn(0)?.toBookdown())
30
- .toBe(",tr\n,br\nhi");
26
+ test('Delete', () => {
27
+ expect(table.withoutRow(0)?.toBookdown()).toBe(',bl|br\nhi');
28
+ expect(table.withoutColumn(0)?.toBookdown()).toBe(',tr\n,br\nhi');
31
29
  });
@@ -1,9 +1,9 @@
1
- import type Caret from "./Caret";
2
- import type { CaretRange } from "./Caret";
3
- import FormatNode from "./FormatNode";
4
- import Node from "./Node";
5
- import BlocksNode from "./BlocksNode";
6
- import type RootNode from "./RootNode";
1
+ import type Caret from './Caret';
2
+ import type { CaretRange } from './Caret';
3
+ import FormatNode from './FormatNode';
4
+ import Node from './Node';
5
+ import BlocksNode from './BlocksNode';
6
+ import type RootNode from './RootNode';
7
7
  export default class TextNode extends Node {
8
8
  #private;
9
9
  constructor(text?: string);