bookish-press 0.4.1 → 0.4.21

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 (395) hide show
  1. package/README.md +3 -1
  2. package/components/Auth.svelte +19 -14
  3. package/components/Auth.svelte.d.ts +4 -4
  4. package/components/Authentication.d.ts +2 -2
  5. package/components/BookPreview.svelte +77 -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 +45 -0
  16. package/components/app/Feedback.svelte.d.ts +18 -0
  17. package/components/app/Head.svelte +12 -0
  18. package/components/app/Head.svelte.d.ts +27 -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 +19 -0
  28. package/components/app/Paragraph.svelte.d.ts +18 -0
  29. package/components/app/Table.svelte +32 -0
  30. package/components/app/Table.svelte.d.ts +27 -0
  31. package/components/app/TextInput.svelte +37 -0
  32. package/components/app/TextInput.svelte.d.ts +22 -0
  33. package/components/app/Writing.svelte +13 -0
  34. package/components/app/Writing.svelte.d.ts +27 -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 +23 -20
  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 +66 -23
  42. package/components/chapter/CaptionedCode.svelte.d.ts +4 -4
  43. package/components/chapter/ChapterBody.svelte +61 -9
  44. package/components/chapter/ChapterBody.svelte.d.ts +4 -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 +38 -16
  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 +154 -66
  54. package/components/chapter/Embed.svelte.d.ts +5 -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 +60 -37
  64. package/components/chapter/Format.svelte.d.ts +4 -4
  65. package/components/chapter/InlineCode.svelte +15 -5
  66. package/components/chapter/InlineCode.svelte.d.ts +4 -4
  67. package/components/chapter/Label.svelte +37 -8
  68. package/components/chapter/Label.svelte.d.ts +4 -4
  69. package/components/chapter/Link.svelte +23 -18
  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 +74 -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 +343 -237
  92. package/components/editor/BookishEditor.svelte.d.ts +5 -5
  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 +80 -0
  101. package/components/editor/CaretView.svelte.d.ts +24 -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 +3 -3
  127. package/components/editor/Note.svelte.d.ts +6 -2
  128. package/components/editor/PositionEditor.svelte +9 -6
  129. package/components/editor/PositionEditor.svelte.d.ts +4 -4
  130. package/components/editor/QuoteEditor.svelte +7 -2
  131. package/components/editor/QuoteEditor.svelte.d.ts +4 -4
  132. package/components/editor/Switch.svelte +55 -28
  133. package/components/editor/Switch.svelte.d.ts +4 -4
  134. package/components/editor/TableEditor.svelte +10 -0
  135. package/components/editor/TableEditor.svelte.d.ts +17 -0
  136. package/components/editor/TextEditor.svelte +83 -45
  137. package/components/editor/TextEditor.svelte.d.ts +5 -4
  138. package/components/editor/Toggle.svelte +11 -8
  139. package/components/editor/Toggle.svelte.d.ts +4 -4
  140. package/components/editor/Toolbar.svelte +192 -144
  141. package/components/editor/Toolbar.svelte.d.ts +5 -8
  142. package/components/editor/ToolbarGroup.svelte +18 -23
  143. package/components/editor/ToolbarGroup.svelte.d.ts +3 -4
  144. package/components/editor/ToolbarSpacer.svelte +8 -1
  145. package/components/editor/ToolbarSpacer.svelte.d.ts +6 -2
  146. package/components/editor/URLEditor.svelte +6 -8
  147. package/components/editor/URLEditor.svelte.d.ts +3 -3
  148. package/components/editor/UndoState.d.ts +3 -3
  149. package/components/editor/icons/annotate.svg +1 -0
  150. package/components/editor/icons/block.svg +1 -0
  151. package/components/editor/icons/bold.svg +1 -0
  152. package/components/editor/icons/bullets.svg +1 -0
  153. package/components/editor/icons/callout.svg +1 -0
  154. package/components/editor/icons/citation.svg +8 -0
  155. package/components/editor/icons/clear.svg +1 -0
  156. package/components/editor/icons/clipboard.svg +1 -0
  157. package/components/editor/icons/code.svg +1 -0
  158. package/components/editor/icons/columnafter.svg +1 -0
  159. package/components/editor/icons/columnbefore.svg +1 -0
  160. package/components/editor/icons/comment.svg +1 -0
  161. package/components/editor/icons/copy.svg +1 -0
  162. package/components/editor/icons/cut.svg +1 -0
  163. package/components/editor/icons/define.svg +7 -0
  164. package/components/editor/icons/deletecolumn.svg +1 -0
  165. package/components/editor/icons/deleterow.svg +1 -0
  166. package/components/editor/icons/footnote.svg +8 -0
  167. package/components/editor/icons/header1.svg +7 -0
  168. package/components/editor/icons/header2.svg +7 -0
  169. package/components/editor/icons/header3.svg +7 -0
  170. package/components/editor/icons/home.svg +1 -0
  171. package/components/editor/icons/indent.svg +1 -0
  172. package/components/editor/icons/italic.svg +1 -0
  173. package/components/editor/icons/label.svg +1 -0
  174. package/components/editor/icons/left.svg +1 -0
  175. package/components/editor/icons/level.svg +1 -0
  176. package/components/editor/icons/link.svg +1 -0
  177. package/components/editor/icons/list.svg +1 -0
  178. package/components/editor/icons/media.svg +1 -0
  179. package/components/editor/icons/middle.svg +1 -0
  180. package/components/editor/icons/numbers.svg +10 -0
  181. package/components/editor/icons/paragraph.svg +1 -0
  182. package/components/editor/icons/paste.svg +10 -0
  183. package/components/editor/icons/quote.svg +1 -0
  184. package/components/editor/icons/redo.svg +1 -0
  185. package/components/editor/icons/right.svg +1 -0
  186. package/components/editor/icons/rowabove.svg +1 -0
  187. package/components/editor/icons/rowbelow.svg +1 -0
  188. package/components/editor/icons/rule.svg +1 -0
  189. package/components/editor/icons/sub.svg +1 -0
  190. package/components/editor/icons/super.svg +1 -0
  191. package/components/editor/icons/table.svg +1 -0
  192. package/components/editor/icons/text.svg +1 -0
  193. package/components/editor/icons/time.svg +1 -0
  194. package/components/editor/icons/undo.svg +1 -0
  195. package/components/editor/icons/unindent.svg +1 -0
  196. package/components/editor/icons/unlink.svg +1 -0
  197. package/components/page/Acknowledgements.svelte +31 -22
  198. package/components/page/Acknowledgements.svelte.d.ts +4 -4
  199. package/components/page/Authors.svelte +34 -14
  200. package/components/page/Authors.svelte.d.ts +6 -6
  201. package/components/page/BulkReferenceEditor.svelte +53 -22
  202. package/components/page/BulkReferenceEditor.svelte.d.ts +4 -4
  203. package/components/page/Chapter.svelte +196 -141
  204. package/components/page/Chapter.svelte.d.ts +3 -3
  205. package/components/page/ChapterContext.d.ts +4 -4
  206. package/components/page/ChapterNumber.svelte +9 -0
  207. package/components/page/ChapterNumber.svelte.d.ts +27 -0
  208. package/components/page/ChapterTitle.svelte +16 -0
  209. package/components/page/ChapterTitle.svelte.d.ts +18 -0
  210. package/components/page/Contexts.d.ts +31 -20
  211. package/components/page/Contexts.js +47 -17
  212. package/components/page/DefinitionView.svelte +115 -86
  213. package/components/page/DefinitionView.svelte.d.ts +3 -3
  214. package/components/page/Description.svelte +27 -18
  215. package/components/page/Description.svelte.d.ts +4 -4
  216. package/components/page/Edition.svelte +127 -75
  217. package/components/page/Edition.svelte.d.ts +4 -4
  218. package/components/page/Editions.svelte +158 -0
  219. package/components/page/Editions.svelte.d.ts +14 -0
  220. package/components/page/Glossary.svelte +57 -48
  221. package/components/page/Glossary.svelte.d.ts +4 -4
  222. package/components/page/Header.svelte +129 -44
  223. package/components/page/Header.svelte.d.ts +6 -6
  224. package/components/page/Index.svelte +114 -80
  225. package/components/page/Index.svelte.d.ts +4 -4
  226. package/components/page/Instructions.svelte +18 -16
  227. package/components/page/Instructions.svelte.d.ts +4 -4
  228. package/components/page/License.svelte +29 -21
  229. package/components/page/License.svelte.d.ts +4 -4
  230. package/components/page/Loading.svelte +102 -12
  231. package/components/page/Loading.svelte.d.ts +6 -2
  232. package/components/page/Media.svelte +77 -51
  233. package/components/page/Media.svelte.d.ts +4 -4
  234. package/components/page/MediaPreview.svelte +26 -8
  235. package/components/page/MediaPreview.svelte.d.ts +3 -3
  236. package/components/page/Muted.svelte +10 -0
  237. package/components/page/Muted.svelte.d.ts +27 -0
  238. package/components/page/Outline.svelte +279 -59
  239. package/components/page/Outline.svelte.d.ts +3 -3
  240. package/components/page/Page.svelte +40 -9
  241. package/components/page/Page.svelte.d.ts +3 -3
  242. package/components/page/PageHeader.svelte +14 -0
  243. package/components/page/PageHeader.svelte.d.ts +18 -0
  244. package/components/page/PageParagraph.svelte +18 -0
  245. package/components/page/PageParagraph.svelte.d.ts +27 -0
  246. package/components/page/PossibleChapter.svelte +7 -7
  247. package/components/page/PossibleChapter.svelte.d.ts +4 -4
  248. package/components/page/PossibleReference.svelte +6 -11
  249. package/components/page/PossibleReference.svelte.d.ts +6 -7
  250. package/components/page/Print.svelte +27 -3
  251. package/components/page/Print.svelte.d.ts +4 -4
  252. package/components/page/Reference.svelte +256 -113
  253. package/components/page/Reference.svelte.d.ts +5 -5
  254. package/components/page/References.svelte +39 -47
  255. package/components/page/References.svelte.d.ts +4 -4
  256. package/components/page/Rows.svelte +54 -0
  257. package/components/page/Rows.svelte.d.ts +27 -0
  258. package/components/page/Search.svelte +86 -63
  259. package/components/page/Search.svelte.d.ts +4 -4
  260. package/components/page/Status.svelte +43 -35
  261. package/components/page/Status.svelte.d.ts +4 -9
  262. package/components/page/SubdomainEditor.svelte +40 -27
  263. package/components/page/SubdomainEditor.svelte.d.ts +4 -4
  264. package/components/page/TableOfContents.svelte +225 -190
  265. package/components/page/TableOfContents.svelte.d.ts +4 -4
  266. package/components/page/TableOfContentsImage.svelte +8 -8
  267. package/components/page/TableOfContentsImage.svelte.d.ts +3 -3
  268. package/components/page/TableOfContentsRow.svelte +96 -33
  269. package/components/page/TableOfContentsRow.svelte.d.ts +4 -4
  270. package/components/page/ThemeEditor.svelte +174 -39
  271. package/components/page/ThemeEditor.svelte.d.ts +4 -4
  272. package/components/page/ThemeEditorPreview.svelte +35 -23
  273. package/components/page/ThemeEditorPreview.svelte.d.ts +5 -5
  274. package/components/page/ThemeSetEditor.svelte +15 -13
  275. package/components/page/ThemeSetEditor.svelte.d.ts +4 -4
  276. package/components/page/ThemeVariableEditor.svelte +24 -15
  277. package/components/page/ThemeVariableEditor.svelte.d.ts +3 -3
  278. package/components/page/Title.svelte +12 -0
  279. package/components/page/Title.svelte.d.ts +27 -0
  280. package/components/page/Unknown.svelte +25 -21
  281. package/components/page/Unknown.svelte.d.ts +4 -4
  282. package/components/page/margins.js +50 -33
  283. package/index.d.ts +14 -0
  284. package/index.js +14 -0
  285. package/models/CRUD.d.ts +17 -0
  286. package/models/CRUD.js +207 -0
  287. package/models/Firebase.d.ts +1 -0
  288. package/models/Firebase.js +21 -15
  289. package/models/book/Book.d.ts +26 -30
  290. package/models/book/Book.js +120 -113
  291. package/models/book/BookMedia.d.ts +3 -3
  292. package/models/book/BookMedia.js +22 -16
  293. package/models/book/BookSaveStatus.d.ts +7 -0
  294. package/models/book/BookSaveStatus.js +8 -0
  295. package/models/book/Chapter.d.ts +46 -39
  296. package/models/book/Chapter.js +180 -198
  297. package/models/book/ChapterID.js +7 -7
  298. package/models/book/Definition.d.ts +1 -1
  299. package/models/book/Edition.d.ts +62 -60
  300. package/models/book/Edition.js +385 -303
  301. package/models/book/Reference.d.ts +24 -0
  302. package/models/book/Reference.js +78 -0
  303. package/models/book/Schema.d.ts +169 -0
  304. package/models/book/Schema.js +114 -0
  305. package/models/book/Theme.d.ts +44 -37
  306. package/models/book/Theme.js +452 -52
  307. package/models/book/ThemeColors.d.ts +1 -1
  308. package/models/book/Words.d.ts +2 -0
  309. package/models/book/Words.js +110 -0
  310. package/models/chapter/AtomNode.d.ts +4 -4
  311. package/models/chapter/AtomNode.js +20 -13
  312. package/models/chapter/BlockNode.d.ts +9 -10
  313. package/models/chapter/BlockNode.js +32 -13
  314. package/models/chapter/BlocksNode.d.ts +10 -10
  315. package/models/chapter/BlocksNode.js +315 -120
  316. package/models/chapter/BlocksNode.test.js +494 -228
  317. package/models/chapter/Bookkeeping.d.ts +1 -1
  318. package/models/chapter/CalloutNode.d.ts +3 -3
  319. package/models/chapter/CalloutNode.js +34 -12
  320. package/models/chapter/Caret.d.ts +9 -7
  321. package/models/chapter/Caret.js +11 -6
  322. package/models/chapter/ChapterNode.d.ts +11 -11
  323. package/models/chapter/ChapterNode.js +70 -33
  324. package/models/chapter/CitationsNode.d.ts +3 -3
  325. package/models/chapter/CitationsNode.js +31 -12
  326. package/models/chapter/CodeNode.d.ts +11 -6
  327. package/models/chapter/CodeNode.js +143 -34
  328. package/models/chapter/CommentNode.d.ts +5 -5
  329. package/models/chapter/CommentNode.js +29 -13
  330. package/models/chapter/DefinitionNode.d.ts +2 -2
  331. package/models/chapter/DefinitionNode.js +15 -7
  332. package/models/chapter/Edit.d.ts +3 -3
  333. package/models/chapter/EmbedNode.d.ts +9 -5
  334. package/models/chapter/EmbedNode.js +108 -35
  335. package/models/chapter/ErrorNode.d.ts +2 -2
  336. package/models/chapter/ErrorNode.js +34 -12
  337. package/models/chapter/FootnoteNode.d.ts +5 -5
  338. package/models/chapter/FootnoteNode.js +34 -16
  339. package/models/chapter/FormatNode.d.ts +10 -10
  340. package/models/chapter/FormatNode.js +237 -106
  341. package/models/chapter/FormatNode.test.js +87 -45
  342. package/models/chapter/InlineCodeNode.d.ts +2 -2
  343. package/models/chapter/InlineCodeNode.js +22 -9
  344. package/models/chapter/LabelNode.d.ts +4 -4
  345. package/models/chapter/LabelNode.js +31 -13
  346. package/models/chapter/LinkNode.d.ts +2 -2
  347. package/models/chapter/LinkNode.js +21 -9
  348. package/models/chapter/ListNode.d.ts +8 -8
  349. package/models/chapter/ListNode.js +99 -38
  350. package/models/chapter/ListNode.test.js +29 -24
  351. package/models/chapter/MetadataNode.d.ts +3 -3
  352. package/models/chapter/MetadataNode.js +13 -5
  353. package/models/chapter/Node.d.ts +5 -3
  354. package/models/chapter/Node.js +76 -29
  355. package/models/chapter/Node.test.js +20 -18
  356. package/models/chapter/ParagraphNode.d.ts +6 -6
  357. package/models/chapter/ParagraphNode.js +84 -29
  358. package/models/chapter/ParagraphNode.test.js +22 -13
  359. package/models/chapter/Parser.d.ts +25 -25
  360. package/models/chapter/Parser.js +201 -189
  361. package/models/chapter/Parser.test.js +16 -16
  362. package/models/chapter/Position.d.ts +1 -1
  363. package/models/chapter/QuoteNode.d.ts +6 -6
  364. package/models/chapter/QuoteNode.js +61 -23
  365. package/models/chapter/RootNode.d.ts +4 -4
  366. package/models/chapter/RuleNode.d.ts +2 -2
  367. package/models/chapter/RuleNode.js +31 -11
  368. package/models/chapter/TableNode.d.ts +8 -6
  369. package/models/chapter/TableNode.js +89 -34
  370. package/models/chapter/TableNode.test.js +22 -24
  371. package/models/chapter/TextNode.d.ts +6 -6
  372. package/models/chapter/TextNode.js +72 -32
  373. package/models/chapter/TextNode.test.js +4 -4
  374. package/models/loadEdition.d.ts +1 -1
  375. package/models/loadEdition.js +10 -6
  376. package/package.json +104 -25
  377. package/util/getSubdomain.js +8 -6
  378. package/util/isMobile.js +1 -1
  379. package/util/mineReference.d.ts +3 -2
  380. package/util/mineReference.js +67 -29
  381. package/util/scrollToEyeLevel.js +6 -1
  382. package/components/chapter/renderPosition.d.ts +0 -3
  383. package/components/chapter/renderPosition.js +0 -4
  384. package/components/editor/ToolbarIcon.svelte +0 -22
  385. package/components/editor/ToolbarIcon.svelte.d.ts +0 -16
  386. package/components/page/Alert.svelte +0 -11
  387. package/components/page/Alert.svelte.d.ts +0 -23
  388. package/components/page/Revisions.svelte +0 -124
  389. package/components/page/Revisions.svelte.d.ts +0 -14
  390. package/models/BookLoader.d.ts +0 -2
  391. package/models/BookLoader.js +0 -67
  392. package/models/Firestore.d.ts +0 -22
  393. package/models/Firestore.js +0 -194
  394. package/models/chapter/ReferenceNode.d.ts +0 -29
  395. package/models/chapter/ReferenceNode.js +0 -48
@@ -1,21 +1,37 @@
1
- import FormatNode from "./FormatNode";
2
- import Node from "./Node";
3
- import AtomNode from "./AtomNode";
4
- import BlocksNode from "./BlocksNode";
1
+ import FormatNode from './FormatNode';
2
+ import Node from './Node';
3
+ import AtomNode from './AtomNode';
4
+ import BlocksNode from './BlocksNode';
5
5
  export default class TextNode extends Node {
6
6
  #text;
7
- constructor(text = "") {
7
+ constructor(text = '') {
8
8
  super();
9
9
  this.#text = text;
10
10
  }
11
- getType() { return "text"; }
12
- getText() { return this.#text; }
13
- getLength() { return this.#text.length; }
14
- getCaretPositionCount() { return this.#text.length; }
15
- getParentOf() { return undefined; }
16
- getFirstCaret() { return { node: this, index: 0 }; }
17
- getLastCaret() { return { node: this, index: this.#text.length }; }
18
- toText() { return this.#text; }
11
+ getType() {
12
+ return 'text';
13
+ }
14
+ getText() {
15
+ return this.#text;
16
+ }
17
+ getLength() {
18
+ return this.#text.length;
19
+ }
20
+ getCaretPositionCount() {
21
+ return this.#text.length;
22
+ }
23
+ getParentOf() {
24
+ return undefined;
25
+ }
26
+ getFirstCaret() {
27
+ return { node: this, index: 0 };
28
+ }
29
+ getLastCaret() {
30
+ return { node: this, index: this.#text.length };
31
+ }
32
+ toText() {
33
+ return this.#text;
34
+ }
19
35
  toBookdown() {
20
36
  // Escape all characters with special meaning inside content nodes: _*`<^{~\[@% and :'s with no space after
21
37
  return this.#text
@@ -34,17 +50,27 @@ export default class TextNode extends Node {
34
50
  }
35
51
  toHTML() {
36
52
  return this.#text
37
- .replace("<", "&lt;")
38
- .replace(">", "&gt;")
39
- .replace("&", "&amp;")
40
- .replace('"', "&quot;")
41
- .replace("'", "&#39;");
42
- }
43
- getChildren() { return []; }
44
- copy() { return new TextNode(this.#text); }
45
- isItalic(root) { return this.getAncestors(root).filter(p => p instanceof FormatNode && p.getFormat() === "_").length > 0; }
46
- isBold(root) { return this.getAncestors(root).filter(p => p instanceof FormatNode && p.getFormat() === "*").length > 0; }
47
- isEmpty() { return this.getLength() === 0; }
53
+ .replace('<', '&lt;')
54
+ .replace('>', '&gt;')
55
+ .replace('&', '&amp;')
56
+ .replace('"', '&quot;')
57
+ .replace("'", '&#39;');
58
+ }
59
+ getChildren() {
60
+ return [];
61
+ }
62
+ copy() {
63
+ return new TextNode(this.#text);
64
+ }
65
+ isItalic(root) {
66
+ return (this.getAncestors(root).filter((p) => p instanceof FormatNode && p.getFormat() === '_').length > 0);
67
+ }
68
+ isBold(root) {
69
+ return (this.getAncestors(root).filter((p) => p instanceof FormatNode && p.getFormat() === '*').length > 0);
70
+ }
71
+ isEmpty() {
72
+ return this.getLength() === 0;
73
+ }
48
74
  getFormat(root) {
49
75
  return this.getClosestParentOfType(root, FormatNode);
50
76
  }
@@ -52,17 +78,19 @@ export default class TextNode extends Node {
52
78
  // The format root is the highest format in the tree that contains this text.
53
79
  // There is one exception to this, however: formats inside atom nodes shouldn't traverse
54
80
  // past the atom node, since should be isolated from edits outside the atom.
55
- const atom = this.getClosestParentMatching(root, p => p instanceof AtomNode);
81
+ const atom = this.getClosestParentMatching(root, (p) => p instanceof AtomNode);
56
82
  if (atom && atom.getMeta() instanceof FormatNode)
57
83
  return atom.getMeta();
58
84
  // If this isn't in an atom, just return the highest format this is in.
59
- return this.getFarthestParentMatching(root, p => p instanceof FormatNode);
85
+ return this.getFarthestParentMatching(root, (p) => p instanceof FormatNode);
60
86
  }
61
87
  getBlocks(root) {
62
88
  return this.getClosestParentOfType(root, BlocksNode);
63
89
  }
64
90
  getNextCaret(index) {
65
- return index < this.#text.length ? { node: this, index: index + 1 } : undefined;
91
+ return index < this.#text.length
92
+ ? { node: this, index: index + 1 }
93
+ : undefined;
66
94
  }
67
95
  getPreviousCaret(index) {
68
96
  return index > 0 ? { node: this, index: index - 1 } : undefined;
@@ -77,7 +105,8 @@ export default class TextNode extends Node {
77
105
  while (i < this.getLength() && this.#text.charAt(i).match(/\w/))
78
106
  i++;
79
107
  // If we found one in this node, return it.
80
- if (i < this.getLength() || (i === this.getLength() && this.#text.charAt(i - 1).match(/\w/)))
108
+ if (i < this.getLength() ||
109
+ (i === this.getLength() && this.#text.charAt(i - 1).match(/\w/)))
81
110
  return { node: this, index: i };
82
111
  // Otherwise, find the next text node's next word boundary.
83
112
  const format = this.getFormatRoot(root);
@@ -85,7 +114,9 @@ export default class TextNode extends Node {
85
114
  const nextNode = root.getNextTextOrAtom(this);
86
115
  const nextWord = nextNode?.nextWord(root);
87
116
  // If there isn't one, just go to the end of this.
88
- if (formatTextNodes && nextNode && this === formatTextNodes[formatTextNodes.length - 1])
117
+ if (formatTextNodes &&
118
+ nextNode &&
119
+ this === formatTextNodes[formatTextNodes.length - 1])
89
120
  return { node: nextNode, index: 0 };
90
121
  else if (nextWord === undefined)
91
122
  return { node: this, index: this.#text.length };
@@ -111,13 +142,20 @@ export default class TextNode extends Node {
111
142
  const previousWord = previousNode?.previousWord(root);
112
143
  // If there isn't one, just go to the end of this.
113
144
  if (formatTextNodes && previousNode && this === formatTextNodes[0])
114
- return { node: previousNode, index: previousNode instanceof TextNode ? previousNode.getLength() : 0 };
145
+ return {
146
+ node: previousNode,
147
+ index: previousNode instanceof TextNode
148
+ ? previousNode.getLength()
149
+ : 0,
150
+ };
115
151
  else if (previousWord === undefined)
116
152
  return { node: this, index: 0 };
117
153
  else
118
154
  return previousWord;
119
155
  }
120
- withChildReplaced() { return undefined; }
156
+ withChildReplaced() {
157
+ return undefined;
158
+ }
121
159
  withCharacterAt(char, index) {
122
160
  if (index < 0 || index > this.#text.length)
123
161
  return undefined;
@@ -126,7 +164,9 @@ export default class TextNode extends Node {
126
164
  withoutRange(range) {
127
165
  if (range.start.node !== this && range.end.node !== this)
128
166
  return;
129
- return new TextNode(this.#text.substring(0, range.start.index) + this.#text.substring(range.end.index));
167
+ const min = Math.max(0, Math.min(range.start.index, range.end.index));
168
+ const max = Math.min(this.#text.length, Math.max(range.start.index, range.end.index));
169
+ return new TextNode(this.#text.substring(0, min) + this.#text.substring(max));
130
170
  }
131
171
  withContentInRange(range) {
132
172
  const includesStart = range.start.node === this;
@@ -1,6 +1,6 @@
1
1
  import { test, expect } from 'vitest';
2
- import TextNode from "./TextNode";
3
- test("Insert character", () => {
4
- const text = new TextNode("Hello");
5
- expect(text.withCharacterAt("!", 5)?.toBookdown()).toBe("Hello!");
2
+ import TextNode from './TextNode';
3
+ test('Insert character', () => {
4
+ const text = new TextNode('Hello');
5
+ expect(text.withCharacterAt('!', 5)?.toBookdown()).toBe('Hello!');
6
6
  });
@@ -1,5 +1,5 @@
1
1
  export default function loadEdition(bookIDOrName: string, editionID: string | undefined, latestPublished: boolean): Promise<{
2
2
  book: import("./book/Book").default;
3
- edition: import("./book/Edition").default | undefined;
3
+ edition: import("..").EditionModel | undefined;
4
4
  latest: boolean;
5
5
  } | null>;
@@ -1,16 +1,20 @@
1
- import { getBookFromIDOrName } from "./Firestore";
1
+ import { getBookFromIDOrName } from './CRUD';
2
2
  export default async function loadEdition(bookIDOrName, editionID, latestPublished) {
3
3
  const getEditionNumber = editionID === undefined ? undefined : parseInt(editionID);
4
4
  const book = await getBookFromIDOrName(bookIDOrName);
5
5
  if (book === null)
6
6
  return null;
7
- const unspecifiedEdition = getEditionNumber === undefined || isNaN(getEditionNumber) || !book.isValidEditionNumber(getEditionNumber);
8
- const edition = unspecifiedEdition ?
9
- await (latestPublished ? book.getLatestPublishedEdition() : book.getDraftEdition()) :
10
- await book.getEditionNumber(getEditionNumber);
7
+ const unspecifiedEdition = getEditionNumber === undefined ||
8
+ isNaN(getEditionNumber) ||
9
+ !book.isValidEditionNumber(getEditionNumber);
10
+ const edition = unspecifiedEdition
11
+ ? await (latestPublished
12
+ ? book.getLatestPublishedEdition()
13
+ : book.getDraftEdition())
14
+ : await book.getEditionNumber(getEditionNumber);
11
15
  return {
12
16
  book: book,
13
17
  edition: edition,
14
- latest: unspecifiedEdition
18
+ latest: unspecifiedEdition,
15
19
  };
16
20
  }
package/package.json CHANGED
@@ -1,35 +1,38 @@
1
1
  {
2
2
  "name": "bookish-press",
3
3
  "private": false,
4
- "version": "0.4.001",
4
+ "version": "0.4.21",
5
5
  "type": "module",
6
6
  "description": "A platform for reading and writing readable, accessible, beautiful online books.",
7
7
  "license": "MIT",
8
8
  "repository": "https://github.com/amyjko/bookish.git",
9
9
  "devDependencies": {
10
- "@sveltejs/adapter-auto": "next",
11
- "@sveltejs/kit": "next",
12
- "@sveltejs/adapter-static": "^1.0.0-next.48",
13
- "@sveltejs/package": "^1.0.0-next.5",
10
+ "@sveltejs/adapter-static": "^1.0.0",
11
+ "@sveltejs/kit": "^1.0.1",
12
+ "@sveltejs/package": "^1.0.1",
13
+ "@types/prismjs": "^1.26.0",
14
14
  "@types/smoothscroll-polyfill": "^0.3.1",
15
- "@types/uuid": "^8.3.4",
16
- "svelte": "^3.44.0",
17
- "svelte-check": "^2.7.1",
18
- "svelte-preprocess": "^4.10.6",
19
- "tslib": "^2.3.1",
20
- "typescript": "^4.7.4",
21
- "vite": "^3.1.0",
22
- "vitest": "^0.23.4"
15
+ "@types/uuid": "^9.0.0",
16
+ "prettier": "^2.8.1",
17
+ "prettier-plugin-svelte": "^2.9.0",
18
+ "svelte-check": "^3.0.1",
19
+ "svelte-preprocess": "^5.0.0",
20
+ "tslib": "^2.4.1",
21
+ "typescript": "^4.9.4",
22
+ "vite": "^4.0.3",
23
+ "vitest": "^0.26.2"
23
24
  },
24
25
  "dependencies": {
25
- "ajv": "^8.8.2",
26
+ "ajv": "^8.11.2",
26
27
  "ajv-formats": "^2.1.1",
27
- "firebase": "^9.9.4",
28
- "firebase-functions": "^3.24.1",
29
- "highlight.js": "11.1.0",
28
+ "firebase": "latest",
29
+ "firebase-functions": "^4.1.1",
30
+ "prismjs": "^1.29.0",
30
31
  "smoothscroll-polyfill": "^0.4.4",
32
+ "svelte": "^3.55.0",
31
33
  "uuid": "^9.0.0"
32
34
  },
35
+ "types": "./src/lib/index.d.ts",
33
36
  "exports": {
34
37
  "./package.json": "./package.json",
35
38
  "./components/Auth.svelte": "./components/Auth.svelte",
@@ -37,6 +40,18 @@
37
40
  "./components/BookPreview.svelte": "./components/BookPreview.svelte",
38
41
  "./components/External.svelte": "./components/External.svelte",
39
42
  "./components/Link.svelte": "./components/Link.svelte",
43
+ "./components/app/BookList.svelte": "./components/app/BookList.svelte",
44
+ "./components/app/Button.svelte": "./components/app/Button.svelte",
45
+ "./components/app/Feedback.svelte": "./components/app/Feedback.svelte",
46
+ "./components/app/Head.svelte": "./components/app/Head.svelte",
47
+ "./components/app/Large.svelte": "./components/app/Large.svelte",
48
+ "./components/app/Lead.svelte": "./components/app/Lead.svelte",
49
+ "./components/app/Link.svelte": "./components/app/Link.svelte",
50
+ "./components/app/Options.svelte": "./components/app/Options.svelte",
51
+ "./components/app/Paragraph.svelte": "./components/app/Paragraph.svelte",
52
+ "./components/app/Table.svelte": "./components/app/Table.svelte",
53
+ "./components/app/TextInput.svelte": "./components/app/TextInput.svelte",
54
+ "./components/app/Writing.svelte": "./components/app/Writing.svelte",
40
55
  "./components/chapter/Atom.svelte": "./components/chapter/Atom.svelte",
41
56
  "./components/chapter/Block.svelte": "./components/chapter/Block.svelte",
42
57
  "./components/chapter/Callout.svelte": "./components/chapter/Callout.svelte",
@@ -48,6 +63,8 @@
48
63
  "./components/chapter/Definition.svelte": "./components/chapter/Definition.svelte",
49
64
  "./components/chapter/Embed.svelte": "./components/chapter/Embed.svelte",
50
65
  "./components/chapter/ErrorMessage.svelte": "./components/chapter/ErrorMessage.svelte",
66
+ "./components/chapter/ExtendedPrism": "./components/chapter/ExtendedPrism.js",
67
+ "./components/chapter/Figure.svelte": "./components/chapter/Figure.svelte",
51
68
  "./components/chapter/Footnote.svelte": "./components/chapter/Footnote.svelte",
52
69
  "./components/chapter/Format.svelte": "./components/chapter/Format.svelte",
53
70
  "./components/chapter/InlineCode.svelte": "./components/chapter/InlineCode.svelte",
@@ -56,18 +73,21 @@
56
73
  "./components/chapter/List.svelte": "./components/chapter/List.svelte",
57
74
  "./components/chapter/Marginal.svelte": "./components/chapter/Marginal.svelte",
58
75
  "./components/chapter/Paragraph.svelte": "./components/chapter/Paragraph.svelte",
76
+ "./components/chapter/Positioned.svelte": "./components/chapter/Positioned.svelte",
77
+ "./components/chapter/Problem.svelte": "./components/chapter/Problem.svelte",
59
78
  "./components/chapter/Python.svelte": "./components/chapter/Python.svelte",
60
79
  "./components/chapter/Quote.svelte": "./components/chapter/Quote.svelte",
61
80
  "./components/chapter/Rule.svelte": "./components/chapter/Rule.svelte",
62
81
  "./components/chapter/Table.svelte": "./components/chapter/Table.svelte",
63
82
  "./components/chapter/Text.svelte": "./components/chapter/Text.svelte",
64
- "./components/chapter/renderPosition": "./components/chapter/renderPosition.js",
83
+ "./components/editor/.DS_Store": "./components/editor/.DS_Store",
65
84
  "./components/editor/BookishEditor.svelte": "./components/editor/BookishEditor.svelte",
66
85
  "./components/editor/CalloutEditor.svelte": "./components/editor/CalloutEditor.svelte",
67
86
  "./components/editor/CaptionedCodeEditor.svelte": "./components/editor/CaptionedCodeEditor.svelte",
68
87
  "./components/editor/CaretContext": "./components/editor/CaretContext.js",
69
88
  "./components/editor/CaretState": "./components/editor/CaretState.js",
70
89
  "./components/editor/CaretUtilities": "./components/editor/CaretUtilities.js",
90
+ "./components/editor/CaretView.svelte": "./components/editor/CaretView.svelte",
71
91
  "./components/editor/CitationsEditor.svelte": "./components/editor/CitationsEditor.svelte",
72
92
  "./components/editor/Clipboard": "./components/editor/Clipboard.js",
73
93
  "./components/editor/Command": "./components/editor/Command.js",
@@ -75,6 +95,7 @@
75
95
  "./components/editor/ConfirmButton.svelte": "./components/editor/ConfirmButton.svelte",
76
96
  "./components/editor/DefinitionEditor.svelte": "./components/editor/DefinitionEditor.svelte",
77
97
  "./components/editor/EmbedEditor.svelte": "./components/editor/EmbedEditor.svelte",
98
+ "./components/editor/Icon.svelte": "./components/editor/Icon.svelte",
78
99
  "./components/editor/ImageChooser.svelte": "./components/editor/ImageChooser.svelte",
79
100
  "./components/editor/InlineCodeEditor.svelte": "./components/editor/InlineCodeEditor.svelte",
80
101
  "./components/editor/LabelEditor.svelte": "./components/editor/LabelEditor.svelte",
@@ -84,24 +105,74 @@
84
105
  "./components/editor/PositionEditor.svelte": "./components/editor/PositionEditor.svelte",
85
106
  "./components/editor/QuoteEditor.svelte": "./components/editor/QuoteEditor.svelte",
86
107
  "./components/editor/Switch.svelte": "./components/editor/Switch.svelte",
108
+ "./components/editor/TableEditor.svelte": "./components/editor/TableEditor.svelte",
87
109
  "./components/editor/TextEditor.svelte": "./components/editor/TextEditor.svelte",
88
110
  "./components/editor/Toggle.svelte": "./components/editor/Toggle.svelte",
89
111
  "./components/editor/Toolbar.svelte": "./components/editor/Toolbar.svelte",
90
112
  "./components/editor/ToolbarGroup.svelte": "./components/editor/ToolbarGroup.svelte",
91
- "./components/editor/ToolbarIcon.svelte": "./components/editor/ToolbarIcon.svelte",
92
113
  "./components/editor/ToolbarSpacer.svelte": "./components/editor/ToolbarSpacer.svelte",
93
114
  "./components/editor/URLEditor.svelte": "./components/editor/URLEditor.svelte",
94
115
  "./components/editor/UndoState": "./components/editor/UndoState.js",
116
+ "./components/editor/icons/annotate.svg": "./components/editor/icons/annotate.svg",
117
+ "./components/editor/icons/block.svg": "./components/editor/icons/block.svg",
118
+ "./components/editor/icons/bold.svg": "./components/editor/icons/bold.svg",
119
+ "./components/editor/icons/bullets.svg": "./components/editor/icons/bullets.svg",
120
+ "./components/editor/icons/callout.svg": "./components/editor/icons/callout.svg",
121
+ "./components/editor/icons/citation.svg": "./components/editor/icons/citation.svg",
122
+ "./components/editor/icons/clear.svg": "./components/editor/icons/clear.svg",
123
+ "./components/editor/icons/clipboard.svg": "./components/editor/icons/clipboard.svg",
124
+ "./components/editor/icons/code.svg": "./components/editor/icons/code.svg",
125
+ "./components/editor/icons/columnafter.svg": "./components/editor/icons/columnafter.svg",
126
+ "./components/editor/icons/columnbefore.svg": "./components/editor/icons/columnbefore.svg",
127
+ "./components/editor/icons/comment.svg": "./components/editor/icons/comment.svg",
128
+ "./components/editor/icons/copy.svg": "./components/editor/icons/copy.svg",
129
+ "./components/editor/icons/cut.svg": "./components/editor/icons/cut.svg",
130
+ "./components/editor/icons/define.svg": "./components/editor/icons/define.svg",
131
+ "./components/editor/icons/deletecolumn.svg": "./components/editor/icons/deletecolumn.svg",
132
+ "./components/editor/icons/deleterow.svg": "./components/editor/icons/deleterow.svg",
133
+ "./components/editor/icons/footnote.svg": "./components/editor/icons/footnote.svg",
134
+ "./components/editor/icons/header1.svg": "./components/editor/icons/header1.svg",
135
+ "./components/editor/icons/header2.svg": "./components/editor/icons/header2.svg",
136
+ "./components/editor/icons/header3.svg": "./components/editor/icons/header3.svg",
137
+ "./components/editor/icons/home.svg": "./components/editor/icons/home.svg",
138
+ "./components/editor/icons/indent.svg": "./components/editor/icons/indent.svg",
139
+ "./components/editor/icons/italic.svg": "./components/editor/icons/italic.svg",
140
+ "./components/editor/icons/label.svg": "./components/editor/icons/label.svg",
141
+ "./components/editor/icons/left.svg": "./components/editor/icons/left.svg",
142
+ "./components/editor/icons/level.svg": "./components/editor/icons/level.svg",
143
+ "./components/editor/icons/link.svg": "./components/editor/icons/link.svg",
144
+ "./components/editor/icons/list.svg": "./components/editor/icons/list.svg",
145
+ "./components/editor/icons/media.svg": "./components/editor/icons/media.svg",
146
+ "./components/editor/icons/middle.svg": "./components/editor/icons/middle.svg",
147
+ "./components/editor/icons/numbers.svg": "./components/editor/icons/numbers.svg",
148
+ "./components/editor/icons/paragraph.svg": "./components/editor/icons/paragraph.svg",
149
+ "./components/editor/icons/paste.svg": "./components/editor/icons/paste.svg",
150
+ "./components/editor/icons/quote.svg": "./components/editor/icons/quote.svg",
151
+ "./components/editor/icons/redo.svg": "./components/editor/icons/redo.svg",
152
+ "./components/editor/icons/right.svg": "./components/editor/icons/right.svg",
153
+ "./components/editor/icons/rowabove.svg": "./components/editor/icons/rowabove.svg",
154
+ "./components/editor/icons/rowbelow.svg": "./components/editor/icons/rowbelow.svg",
155
+ "./components/editor/icons/rule.svg": "./components/editor/icons/rule.svg",
156
+ "./components/editor/icons/sub.svg": "./components/editor/icons/sub.svg",
157
+ "./components/editor/icons/super.svg": "./components/editor/icons/super.svg",
158
+ "./components/editor/icons/table.svg": "./components/editor/icons/table.svg",
159
+ "./components/editor/icons/text.svg": "./components/editor/icons/text.svg",
160
+ "./components/editor/icons/time.svg": "./components/editor/icons/time.svg",
161
+ "./components/editor/icons/undo.svg": "./components/editor/icons/undo.svg",
162
+ "./components/editor/icons/unindent.svg": "./components/editor/icons/unindent.svg",
163
+ "./components/editor/icons/unlink.svg": "./components/editor/icons/unlink.svg",
95
164
  "./components/page/Acknowledgements.svelte": "./components/page/Acknowledgements.svelte",
96
- "./components/page/Alert.svelte": "./components/page/Alert.svelte",
97
165
  "./components/page/Authors.svelte": "./components/page/Authors.svelte",
98
166
  "./components/page/BulkReferenceEditor.svelte": "./components/page/BulkReferenceEditor.svelte",
99
167
  "./components/page/Chapter.svelte": "./components/page/Chapter.svelte",
100
168
  "./components/page/ChapterContext": "./components/page/ChapterContext.js",
169
+ "./components/page/ChapterNumber.svelte": "./components/page/ChapterNumber.svelte",
170
+ "./components/page/ChapterTitle.svelte": "./components/page/ChapterTitle.svelte",
101
171
  "./components/page/Contexts": "./components/page/Contexts.js",
102
172
  "./components/page/DefinitionView.svelte": "./components/page/DefinitionView.svelte",
103
173
  "./components/page/Description.svelte": "./components/page/Description.svelte",
104
174
  "./components/page/Edition.svelte": "./components/page/Edition.svelte",
175
+ "./components/page/Editions.svelte": "./components/page/Editions.svelte",
105
176
  "./components/page/Glossary.svelte": "./components/page/Glossary.svelte",
106
177
  "./components/page/Header.svelte": "./components/page/Header.svelte",
107
178
  "./components/page/Index.svelte": "./components/page/Index.svelte",
@@ -110,14 +181,17 @@
110
181
  "./components/page/Loading.svelte": "./components/page/Loading.svelte",
111
182
  "./components/page/Media.svelte": "./components/page/Media.svelte",
112
183
  "./components/page/MediaPreview.svelte": "./components/page/MediaPreview.svelte",
184
+ "./components/page/Muted.svelte": "./components/page/Muted.svelte",
113
185
  "./components/page/Outline.svelte": "./components/page/Outline.svelte",
114
186
  "./components/page/Page.svelte": "./components/page/Page.svelte",
187
+ "./components/page/PageHeader.svelte": "./components/page/PageHeader.svelte",
188
+ "./components/page/PageParagraph.svelte": "./components/page/PageParagraph.svelte",
115
189
  "./components/page/PossibleChapter.svelte": "./components/page/PossibleChapter.svelte",
116
190
  "./components/page/PossibleReference.svelte": "./components/page/PossibleReference.svelte",
117
191
  "./components/page/Print.svelte": "./components/page/Print.svelte",
118
192
  "./components/page/Reference.svelte": "./components/page/Reference.svelte",
119
193
  "./components/page/References.svelte": "./components/page/References.svelte",
120
- "./components/page/Revisions.svelte": "./components/page/Revisions.svelte",
194
+ "./components/page/Rows.svelte": "./components/page/Rows.svelte",
121
195
  "./components/page/Search.svelte": "./components/page/Search.svelte",
122
196
  "./components/page/Status.svelte": "./components/page/Status.svelte",
123
197
  "./components/page/SubdomainEditor.svelte": "./components/page/SubdomainEditor.svelte",
@@ -128,19 +202,24 @@
128
202
  "./components/page/ThemeEditorPreview.svelte": "./components/page/ThemeEditorPreview.svelte",
129
203
  "./components/page/ThemeSetEditor.svelte": "./components/page/ThemeSetEditor.svelte",
130
204
  "./components/page/ThemeVariableEditor.svelte": "./components/page/ThemeVariableEditor.svelte",
205
+ "./components/page/Title.svelte": "./components/page/Title.svelte",
131
206
  "./components/page/Unknown.svelte": "./components/page/Unknown.svelte",
132
207
  "./components/page/margins": "./components/page/margins.js",
133
- "./models/BookLoader": "./models/BookLoader.js",
208
+ ".": "./index.js",
209
+ "./models/CRUD": "./models/CRUD.js",
134
210
  "./models/Firebase": "./models/Firebase.js",
135
- "./models/Firestore": "./models/Firestore.js",
136
211
  "./models/book/Book": "./models/book/Book.js",
137
212
  "./models/book/BookMedia": "./models/book/BookMedia.js",
213
+ "./models/book/BookSaveStatus": "./models/book/BookSaveStatus.js",
138
214
  "./models/book/Chapter": "./models/book/Chapter.js",
139
215
  "./models/book/ChapterID": "./models/book/ChapterID.js",
140
216
  "./models/book/Definition": "./models/book/Definition.js",
141
217
  "./models/book/Edition": "./models/book/Edition.js",
218
+ "./models/book/Reference": "./models/book/Reference.js",
219
+ "./models/book/Schema": "./models/book/Schema.js",
142
220
  "./models/book/Theme": "./models/book/Theme.js",
143
221
  "./models/book/ThemeColors": "./models/book/ThemeColors.js",
222
+ "./models/book/Words": "./models/book/Words.js",
144
223
  "./models/chapter/AtomNode": "./models/chapter/AtomNode.js",
145
224
  "./models/chapter/BlockNode": "./models/chapter/BlockNode.js",
146
225
  "./models/chapter/BlocksNode.test": "./models/chapter/BlocksNode.test.js",
@@ -173,7 +252,6 @@
173
252
  "./models/chapter/Parser": "./models/chapter/Parser.js",
174
253
  "./models/chapter/Position": "./models/chapter/Position.js",
175
254
  "./models/chapter/QuoteNode": "./models/chapter/QuoteNode.js",
176
- "./models/chapter/ReferenceNode": "./models/chapter/ReferenceNode.js",
177
255
  "./models/chapter/RootNode": "./models/chapter/RootNode.js",
178
256
  "./models/chapter/RuleNode": "./models/chapter/RuleNode.js",
179
257
  "./models/chapter/TableNode.test": "./models/chapter/TableNode.test.js",
@@ -185,5 +263,6 @@
185
263
  "./util/isMobile": "./util/isMobile.js",
186
264
  "./util/mineReference": "./util/mineReference.js",
187
265
  "./util/scrollToEyeLevel": "./util/scrollToEyeLevel.js"
188
- }
266
+ },
267
+ "svelte": "./index.js"
189
268
  }
@@ -1,11 +1,13 @@
1
1
  export function getSubdomain() {
2
- if (typeof window === "undefined")
2
+ if (typeof window === 'undefined')
3
3
  return undefined;
4
4
  // Determine if there's a subdomain.
5
- const hostParts = window.location.hostname.split(".");
5
+ const hostParts = window.location.hostname.split('.');
6
6
  const firstPart = hostParts[0];
7
7
  const secondPart = hostParts[1];
8
- return secondPart === undefined || /^(localhost|bookish)$/.test(firstPart) ? undefined : firstPart;
8
+ return secondPart === undefined || /^(localhost|bookish)$/.test(firstPart)
9
+ ? undefined
10
+ : firstPart;
9
11
  }
10
12
  export function pathWithoutSubdomain(path) {
11
13
  // If there's no subdomain, just return the path.
@@ -13,10 +15,10 @@ export function pathWithoutSubdomain(path) {
13
15
  if (subdomain === undefined)
14
16
  return path;
15
17
  // Otherwise, return a full URL without the subdomain
16
- return `${window.location.protocol}//${window.location.host.replace(subdomain + ".", "")}${path}${window.location.search}`;
18
+ return `${window.location.protocol}//${window.location.host.replace(subdomain + '.', '')}${path}${window.location.search}`;
17
19
  }
18
20
  export function getSubdomainURL(subdomain) {
19
- const parts = window.location.host.split(".");
21
+ const parts = window.location.host.split('.');
20
22
  // Construct a URL from the subdomain and the last one or two parts of the host (accounting for localhost and normal domains and top level domains.)
21
- return `${window.location.protocol}//${subdomain}.${parts.length > 1 ? `${parts[parts.length - 2]}.` : ""}${parts[parts.length - 1]}`;
23
+ return `${window.location.protocol}//${subdomain}.${parts.length > 1 ? `${parts[parts.length - 2]}.` : ''}${parts[parts.length - 1]}`;
22
24
  }
package/util/isMobile.js CHANGED
@@ -2,5 +2,5 @@ export function isMobile() {
2
2
  return watchMobile().matches;
3
3
  }
4
4
  export function watchMobile() {
5
- return window.matchMedia("screen and (max-width: 1200px)");
5
+ return window.matchMedia('screen and (max-width: 1200px)');
6
6
  }
@@ -1,3 +1,4 @@
1
- import ReferenceNode from "../models/chapter/ReferenceNode";
2
- export declare function mineReference(ids: string[], text: string): ReferenceNode;
1
+ import Reference from '../models/book/Reference';
2
+ export declare function mineReference(ids: string[], text: string): Reference;
3
+ export declare function splitIntoSentences(text: string): string[];
3
4
  export declare function getUniqueReferenceID(ids: string[], authors?: string, year?: string): string;