bookish-press 0.4.231 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/{components → package/components}/Auth.svelte +11 -13
  2. package/{components → package/components}/Auth.svelte.d.ts +0 -0
  3. package/{components → package/components}/Authentication.d.ts +0 -0
  4. package/{components → package/components}/Authentication.js +0 -0
  5. package/{components → package/components}/BookPreview.svelte +13 -17
  6. package/{components → package/components}/BookPreview.svelte.d.ts +0 -0
  7. package/{components → package/components}/Link.svelte +2 -1
  8. package/{components → package/components}/Link.svelte.d.ts +1 -0
  9. package/{components → package/components}/app/BookList.svelte +0 -0
  10. package/{components → package/components}/app/BookList.svelte.d.ts +0 -0
  11. package/{components → package/components}/app/Button.svelte +5 -2
  12. package/{components → package/components}/app/Button.svelte.d.ts +0 -0
  13. package/{components → package/components}/app/Feedback.svelte +4 -9
  14. package/{components → package/components}/app/Feedback.svelte.d.ts +0 -0
  15. package/{components → package/components}/app/Head.svelte +4 -1
  16. package/{components → package/components}/app/Head.svelte.d.ts +6 -15
  17. package/{components → package/components}/app/Large.svelte +0 -0
  18. package/{components → package/components}/app/Large.svelte.d.ts +0 -0
  19. package/{components → package/components}/app/Lead.svelte +0 -0
  20. package/{components → package/components}/app/Lead.svelte.d.ts +0 -0
  21. package/package/components/app/Link.svelte +36 -0
  22. package/{components → package/components}/app/Link.svelte.d.ts +1 -0
  23. package/{components → package/components}/app/Options.svelte +0 -0
  24. package/{components → package/components}/app/Options.svelte.d.ts +0 -0
  25. package/{components → package/components}/app/Paragraph.svelte +1 -0
  26. package/{components → package/components}/app/Paragraph.svelte.d.ts +0 -0
  27. package/{components/app/Writing.svelte → package/components/app/Section.svelte} +0 -1
  28. package/package/components/app/Section.svelte.d.ts +27 -0
  29. package/{components → package/components}/app/Table.svelte +0 -0
  30. package/{components → package/components}/app/Table.svelte.d.ts +0 -0
  31. package/{components → package/components}/app/TextInput.svelte +2 -0
  32. package/{components → package/components}/app/TextInput.svelte.d.ts +0 -0
  33. package/{components → package/components}/chapter/Atom.svelte +1 -8
  34. package/{components → package/components}/chapter/Atom.svelte.d.ts +0 -0
  35. package/{components → package/components}/chapter/Block.svelte +3 -1
  36. package/{components → package/components}/chapter/Block.svelte.d.ts +0 -0
  37. package/{components → package/components}/chapter/Callout.svelte +0 -0
  38. package/{components → package/components}/chapter/Callout.svelte.d.ts +0 -0
  39. package/{components → package/components}/chapter/CaptionedCode.svelte +2 -2
  40. package/{components → package/components}/chapter/CaptionedCode.svelte.d.ts +0 -0
  41. package/{components → package/components}/chapter/ChapterBody.svelte +9 -16
  42. package/{components → package/components}/chapter/ChapterBody.svelte.d.ts +1 -0
  43. package/{components → package/components}/chapter/Citations.svelte +13 -11
  44. package/{components → package/components}/chapter/Citations.svelte.d.ts +0 -0
  45. package/{components → package/components}/chapter/Code.svelte +3 -2
  46. package/{components → package/components}/chapter/Code.svelte.d.ts +0 -0
  47. package/{components → package/components}/chapter/Comment.svelte +7 -13
  48. package/{components → package/components}/chapter/Comment.svelte.d.ts +0 -0
  49. package/{components → package/components}/chapter/Definition.svelte +8 -3
  50. package/{components → package/components}/chapter/Definition.svelte.d.ts +0 -0
  51. package/{components → package/components}/chapter/Embed.svelte +6 -5
  52. package/{components → package/components}/chapter/Embed.svelte.d.ts +1 -0
  53. package/{components → package/components}/chapter/ErrorMessage.svelte +0 -0
  54. package/{components → package/components}/chapter/ErrorMessage.svelte.d.ts +0 -0
  55. package/{components → package/components}/chapter/ExtendedPrism.d.ts +0 -0
  56. package/{components → package/components}/chapter/ExtendedPrism.js +0 -0
  57. package/{components → package/components}/chapter/Figure.svelte +8 -8
  58. package/{components → package/components}/chapter/Figure.svelte.d.ts +0 -0
  59. package/{components → package/components}/chapter/Footnote.svelte +13 -24
  60. package/{components → package/components}/chapter/Footnote.svelte.d.ts +0 -2
  61. package/{components → package/components}/chapter/Format.svelte +5 -4
  62. package/{components → package/components}/chapter/Format.svelte.d.ts +0 -0
  63. package/{components → package/components}/chapter/InlineCode.svelte +2 -2
  64. package/{components → package/components}/chapter/InlineCode.svelte.d.ts +0 -0
  65. package/{components → package/components}/chapter/Label.svelte +5 -7
  66. package/{components → package/components}/chapter/Label.svelte.d.ts +0 -0
  67. package/{components → package/components}/chapter/Link.svelte +8 -6
  68. package/{components → package/components}/chapter/Link.svelte.d.ts +0 -0
  69. package/{components → package/components}/chapter/List.svelte +5 -0
  70. package/{components → package/components}/chapter/List.svelte.d.ts +0 -0
  71. package/{components → package/components}/chapter/Marginal.svelte +30 -12
  72. package/{components → package/components}/chapter/Marginal.svelte.d.ts +0 -0
  73. package/{components → package/components}/chapter/Paragraph.svelte +23 -10
  74. package/{components → package/components}/chapter/Paragraph.svelte.d.ts +0 -0
  75. package/{components → package/components}/chapter/Positioned.svelte +0 -0
  76. package/{components → package/components}/chapter/Positioned.svelte.d.ts +0 -0
  77. package/{components → package/components}/chapter/Problem.svelte +0 -0
  78. package/{components → package/components}/chapter/Problem.svelte.d.ts +0 -0
  79. package/{components → package/components}/chapter/Python.svelte +0 -0
  80. package/{components → package/components}/chapter/Python.svelte.d.ts +0 -0
  81. package/{components → package/components}/chapter/Quote.svelte +20 -10
  82. package/{components → package/components}/chapter/Quote.svelte.d.ts +0 -0
  83. package/{components → package/components}/chapter/Rule.svelte +0 -0
  84. package/{components → package/components}/chapter/Rule.svelte.d.ts +0 -0
  85. package/{components → package/components}/chapter/Table.svelte +2 -2
  86. package/{components → package/components}/chapter/Table.svelte.d.ts +0 -0
  87. package/{components → package/components}/chapter/Text.svelte +2 -2
  88. package/{components → package/components}/chapter/Text.svelte.d.ts +0 -0
  89. package/package/components/controls/DarkToggle.svelte +38 -0
  90. package/package/components/controls/DarkToggle.svelte.d.ts +17 -0
  91. package/{components → package/components}/editor/BookishEditor.svelte +57 -32
  92. package/{components → package/components}/editor/BookishEditor.svelte.d.ts +4 -1
  93. package/{components → package/components}/editor/CalloutEditor.svelte +0 -0
  94. package/{components → package/components}/editor/CalloutEditor.svelte.d.ts +0 -0
  95. package/{components → package/components}/editor/CaptionedCodeEditor.svelte +0 -0
  96. package/{components → package/components}/editor/CaptionedCodeEditor.svelte.d.ts +0 -0
  97. package/{components → package/components}/editor/CaretContext.d.ts +0 -0
  98. package/{components → package/components}/editor/CaretContext.js +0 -0
  99. package/{components → package/components}/editor/CaretState.d.ts +0 -0
  100. package/{components → package/components}/editor/CaretState.js +0 -0
  101. package/{components → package/components}/editor/CaretUtilities.d.ts +0 -0
  102. package/{components → package/components}/editor/CaretUtilities.js +0 -0
  103. package/{components → package/components}/editor/CaretView.svelte +4 -2
  104. package/{components → package/components}/editor/CaretView.svelte.d.ts +1 -0
  105. package/{components → package/components}/editor/CitationsEditor.svelte +0 -0
  106. package/{components → package/components}/editor/CitationsEditor.svelte.d.ts +0 -0
  107. package/{components → package/components}/editor/Clipboard.d.ts +0 -0
  108. package/{components → package/components}/editor/Clipboard.js +0 -0
  109. package/{components → package/components}/editor/Command.d.ts +0 -0
  110. package/{components → package/components}/editor/Command.js +0 -0
  111. package/{components → package/components}/editor/Commands.d.ts +0 -0
  112. package/{components → package/components}/editor/Commands.js +0 -0
  113. package/package/components/editor/ConfirmButton.svelte +23 -0
  114. package/{components → package/components}/editor/ConfirmButton.svelte.d.ts +4 -3
  115. package/{components → package/components}/editor/DefinitionEditor.svelte +0 -0
  116. package/{components → package/components}/editor/DefinitionEditor.svelte.d.ts +0 -0
  117. package/{components → package/components}/editor/EmbedEditor.svelte +1 -1
  118. package/{components → package/components}/editor/EmbedEditor.svelte.d.ts +0 -0
  119. package/{components → package/components}/editor/Icon.svelte +0 -0
  120. package/{components → package/components}/editor/Icon.svelte.d.ts +0 -0
  121. package/{components → package/components}/editor/ImageChooser.svelte +0 -0
  122. package/{components → package/components}/editor/ImageChooser.svelte.d.ts +0 -0
  123. package/{components → package/components}/editor/InlineCodeEditor.svelte +0 -0
  124. package/{components → package/components}/editor/InlineCodeEditor.svelte.d.ts +0 -0
  125. package/{components → package/components}/editor/LabelEditor.svelte +0 -0
  126. package/{components → package/components}/editor/LabelEditor.svelte.d.ts +0 -0
  127. package/{components → package/components}/editor/LanguageEditor.svelte +0 -0
  128. package/{components → package/components}/editor/LanguageEditor.svelte.d.ts +0 -0
  129. package/{components → package/components}/editor/LinkEditor.svelte +4 -3
  130. package/{components → package/components}/editor/LinkEditor.svelte.d.ts +0 -0
  131. package/{components → package/components}/editor/Note.svelte +1 -0
  132. package/{components → package/components}/editor/Note.svelte.d.ts +0 -0
  133. package/package/components/editor/Permissions.svelte +93 -0
  134. package/package/components/editor/Permissions.svelte.d.ts +20 -0
  135. package/{components → package/components}/editor/PositionEditor.svelte +0 -0
  136. package/{components → package/components}/editor/PositionEditor.svelte.d.ts +0 -0
  137. package/{components → package/components}/editor/QuoteEditor.svelte +0 -0
  138. package/{components → package/components}/editor/QuoteEditor.svelte.d.ts +0 -0
  139. package/{components → package/components}/editor/Switch.svelte +0 -0
  140. package/{components → package/components}/editor/Switch.svelte.d.ts +0 -0
  141. package/{components → package/components}/editor/TableEditor.svelte +0 -0
  142. package/{components → package/components}/editor/TableEditor.svelte.d.ts +0 -0
  143. package/{components → package/components}/editor/TextEditor.svelte +2 -3
  144. package/{components → package/components}/editor/TextEditor.svelte.d.ts +0 -0
  145. package/{components → package/components}/editor/Toggle.svelte +0 -0
  146. package/{components → package/components}/editor/Toggle.svelte.d.ts +0 -0
  147. package/{components → package/components}/editor/Toolbar.svelte +8 -3
  148. package/{components → package/components}/editor/Toolbar.svelte.d.ts +0 -0
  149. package/{components → package/components}/editor/ToolbarGroup.svelte +0 -1
  150. package/{components → package/components}/editor/ToolbarGroup.svelte.d.ts +0 -0
  151. package/{components → package/components}/editor/ToolbarSpacer.svelte +0 -0
  152. package/{components → package/components}/editor/ToolbarSpacer.svelte.d.ts +0 -0
  153. package/{components → package/components}/editor/URLEditor.svelte +2 -0
  154. package/{components → package/components}/editor/URLEditor.svelte.d.ts +0 -0
  155. package/{components → package/components}/editor/UndoState.d.ts +0 -0
  156. package/{components → package/components}/editor/UndoState.js +0 -0
  157. package/{components → package/components}/editor/icons/annotate.svg +0 -0
  158. package/{components → package/components}/editor/icons/block.svg +0 -0
  159. package/{components → package/components}/editor/icons/bold.svg +0 -0
  160. package/{components → package/components}/editor/icons/bullets.svg +0 -0
  161. package/{components → package/components}/editor/icons/callout.svg +0 -0
  162. package/{components → package/components}/editor/icons/citation.svg +0 -0
  163. package/{components → package/components}/editor/icons/clear.svg +0 -0
  164. package/{components → package/components}/editor/icons/clipboard.svg +0 -0
  165. package/{components → package/components}/editor/icons/code.svg +0 -0
  166. package/{components → package/components}/editor/icons/columnafter.svg +0 -0
  167. package/{components → package/components}/editor/icons/columnbefore.svg +0 -0
  168. package/{components → package/components}/editor/icons/comment.svg +0 -0
  169. package/{components → package/components}/editor/icons/copy.svg +0 -0
  170. package/{components → package/components}/editor/icons/cut.svg +0 -0
  171. package/{components → package/components}/editor/icons/define.svg +0 -0
  172. package/{components → package/components}/editor/icons/deletecolumn.svg +0 -0
  173. package/{components → package/components}/editor/icons/deleterow.svg +0 -0
  174. package/{components → package/components}/editor/icons/footnote.svg +0 -0
  175. package/{components → package/components}/editor/icons/header1.svg +0 -0
  176. package/{components → package/components}/editor/icons/header2.svg +0 -0
  177. package/{components → package/components}/editor/icons/header3.svg +0 -0
  178. package/{components → package/components}/editor/icons/home.svg +0 -0
  179. package/{components → package/components}/editor/icons/indent.svg +0 -0
  180. package/{components → package/components}/editor/icons/italic.svg +0 -0
  181. package/{components → package/components}/editor/icons/label.svg +0 -0
  182. package/{components → package/components}/editor/icons/left.svg +0 -0
  183. package/{components → package/components}/editor/icons/level.svg +0 -0
  184. package/{components → package/components}/editor/icons/link.svg +0 -0
  185. package/{components → package/components}/editor/icons/list.svg +0 -0
  186. package/{components → package/components}/editor/icons/media.svg +0 -0
  187. package/{components → package/components}/editor/icons/middle.svg +0 -0
  188. package/{components → package/components}/editor/icons/numbers.svg +0 -0
  189. package/{components → package/components}/editor/icons/paragraph.svg +0 -0
  190. package/{components → package/components}/editor/icons/paste.svg +0 -0
  191. package/{components → package/components}/editor/icons/quote.svg +0 -0
  192. package/{components → package/components}/editor/icons/redo.svg +0 -0
  193. package/{components → package/components}/editor/icons/right.svg +0 -0
  194. package/{components → package/components}/editor/icons/rowabove.svg +0 -0
  195. package/{components → package/components}/editor/icons/rowbelow.svg +0 -0
  196. package/{components → package/components}/editor/icons/rule.svg +0 -0
  197. package/{components → package/components}/editor/icons/sub.svg +0 -0
  198. package/{components → package/components}/editor/icons/super.svg +0 -0
  199. package/{components → package/components}/editor/icons/table.svg +0 -0
  200. package/{components → package/components}/editor/icons/text.svg +0 -0
  201. package/{components → package/components}/editor/icons/time.svg +0 -0
  202. package/{components → package/components}/editor/icons/undo.svg +0 -0
  203. package/{components → package/components}/editor/icons/unindent.svg +0 -0
  204. package/{components → package/components}/editor/icons/unlink.svg +0 -0
  205. package/{components → package/components}/page/Acknowledgements.svelte +13 -11
  206. package/{components → package/components}/page/Acknowledgements.svelte.d.ts +0 -0
  207. package/package/components/page/Authors.svelte +86 -0
  208. package/{components → package/components}/page/Authors.svelte.d.ts +1 -0
  209. package/package/components/page/BookLoader.svelte +59 -0
  210. package/package/components/page/BookLoader.svelte.d.ts +16 -0
  211. package/{components → package/components}/page/BulkReferenceEditor.svelte +8 -8
  212. package/{components → package/components}/page/BulkReferenceEditor.svelte.d.ts +0 -0
  213. package/{components → package/components}/page/Chapter.svelte +69 -30
  214. package/{components → package/components}/page/Chapter.svelte.d.ts +0 -0
  215. package/{components → package/components}/page/ChapterContext.d.ts +0 -0
  216. package/{components → package/components}/page/ChapterContext.js +0 -0
  217. package/{components → package/components}/page/ChapterNumber.svelte +0 -0
  218. package/{components → package/components}/page/ChapterNumber.svelte.d.ts +0 -0
  219. package/{components → package/components}/page/ChapterTitle.svelte +0 -0
  220. package/{components → package/components}/page/ChapterTitle.svelte.d.ts +0 -0
  221. package/{components → package/components}/page/Contexts.d.ts +21 -5
  222. package/package/components/page/Contexts.js +144 -0
  223. package/{components → package/components}/page/DefinitionView.svelte +23 -14
  224. package/{components → package/components}/page/DefinitionView.svelte.d.ts +0 -0
  225. package/{components → package/components}/page/Description.svelte +12 -9
  226. package/{components → package/components}/page/Description.svelte.d.ts +0 -0
  227. package/{components → package/components}/page/Edition.svelte +13 -23
  228. package/{components → package/components}/page/Edition.svelte.d.ts +1 -2
  229. package/package/components/page/EditionLoader.svelte +99 -0
  230. package/package/components/page/EditionLoader.svelte.d.ts +18 -0
  231. package/package/components/page/Editions.svelte +109 -0
  232. package/{components → package/components}/page/Editions.svelte.d.ts +3 -1
  233. package/{components → package/components}/page/Glossary.svelte +13 -6
  234. package/{components → package/components}/page/Glossary.svelte.d.ts +0 -0
  235. package/{components → package/components}/page/Header.svelte +26 -21
  236. package/{components → package/components}/page/Header.svelte.d.ts +2 -0
  237. package/{components → package/components}/page/Index.svelte +14 -8
  238. package/{components → package/components}/page/Index.svelte.d.ts +0 -0
  239. package/{components → package/components}/page/Instructions.svelte +1 -2
  240. package/{components → package/components}/page/Instructions.svelte.d.ts +3 -1
  241. package/package/components/page/License.svelte +45 -0
  242. package/{components → package/components}/page/License.svelte.d.ts +0 -0
  243. package/{components → package/components}/page/Loading.svelte +0 -0
  244. package/{components → package/components}/page/Loading.svelte.d.ts +0 -0
  245. package/{components → package/components}/page/Media.svelte +40 -36
  246. package/{components → package/components}/page/Media.svelte.d.ts +0 -0
  247. package/package/components/page/MediaPreview.svelte +55 -0
  248. package/{components → package/components}/page/MediaPreview.svelte.d.ts +0 -0
  249. package/{components → package/components}/page/Muted.svelte +0 -0
  250. package/{components → package/components}/page/Muted.svelte.d.ts +0 -0
  251. package/{components → package/components}/page/Outline.svelte +69 -96
  252. package/{components → package/components}/page/Outline.svelte.d.ts +0 -0
  253. package/{components → package/components}/page/Page.svelte +4 -4
  254. package/{components → package/components}/page/Page.svelte.d.ts +0 -0
  255. package/{components → package/components}/page/PageHeader.svelte +5 -0
  256. package/{components → package/components}/page/PageHeader.svelte.d.ts +0 -0
  257. package/{components → package/components}/page/PageParagraph.svelte +0 -0
  258. package/{components → package/components}/page/PageParagraph.svelte.d.ts +0 -0
  259. package/{components → package/components}/page/PossibleChapter.svelte +0 -0
  260. package/{components → package/components}/page/PossibleChapter.svelte.d.ts +0 -0
  261. package/{components → package/components}/page/PossibleReference.svelte +2 -1
  262. package/{components → package/components}/page/PossibleReference.svelte.d.ts +1 -0
  263. package/{components → package/components}/page/Print.svelte +0 -0
  264. package/{components → package/components}/page/Print.svelte.d.ts +0 -0
  265. package/package/components/page/Publish.svelte +135 -0
  266. package/package/components/page/Publish.svelte.d.ts +14 -0
  267. package/{components → package/components}/page/Reference.svelte +54 -51
  268. package/{components → package/components}/page/Reference.svelte.d.ts +1 -0
  269. package/{components → package/components}/page/References.svelte +9 -4
  270. package/{components → package/components}/page/References.svelte.d.ts +0 -0
  271. package/{components → package/components}/page/Rows.svelte +0 -0
  272. package/{components → package/components}/page/Rows.svelte.d.ts +0 -0
  273. package/{components → package/components}/page/Search.svelte +27 -10
  274. package/{components → package/components}/page/Search.svelte.d.ts +0 -0
  275. package/package/components/page/Status.svelte +58 -0
  276. package/{components → package/components}/page/Status.svelte.d.ts +0 -0
  277. package/{components → package/components}/page/SubdomainEditor.svelte +5 -3
  278. package/{components → package/components}/page/SubdomainEditor.svelte.d.ts +0 -0
  279. package/{components → package/components}/page/TableOfContents.svelte +83 -37
  280. package/{components → package/components}/page/TableOfContents.svelte.d.ts +0 -0
  281. package/package/components/page/TableOfContentsImage.svelte +27 -0
  282. package/{components → package/components}/page/TableOfContentsImage.svelte.d.ts +1 -0
  283. package/{components → package/components}/page/TableOfContentsRow.svelte +11 -12
  284. package/{components → package/components}/page/TableOfContentsRow.svelte.d.ts +0 -0
  285. package/{components → package/components}/page/ThemeEditor.svelte +12 -10
  286. package/{components → package/components}/page/ThemeEditor.svelte.d.ts +0 -0
  287. package/{components → package/components}/page/ThemeEditorPreview.svelte +0 -0
  288. package/{components → package/components}/page/ThemeEditorPreview.svelte.d.ts +0 -0
  289. package/{components → package/components}/page/ThemeSetEditor.svelte +0 -0
  290. package/{components → package/components}/page/ThemeSetEditor.svelte.d.ts +0 -0
  291. package/{components → package/components}/page/ThemeVariableEditor.svelte +0 -0
  292. package/{components → package/components}/page/ThemeVariableEditor.svelte.d.ts +0 -0
  293. package/{components → package/components}/page/Title.svelte +0 -0
  294. package/{components → package/components}/page/Title.svelte.d.ts +0 -0
  295. package/{components → package/components}/page/Unknown.svelte +5 -2
  296. package/{components → package/components}/page/Unknown.svelte.d.ts +0 -0
  297. package/{components → package/components}/page/margins.d.ts +0 -0
  298. package/{components → package/components}/page/margins.js +0 -0
  299. package/{index.d.ts → package/index.d.ts} +3 -1
  300. package/{index.js → package/index.js} +3 -1
  301. package/package/models/CRUD.d.ts +28 -0
  302. package/package/models/CRUD.js +263 -0
  303. package/{models → package/models}/Firebase.d.ts +0 -0
  304. package/package/models/Firebase.js +36 -0
  305. package/{models → package/models}/book/Book.d.ts +23 -18
  306. package/package/models/book/Book.js +135 -0
  307. package/{models → package/models}/book/BookMedia.d.ts +1 -1
  308. package/{models → package/models}/book/BookMedia.js +9 -10
  309. package/{models → package/models}/book/BookSaveStatus.d.ts +0 -0
  310. package/{models → package/models}/book/BookSaveStatus.js +0 -0
  311. package/{models → package/models}/book/Chapter.d.ts +5 -1
  312. package/{models → package/models}/book/Chapter.js +24 -15
  313. package/{models → package/models}/book/ChapterID.d.ts +0 -0
  314. package/{models → package/models}/book/ChapterID.js +0 -0
  315. package/{models → package/models}/book/Definition.d.ts +0 -0
  316. package/{models → package/models}/book/Definition.js +0 -0
  317. package/{models → package/models}/book/Edition.d.ts +33 -7
  318. package/{models → package/models}/book/Edition.js +104 -32
  319. package/{models → package/models}/book/Reference.d.ts +0 -0
  320. package/{models → package/models}/book/Reference.js +0 -0
  321. package/{models → package/models}/book/Schema.d.ts +20 -15
  322. package/{models → package/models}/book/Schema.js +17 -16
  323. package/{models → package/models}/book/Theme.d.ts +0 -0
  324. package/{models → package/models}/book/Theme.js +7 -6
  325. package/{models → package/models}/book/ThemeColors.d.ts +0 -0
  326. package/{models → package/models}/book/ThemeColors.js +0 -0
  327. package/{models → package/models}/book/Words.d.ts +0 -0
  328. package/{models → package/models}/book/Words.js +0 -0
  329. package/{models → package/models}/chapter/AtomNode.d.ts +0 -0
  330. package/{models → package/models}/chapter/AtomNode.js +0 -0
  331. package/{models → package/models}/chapter/BlockNode.d.ts +0 -0
  332. package/{models → package/models}/chapter/BlockNode.js +0 -0
  333. package/{models → package/models}/chapter/BlocksNode.d.ts +0 -0
  334. package/{models → package/models}/chapter/BlocksNode.js +0 -0
  335. package/{models → package/models}/chapter/BlocksNode.test.d.ts +0 -0
  336. package/{models → package/models}/chapter/BlocksNode.test.js +0 -0
  337. package/{models → package/models}/chapter/Bookkeeping.d.ts +0 -0
  338. package/{models → package/models}/chapter/Bookkeeping.js +0 -0
  339. package/{models → package/models}/chapter/CalloutNode.d.ts +0 -0
  340. package/{models → package/models}/chapter/CalloutNode.js +0 -0
  341. package/{models → package/models}/chapter/Caret.d.ts +0 -0
  342. package/{models → package/models}/chapter/Caret.js +0 -0
  343. package/{models → package/models}/chapter/ChapterNode.d.ts +0 -0
  344. package/{models → package/models}/chapter/ChapterNode.js +0 -0
  345. package/{models → package/models}/chapter/CitationsNode.d.ts +0 -0
  346. package/{models → package/models}/chapter/CitationsNode.js +0 -0
  347. package/{models → package/models}/chapter/CodeNode.d.ts +0 -0
  348. package/{models → package/models}/chapter/CodeNode.js +0 -0
  349. package/{models → package/models}/chapter/CommentNode.d.ts +0 -0
  350. package/{models → package/models}/chapter/CommentNode.js +13 -3
  351. package/{models → package/models}/chapter/DefinitionNode.d.ts +0 -0
  352. package/{models → package/models}/chapter/DefinitionNode.js +0 -0
  353. package/{models → package/models}/chapter/Edit.d.ts +0 -0
  354. package/{models → package/models}/chapter/Edit.js +0 -0
  355. package/{models → package/models}/chapter/EmbedNode.d.ts +1 -0
  356. package/{models → package/models}/chapter/EmbedNode.js +6 -0
  357. package/{models → package/models}/chapter/ErrorNode.d.ts +0 -0
  358. package/{models → package/models}/chapter/ErrorNode.js +0 -0
  359. package/{models → package/models}/chapter/FootnoteNode.d.ts +0 -0
  360. package/{models → package/models}/chapter/FootnoteNode.js +0 -0
  361. package/{models → package/models}/chapter/FormatNode.d.ts +0 -0
  362. package/{models → package/models}/chapter/FormatNode.js +1 -6
  363. package/{models → package/models}/chapter/FormatNode.test.d.ts +0 -0
  364. package/{models → package/models}/chapter/FormatNode.test.js +0 -0
  365. package/{models → package/models}/chapter/InlineCodeNode.d.ts +0 -0
  366. package/{models → package/models}/chapter/InlineCodeNode.js +0 -0
  367. package/{models → package/models}/chapter/LabelNode.d.ts +0 -0
  368. package/{models → package/models}/chapter/LabelNode.js +0 -0
  369. package/{models → package/models}/chapter/LinkNode.d.ts +0 -0
  370. package/{models → package/models}/chapter/LinkNode.js +0 -0
  371. package/{models → package/models}/chapter/ListNode.d.ts +0 -0
  372. package/{models → package/models}/chapter/ListNode.js +0 -0
  373. package/{models → package/models}/chapter/ListNode.test.d.ts +0 -0
  374. package/{models → package/models}/chapter/ListNode.test.js +0 -0
  375. package/{models → package/models}/chapter/MetadataNode.d.ts +0 -0
  376. package/{models → package/models}/chapter/MetadataNode.js +0 -0
  377. package/{models → package/models}/chapter/Node.d.ts +0 -0
  378. package/{models → package/models}/chapter/Node.js +0 -0
  379. package/{models → package/models}/chapter/Node.test.d.ts +0 -0
  380. package/{models → package/models}/chapter/Node.test.js +0 -0
  381. package/{models → package/models}/chapter/ParagraphNode.d.ts +0 -0
  382. package/{models → package/models}/chapter/ParagraphNode.js +0 -0
  383. package/{models → package/models}/chapter/ParagraphNode.test.d.ts +0 -0
  384. package/{models → package/models}/chapter/ParagraphNode.test.js +0 -0
  385. package/{models → package/models}/chapter/Parser.d.ts +2 -2
  386. package/{models → package/models}/chapter/Parser.js +26 -24
  387. package/{models → package/models}/chapter/Parser.test.d.ts +0 -0
  388. package/{models → package/models}/chapter/Parser.test.js +0 -0
  389. package/{models → package/models}/chapter/Position.d.ts +0 -0
  390. package/{models → package/models}/chapter/Position.js +0 -0
  391. package/{models → package/models}/chapter/QuoteNode.d.ts +0 -0
  392. package/{models → package/models}/chapter/QuoteNode.js +0 -0
  393. package/{models → package/models}/chapter/RootNode.d.ts +0 -0
  394. package/{models → package/models}/chapter/RootNode.js +0 -0
  395. package/{models → package/models}/chapter/RuleNode.d.ts +0 -0
  396. package/{models → package/models}/chapter/RuleNode.js +0 -0
  397. package/{models → package/models}/chapter/TableNode.d.ts +0 -0
  398. package/{models → package/models}/chapter/TableNode.js +0 -0
  399. package/{models → package/models}/chapter/TableNode.test.d.ts +0 -0
  400. package/{models → package/models}/chapter/TableNode.test.js +0 -0
  401. package/{models → package/models}/chapter/TextNode.d.ts +0 -0
  402. package/{models → package/models}/chapter/TextNode.js +0 -0
  403. package/{models → package/models}/chapter/TextNode.test.d.ts +0 -0
  404. package/{models → package/models}/chapter/TextNode.test.js +0 -0
  405. package/package/util/dark.d.ts +2 -0
  406. package/package/util/dark.js +16 -0
  407. package/{util → package/util}/getSubdomain.d.ts +0 -0
  408. package/{util → package/util}/getSubdomain.js +0 -0
  409. package/{util → package/util}/isMobile.d.ts +0 -0
  410. package/{util → package/util}/isMobile.js +0 -0
  411. package/{util → package/util}/mineReference.d.ts +0 -0
  412. package/{util → package/util}/mineReference.js +0 -0
  413. package/{util → package/util}/scrollToEyeLevel.d.ts +0 -0
  414. package/{util → package/util}/scrollToEyeLevel.js +0 -0
  415. package/package.json +955 -267
  416. package/components/External.svelte +0 -4
  417. package/components/External.svelte.d.ts +0 -18
  418. package/components/app/Link.svelte +0 -24
  419. package/components/app/Writing.svelte.d.ts +0 -27
  420. package/components/editor/ConfirmButton.svelte +0 -49
  421. package/components/page/Authors.svelte +0 -82
  422. package/components/page/Contexts.js +0 -51
  423. package/components/page/Editions.svelte +0 -158
  424. package/components/page/License.svelte +0 -37
  425. package/components/page/MediaPreview.svelte +0 -29
  426. package/components/page/Status.svelte +0 -57
  427. package/components/page/TableOfContentsImage.svelte +0 -15
  428. package/models/CRUD.d.ts +0 -17
  429. package/models/CRUD.js +0 -207
  430. package/models/Firebase.js +0 -32
  431. package/models/book/Book.js +0 -142
  432. package/models/loadEdition.d.ts +0 -5
  433. package/models/loadEdition.js +0 -20
@@ -1,8 +1,8 @@
1
1
  <script>import { sendSignInLinkToEmail } from 'firebase/auth';
2
- import { onMount, setContext } from 'svelte';
2
+ import { onDestroy, setContext } from 'svelte';
3
3
  import { writable } from 'svelte/store';
4
4
  import { auth } from '../models/Firebase';
5
- import { AUTH } from './page/Contexts';
5
+ import { USER } from './page/Contexts';
6
6
  // Track the user and user loading status in state
7
7
  let loading = true;
8
8
  // The store that tracks the auth context.
@@ -37,18 +37,16 @@ function logout() {
37
37
  }
38
38
  }
39
39
  // On mount, subscribe to authentication changes.
40
- onMount(() => {
41
- if (auth) {
42
- const unsubscribe = auth.onAuthStateChanged((user) => {
43
- loading = false;
44
- updateAuth(user);
45
- });
46
- // On unmount, stop subscribing.
47
- return unsubscribe;
48
- }
49
- });
40
+ if (auth) {
41
+ const unsubscribe = auth.onAuthStateChanged((user) => {
42
+ loading = false;
43
+ updateAuth(user);
44
+ });
45
+ // On unmount, stop subscribing.
46
+ onDestroy(unsubscribe);
47
+ }
50
48
  // Expose the state and the login/logout functionality.
51
- setContext(AUTH, authentication);
49
+ setContext(USER, authentication);
52
50
  </script>
53
51
 
54
52
  <!-- Wrap whatever children are given in this context. -->
@@ -1,37 +1,33 @@
1
1
  <script>import EmbedNode from '../models/chapter/EmbedNode';
2
2
  import Parser from '../models/chapter/Parser';
3
- import ErrorNode from '../models/chapter/ErrorNode';
4
3
  import ChapterBody from './chapter/ChapterBody.svelte';
5
4
  import Embed from './chapter/Embed.svelte';
6
- import ErrorMessage from './chapter/ErrorMessage.svelte';
7
5
  import Link from './app/Link.svelte';
8
6
  export let book;
9
7
  export let write = false;
10
- $: refID = book.getRefID();
8
+ $: refID = book.getID();
11
9
  $: cover = book.getCover();
12
10
  $: authors = book.getAuthors();
13
11
  $: description = book.getDescription();
14
12
  $: subdomain = book.getSubdomain();
15
- $: title = book.getTitle() === '' ? 'Untitled' : book.getTitle();
13
+ $: title = book.getTitle();
16
14
  $: embed = cover === null ? null : Parser.parseEmbed(undefined, cover);
15
+ $: url =
16
+ subdomain === null || write
17
+ ? refID === undefined
18
+ ? ''
19
+ : (write ? '/write/' : '/') + refID
20
+ : `/${subdomain}`;
17
21
  </script>
18
22
 
19
23
  <article class="book-preview">
20
24
  <div class="cover" class:empty={embed === null}>
21
25
  {#if embed instanceof EmbedNode}
22
- <Embed node={embed} imageOnly />
23
- {:else if embed instanceof ErrorNode}
24
- <ErrorMessage node={embed} />
26
+ <Embed node={embed} imageOnly editable={false} />
25
27
  {/if}
26
28
  </div>
27
29
  <div class="content">
28
- <Link
29
- to={subdomain === undefined || write
30
- ? refID === undefined
31
- ? ''
32
- : (write ? '/write/' : '/') + refID
33
- : `/${subdomain}`}><h2 class="title">{title}</h2></Link
34
- >
30
+ <Link to={url}><h2 class="title">{title}</h2></Link>
35
31
  <p class="authors">
36
32
  {#each authors as author, index}
37
33
  <span
@@ -41,7 +37,7 @@ $: embed = cover === null ? null : Parser.parseEmbed(undefined, cover);
41
37
  <em>No authors</em>
42
38
  {/each}
43
39
  </p>
44
- <p class="description">
40
+ <div class="description">
45
41
  {#if description.length === 0}
46
42
  <em>No description</em>
47
43
  {:else}
@@ -49,7 +45,8 @@ $: embed = cover === null ? null : Parser.parseEmbed(undefined, cover);
49
45
  node={Parser.parseChapter(undefined, description)}
50
46
  />
51
47
  {/if}
52
- </p>
48
+ </div>
49
+ <Link to={`${url}/editions`}>Editions</Link>
53
50
  </div>
54
51
  </article>
55
52
 
@@ -100,6 +97,5 @@ $: embed = cover === null ? null : Parser.parseEmbed(undefined, cover);
100
97
  margin-top: 0;
101
98
  overflow: hidden;
102
99
  text-overflow: ellipsis;
103
- height: 5em;
104
100
  }
105
101
  </style>
@@ -1,5 +1,6 @@
1
1
  <script>import { page } from '$app/stores';
2
2
  export let to;
3
+ export let linked = true;
3
4
  let link;
4
5
  function scroll(event) {
5
6
  // No element? Bail.
@@ -27,7 +28,7 @@ function scroll(event) {
27
28
  }
28
29
  </script>
29
30
 
30
- {#if $page.url.pathname === (to.charAt(to.length - 1) === '/' ? to.substring(0, to.length - 1) : to)}
31
+ {#if !linked || $page.url.pathname === (to.charAt(to.length - 1) === '/' ? to.substring(0, to.length - 1) : to)}
31
32
  <slot />
32
33
  {:else}
33
34
  <a
@@ -2,6 +2,7 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  to: string;
5
+ linked?: boolean | undefined;
5
6
  };
6
7
  events: {
7
8
  [evt: string]: CustomEvent<any>;
@@ -24,7 +24,10 @@ export let command;
24
24
  font-size: var(--app-chrome-font-size);
25
25
  color: var(--app-font-color);
26
26
  background-color: var(--app-chrome-background);
27
- padding: var(--app-chrome-padding);
27
+ padding-left: var(--app-chrome-padding);
28
+ padding-right: var(--app-chrome-padding);
29
+ padding-top: calc(var(--app-chrome-padding) / 2);
30
+ padding-bottom: calc(var(--app-chrome-padding) / 2);
28
31
  border-radius: var(--app-chrome-roundedness);
29
32
  border: none;
30
33
  }
@@ -36,7 +39,7 @@ export let command;
36
39
  }
37
40
 
38
41
  button:disabled {
39
- opacity: 0.3;
42
+ opacity: 0.5;
40
43
  cursor: auto;
41
44
  }
42
45
 
@@ -21,25 +21,20 @@ export let error = false;
21
21
  color: var(--app-error-color);
22
22
  }
23
23
 
24
- p[role='alert']:before {
25
- content: '! ';
26
- font-size: 200%;
27
- }
28
-
29
24
  p[role='status'] {
30
25
  color: var(--app-font-color);
31
- animation: waiting 1s infinite;
26
+ /* animation: waiting 1s 1; */
32
27
  }
33
28
 
34
29
  @keyframes waiting {
35
30
  0% {
36
- transform: rotate(2deg);
31
+ transform: rotate(1deg);
37
32
  }
38
33
  50% {
39
- transform: rotate(-2deg);
34
+ transform: rotate(-1deg);
40
35
  }
41
36
  100% {
42
- transform: rotate(2deg);
37
+ transform: rotate(1deg);
43
38
  }
44
39
  }
45
40
  </style>
@@ -1,4 +1,7 @@
1
- <h2><slot /></h2>
1
+ <script>export let id = null;
2
+ </script>
3
+
4
+ <h2 {id}><slot /></h2>
2
5
 
3
6
  <style>
4
7
  h2 {
@@ -1,21 +1,7 @@
1
- /** @typedef {typeof __propDef.props} HeadProps */
2
- /** @typedef {typeof __propDef.events} HeadEvents */
3
- /** @typedef {typeof __propDef.slots} HeadSlots */
4
- export default class Head extends SvelteComponentTyped<{
5
- [x: string]: never;
6
- }, {
7
- [evt: string]: CustomEvent<any>;
8
- }, {
9
- default: {};
10
- }> {
11
- }
12
- export type HeadProps = typeof __propDef.props;
13
- export type HeadEvents = typeof __propDef.events;
14
- export type HeadSlots = typeof __propDef.slots;
15
1
  import { SvelteComponentTyped } from "svelte";
16
2
  declare const __propDef: {
17
3
  props: {
18
- [x: string]: never;
4
+ id?: string | null | undefined;
19
5
  };
20
6
  events: {
21
7
  [evt: string]: CustomEvent<any>;
@@ -24,4 +10,9 @@ declare const __propDef: {
24
10
  default: {};
25
11
  };
26
12
  };
13
+ export type HeadProps = typeof __propDef.props;
14
+ export type HeadEvents = typeof __propDef.events;
15
+ export type HeadSlots = typeof __propDef.slots;
16
+ export default class Head extends SvelteComponentTyped<HeadProps, HeadEvents, HeadSlots> {
17
+ }
27
18
  export {};
@@ -0,0 +1,36 @@
1
+ <script>import { page } from '$app/stores';
2
+ export let to;
3
+ export let before = undefined;
4
+ export let title = undefined;
5
+ export let external = false;
6
+ $: at = to === $page.url.pathname;
7
+ </script>
8
+
9
+ {#if at}
10
+ <span class="link"> <slot /></span>
11
+ {:else}
12
+ <a
13
+ class="link"
14
+ href={to}
15
+ {title}
16
+ on:click={() => (before ? before() : undefined)}
17
+ target={to.startsWith('http') || external ? '_blank' : null}
18
+ rel={external ? 'noreferrer' : null}><slot /></a
19
+ >
20
+ {/if}
21
+
22
+ <style>
23
+ .link {
24
+ font-family: var(--app-font);
25
+ font-weight: 400;
26
+ text-decoration: none;
27
+ }
28
+
29
+ a {
30
+ color: var(--app-interactive-color);
31
+ }
32
+
33
+ a:hover {
34
+ text-decoration: underline;
35
+ }
36
+ </style>
@@ -4,6 +4,7 @@ declare const __propDef: {
4
4
  to: string;
5
5
  before?: Function | undefined;
6
6
  title?: string | undefined;
7
+ external?: boolean | undefined;
7
8
  };
8
9
  events: {
9
10
  [evt: string]: CustomEvent<any>;
@@ -15,5 +15,6 @@
15
15
 
16
16
  .aside {
17
17
  font-style: italic;
18
+ font-size: 90%;
18
19
  }
19
20
  </style>
@@ -7,7 +7,6 @@
7
7
  margin: auto;
8
8
  padding-left: 2rem;
9
9
  padding-right: 2rem;
10
- min-width: 30rem;
11
10
  max-width: 40rem;
12
11
  }
13
12
  </style>
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} SectionProps */
2
+ /** @typedef {typeof __propDef.events} SectionEvents */
3
+ /** @typedef {typeof __propDef.slots} SectionSlots */
4
+ export default class Section extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {
9
+ default: {};
10
+ }> {
11
+ }
12
+ export type SectionProps = typeof __propDef.props;
13
+ export type SectionEvents = typeof __propDef.events;
14
+ export type SectionSlots = typeof __propDef.slots;
15
+ import { SvelteComponentTyped } from "svelte";
16
+ declare const __propDef: {
17
+ props: {
18
+ [x: string]: never;
19
+ };
20
+ events: {
21
+ [evt: string]: CustomEvent<any>;
22
+ };
23
+ slots: {
24
+ default: {};
25
+ };
26
+ };
27
+ export {};
@@ -14,6 +14,7 @@ export function value() {
14
14
  {type}
15
15
  {placeholder}
16
16
  {disabled}
17
+ value={text}
17
18
  bind:this={input}
18
19
  on:input={() => (text = input.value)}
19
20
  />
@@ -22,6 +23,7 @@ export function value() {
22
23
  input {
23
24
  font-family: var(--app-font);
24
25
  font-size: var(--app-chrome-font-size);
26
+ background: var(--app-background-color);
25
27
  color: var(--app-font-color);
26
28
  padding: var(--app-chrome-padding);
27
29
  font-size: var(--app-chrome-font-size);
@@ -5,13 +5,6 @@ export let node;
5
5
  let caret = getCaret();
6
6
  // Is the caret on this link?
7
7
  $: selected = $caret && $caret.range && $caret.range.start.node === node;
8
- function handleMouseDown() {
9
- // Select this so that the view stays focused.
10
- $caret?.setCaret({
11
- start: { node: node, index: 0 },
12
- end: { node: node, index: 0 },
13
- });
14
- }
15
8
  </script>
16
9
 
17
10
  <!-- Prevent the editor from receiving the click. -->
@@ -19,7 +12,7 @@ function handleMouseDown() {
19
12
  class={`bookish-editor-atom ${
20
13
  selected ? 'bookish-editor-atom-selected' : ''
21
14
  } ${$caret?.focused ? 'bookish-editor-atom-selected-focused' : ''}`}
22
- on:mousedown|stopPropagation|preventDefault={handleMouseDown}><slot /></span
15
+ ><slot /></span
23
16
  >
24
17
 
25
18
  <style>
@@ -19,12 +19,14 @@ import Quote from './Quote.svelte';
19
19
  import Rule from './Rule.svelte';
20
20
  import Table from './Table.svelte';
21
21
  import Problem from './Problem.svelte';
22
+ import { isChapterEditable } from '../page/Contexts';
22
23
  export let node;
24
+ let editable = isChapterEditable();
23
25
  </script>
24
26
 
25
27
  {#if node instanceof ParagraphNode}<Paragraph {node} />
26
28
  {:else if node instanceof ListNode}<List {node} />
27
- {:else if node instanceof EmbedNode}<Embed {node} />
29
+ {:else if node instanceof EmbedNode}<Embed {node} {editable} />
28
30
  {:else if node instanceof CalloutNode}<Callout {node} />
29
31
  {:else if node instanceof QuoteNode}<Quote {node} />
30
32
  {:else if node instanceof CodeNode}<CaptionedCode {node} />
@@ -3,12 +3,12 @@
3
3
  <script>import Code from './Code.svelte';
4
4
  import Python from './Python.svelte';
5
5
  import Text from './Text.svelte';
6
- import { isEditable } from '../page/Contexts';
6
+ import { isChapterEditable } from '../page/Contexts';
7
7
  import Figure from './Figure.svelte';
8
8
  import { getCaret } from '../page/Contexts';
9
9
  export let node;
10
10
  $: language = node.getLanguage();
11
- let editable = isEditable();
11
+ let editable = isChapterEditable();
12
12
  // const languages = [ "C", "C++", "CSS", "Go", "HTML", "Java", "JavaScript", "Markdown", "Plaintext", "Python", "TypeScript" ];
13
13
  let caret = getCaret();
14
14
  $: inside =
@@ -1,17 +1,25 @@
1
1
  <svelte:options immutable />
2
2
 
3
3
  <script>import ParagraphNode from '../../models/chapter/ParagraphNode';
4
+ import { writable } from 'svelte/store';
5
+ import { setContext } from 'svelte';
6
+ import { ROOT } from '../page/Contexts';
4
7
  import Block from './Block.svelte';
5
8
  import Paragraph from './Paragraph.svelte';
6
9
  import Problem from './Problem.svelte';
7
10
  export let node;
8
11
  export let placeholder = '';
12
+ export let editable = false;
9
13
  $: errors = node.getErrors();
10
14
  $: blocks = node.getBlocks();
15
+ // Make this chapter node available to all children in a reactive store.
16
+ let root = writable(node);
17
+ setContext(ROOT, root);
18
+ $: root.set(node);
11
19
  </script>
12
20
 
13
21
  <section class="bookish-chapter-body" data-nodeid={node.nodeID}>
14
- {#if errors.length > 0}
22
+ {#if editable && errors.length > 0}
15
23
  <p>
16
24
  <Problem
17
25
  >{errors.length +
@@ -38,21 +46,6 @@ $: blocks = node.getBlocks();
38
46
  min-width: 100%;
39
47
  }
40
48
 
41
- /* This implements a drop cap in the first letter of the first text in the first format of the first paragraph of a chapter (but only chapters). */
42
- :global(
43
- .chapter-content
44
- .bookish-chapter-body
45
- p:first-of-type:not(.placeholder)::first-letter
46
- ) {
47
- padding: 0 0.25rem;
48
- margin: 0 0.25rem 0 0;
49
- font-size: 4rem;
50
- font-weight: 700;
51
- float: left;
52
- line-height: 1;
53
- color: var(--bookish-paragraph-color);
54
- }
55
-
56
49
  :global(.bookish-content-highlight) {
57
50
  position: relative;
58
51
  }
@@ -4,6 +4,7 @@ declare const __propDef: {
4
4
  props: {
5
5
  node: ChapterNode;
6
6
  placeholder?: string | undefined;
7
+ editable?: boolean | undefined;
7
8
  };
8
9
  events: {
9
10
  [evt: string]: CustomEvent<any>;
@@ -1,23 +1,21 @@
1
1
  <svelte:options immutable={true} />
2
2
 
3
3
  <script>import Marginal from './Marginal.svelte';
4
- import Parser from '../../models/chapter/Parser';
5
4
  import Problem from './Problem.svelte';
6
5
  import Atom from './Atom.svelte';
7
- import { getChapter, getEdition } from '../page/Contexts';
6
+ import { getChapter, getEdition, getRoot } from '../page/Contexts';
8
7
  import PossibleReference from '../page/PossibleReference.svelte';
9
8
  import { afterUpdate } from 'svelte';
10
9
  export let node;
11
10
  let chapter = getChapter();
12
11
  let edition = getEdition();
13
- $: ast =
14
- $edition && $chapter ? $chapter.chapter.getAST($edition) : undefined;
12
+ let root = getRoot();
15
13
  // Sort citations numerically, however they're numbered.
16
14
  $: citations = node.getMeta().sort((a, b) => {
17
- if (ast === undefined)
15
+ if ($root === undefined)
18
16
  return 0;
19
- let aNumber = ast.getCitationNumber(a);
20
- let bNumber = ast.getCitationNumber(b);
17
+ let aNumber = $root.getCitationNumber(a);
18
+ let bNumber = $root.getCitationNumber(b);
21
19
  if (aNumber === null) {
22
20
  if (bNumber === null)
23
21
  return 0;
@@ -36,7 +34,7 @@ afterUpdate(() => $chapter?.layoutMarginals());
36
34
  </script>
37
35
 
38
36
  <Atom {node}>
39
- {#if ast}
37
+ {#if $root}
40
38
  <span class="bookish-citation" data-nodeid={node.nodeID}>
41
39
  <Marginal
42
40
  {node}
@@ -46,7 +44,7 @@ afterUpdate(() => $chapter?.layoutMarginals());
46
44
  <svelte:fragment slot="interactor">
47
45
  {#each citations as citationID, index}
48
46
  {@const citationNumber =
49
- ast?.getCitationNumber(citationID)}
47
+ $root.getCitationNumber(citationID)}
50
48
  {#if citationNumber && citationID in ($edition?.getReferences() ?? {})}
51
49
  <sup class="bookish-citation-symbol"
52
50
  >{citationNumber}</sup
@@ -67,14 +65,14 @@ afterUpdate(() => $chapter?.layoutMarginals());
67
65
  <span slot="content" class="bookish-references">
68
66
  {#each citations as citationID}
69
67
  {@const citationNumber =
70
- ast?.getCitationNumber(citationID)}
68
+ $root.getCitationNumber(citationID)}
71
69
  {@const ref = $edition?.getReference(citationID)}
72
70
  {#if citationNumber && ref && $edition}
73
71
  <span class="bookish-reference">
74
72
  <sup class="bookish-citation-symbol"
75
73
  >{citationNumber}</sup
76
74
  >
77
- <PossibleReference node={ref} />
75
+ <PossibleReference node={ref} edit={false} />
78
76
  </span>
79
77
  {/if}
80
78
  {/each}
@@ -85,6 +83,10 @@ afterUpdate(() => $chapter?.layoutMarginals());
85
83
  </Atom>
86
84
 
87
85
  <style>
86
+ sup {
87
+ line-height: 0;
88
+ }
89
+
88
90
  .bookish-reference {
89
91
  font-family: var(--bookish-paragraph-font-family);
90
92
  list-style-position: outside;
@@ -61,6 +61,7 @@ function handleChange() {
61
61
  display: inline;
62
62
  padding: calc(1.5 * var(--bookish-inline-padding))
63
63
  var(--bookish-inline-padding);
64
+ white-space: pre-line !important;
64
65
  }
65
66
 
66
67
  :global(.bookish-code-inline) :global(code) {
@@ -77,10 +78,10 @@ function handleChange() {
77
78
  */
78
79
 
79
80
  :global(code[class*='language-']) {
80
- color: black;
81
+ color: var(--bookish-paragraph-color);
81
82
  background: none;
82
83
  font-family: var(--bookish-code-font-family);
83
- font-size: 1em;
84
+ font-size: var(--bookish-code-font-size);
84
85
  text-align: left;
85
86
  white-space: pre;
86
87
  word-spacing: normal;