bookish-press 0.4.47 → 0.4.49

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 (533) hide show
  1. package/components/Auth.svelte +55 -0
  2. package/components/Auth.svelte.d.ts +16 -0
  3. package/{src/lib/components/Authentication.ts → components/Authentication.d.ts} +0 -2
  4. package/components/Authentication.js +1 -0
  5. package/{src/lib/components → components}/BookPreview.svelte +22 -27
  6. package/components/BookPreview.svelte.d.ts +18 -0
  7. package/{src/lib/components → components}/External.svelte +1 -2
  8. package/components/External.svelte.d.ts +18 -0
  9. package/components/Link.svelte +51 -0
  10. package/components/Link.svelte.d.ts +18 -0
  11. package/{src/lib/components → components}/app/BookList.svelte +3 -6
  12. package/components/app/BookList.svelte.d.ts +18 -0
  13. package/{src/lib/components → components}/app/Button.svelte +4 -5
  14. package/components/app/Button.svelte.d.ts +22 -0
  15. package/{src/lib/components → components}/app/Feedback.svelte +7 -11
  16. package/components/app/Feedback.svelte.d.ts +18 -0
  17. package/{src/lib/components → components}/app/Head.svelte +1 -2
  18. package/components/app/Head.svelte.d.ts +18 -0
  19. package/{src/lib/components → components}/app/Large.svelte +0 -0
  20. package/components/app/Large.svelte.d.ts +27 -0
  21. package/{src/lib/components → components}/app/Lead.svelte +0 -0
  22. package/components/app/Lead.svelte.d.ts +27 -0
  23. package/{src/lib/components → components}/app/Link.svelte +3 -4
  24. package/components/app/Link.svelte.d.ts +20 -0
  25. package/{src/lib/components → components}/app/Options.svelte +4 -5
  26. package/components/app/Options.svelte.d.ts +19 -0
  27. package/{src/lib/components → components}/app/Paragraph.svelte +1 -2
  28. package/components/app/Paragraph.svelte.d.ts +18 -0
  29. package/{src/lib/components → components}/app/Section.svelte +0 -0
  30. package/components/app/Section.svelte.d.ts +27 -0
  31. package/{src/lib/components → components}/app/Table.svelte +0 -0
  32. package/components/app/Table.svelte.d.ts +27 -0
  33. package/{src/lib/components → components}/app/TextInput.svelte +9 -12
  34. package/components/app/TextInput.svelte.d.ts +22 -0
  35. package/{src/lib/components → components}/chapter/Atom.svelte +12 -18
  36. package/components/chapter/Atom.svelte.d.ts +19 -0
  37. package/components/chapter/Block.svelte +37 -0
  38. package/components/chapter/Block.svelte.d.ts +17 -0
  39. package/{src/lib/components → components}/chapter/Callout.svelte +3 -6
  40. package/components/chapter/Callout.svelte.d.ts +17 -0
  41. package/{src/lib/components → components}/chapter/CaptionedCode.svelte +13 -21
  42. package/components/chapter/CaptionedCode.svelte.d.ts +17 -0
  43. package/{src/lib/components → components}/chapter/ChapterBody.svelte +9 -13
  44. package/components/chapter/ChapterBody.svelte.d.ts +19 -0
  45. package/{src/lib/components → components}/chapter/Citations.svelte +33 -34
  46. package/components/chapter/Citations.svelte.d.ts +17 -0
  47. package/{src/lib/components → components}/chapter/Code.svelte +60 -64
  48. package/components/chapter/Code.svelte.d.ts +22 -0
  49. package/{src/lib/components → components}/chapter/Comment.svelte +18 -30
  50. package/components/chapter/Comment.svelte.d.ts +17 -0
  51. package/{src/lib/components → components}/chapter/Definition.svelte +17 -23
  52. package/components/chapter/Definition.svelte.d.ts +17 -0
  53. package/{src/lib/components → components}/chapter/Embed.svelte +77 -97
  54. package/components/chapter/Embed.svelte.d.ts +20 -0
  55. package/components/chapter/ErrorMessage.svelte +9 -0
  56. package/components/chapter/ErrorMessage.svelte.d.ts +17 -0
  57. package/components/chapter/ExtendedPrism.d.ts +2 -0
  58. package/{src/lib/components → components}/chapter/ExtendedPrism.js +0 -0
  59. package/{src/lib/components → components}/chapter/Figure.svelte +26 -34
  60. package/components/chapter/Figure.svelte.d.ts +24 -0
  61. package/{src/lib/components → components}/chapter/Footnote.svelte +20 -32
  62. package/components/chapter/Footnote.svelte.d.ts +19 -0
  63. package/{src/lib/components → components}/chapter/Format.svelte +34 -39
  64. package/components/chapter/Format.svelte.d.ts +19 -0
  65. package/{src/lib/components → components}/chapter/InlineCode.svelte +5 -9
  66. package/components/chapter/InlineCode.svelte.d.ts +17 -0
  67. package/{src/lib/components → components}/chapter/Label.svelte +14 -23
  68. package/components/chapter/Label.svelte.d.ts +17 -0
  69. package/{src/lib/components → components}/chapter/Link.svelte +21 -27
  70. package/components/chapter/Link.svelte.d.ts +17 -0
  71. package/{src/lib/components → components}/chapter/List.svelte +3 -5
  72. package/components/chapter/List.svelte.d.ts +17 -0
  73. package/{src/lib/components → components}/chapter/Marginal.svelte +41 -54
  74. package/components/chapter/Marginal.svelte.d.ts +22 -0
  75. package/{src/lib/components → components}/chapter/Paragraph.svelte +20 -25
  76. package/components/chapter/Paragraph.svelte.d.ts +18 -0
  77. package/{src/lib/components → components}/chapter/Positioned.svelte +1 -4
  78. package/components/chapter/Positioned.svelte.d.ts +19 -0
  79. package/{src/lib/components → components}/chapter/Problem.svelte +0 -0
  80. package/components/chapter/Problem.svelte.d.ts +27 -0
  81. package/components/chapter/Python.svelte +128 -0
  82. package/components/chapter/Python.svelte.d.ts +18 -0
  83. package/{src/lib/components → components}/chapter/Quote.svelte +19 -13
  84. package/components/chapter/Quote.svelte.d.ts +17 -0
  85. package/{src/lib/components → components}/chapter/Rule.svelte +1 -4
  86. package/components/chapter/Rule.svelte.d.ts +17 -0
  87. package/{src/lib/components → components}/chapter/Table.svelte +7 -11
  88. package/components/chapter/Table.svelte.d.ts +17 -0
  89. package/components/chapter/Text.svelte +87 -0
  90. package/components/chapter/Text.svelte.d.ts +18 -0
  91. package/components/editor/BookishEditor.svelte +884 -0
  92. package/components/editor/BookishEditor.svelte.d.ts +25 -0
  93. package/components/editor/CalloutEditor.svelte +10 -0
  94. package/components/editor/CalloutEditor.svelte.d.ts +17 -0
  95. package/{src/lib/components → components}/editor/CaptionedCodeEditor.svelte +6 -10
  96. package/components/editor/CaptionedCodeEditor.svelte.d.ts +17 -0
  97. package/components/editor/CaretContext.d.ts +50 -0
  98. package/components/editor/CaretContext.js +1 -0
  99. package/{src/lib/components/editor/CaretState.ts → components/editor/CaretState.d.ts} +7 -6
  100. package/components/editor/CaretState.js +1 -0
  101. package/{src/lib/components/editor/CaretUtilities.ts → components/editor/CaretUtilities.d.ts} +0 -1
  102. package/components/editor/CaretUtilities.js +1 -0
  103. package/{src/lib/components → components}/editor/CaretView.svelte +20 -25
  104. package/components/editor/CaretView.svelte.d.ts +25 -0
  105. package/components/editor/CitationsEditor.svelte +53 -0
  106. package/components/editor/CitationsEditor.svelte.d.ts +17 -0
  107. package/{src/lib/components/editor/Clipboard.ts → components/editor/Clipboard.d.ts} +1 -2
  108. package/components/editor/Clipboard.js +1 -0
  109. package/{src/lib/components/editor/Command.ts → components/editor/Command.d.ts} +2 -8
  110. package/components/editor/Command.js +1 -0
  111. package/components/editor/Commands.d.ts +3 -0
  112. package/{src/lib/components/editor/Commands.ts → components/editor/Commands.js} +315 -730
  113. package/components/editor/ConfirmButton.svelte +49 -0
  114. package/components/editor/ConfirmButton.svelte.d.ts +19 -0
  115. package/components/editor/DefinitionEditor.svelte +36 -0
  116. package/components/editor/DefinitionEditor.svelte.d.ts +17 -0
  117. package/components/editor/EmbedEditor.svelte +137 -0
  118. package/components/editor/EmbedEditor.svelte.d.ts +17 -0
  119. package/{src/lib/components → components}/editor/Icon.svelte +1 -2
  120. package/components/editor/Icon.svelte.d.ts +16 -0
  121. package/{src/lib/components → components}/editor/ImageChooser.svelte +19 -24
  122. package/components/editor/ImageChooser.svelte.d.ts +18 -0
  123. package/components/editor/InlineCodeEditor.svelte +12 -0
  124. package/components/editor/InlineCodeEditor.svelte.d.ts +17 -0
  125. package/{src/lib/components → components}/editor/LabelEditor.svelte +9 -14
  126. package/components/editor/LabelEditor.svelte.d.ts +17 -0
  127. package/{src/lib/components → components}/editor/LanguageEditor.svelte +5 -8
  128. package/components/editor/LanguageEditor.svelte.d.ts +17 -0
  129. package/components/editor/LinkEditor.svelte +100 -0
  130. package/components/editor/LinkEditor.svelte.d.ts +17 -0
  131. package/{src/lib/components → components}/editor/Note.svelte +0 -0
  132. package/components/editor/Note.svelte.d.ts +27 -0
  133. package/{src/lib/components → components}/editor/Permissions.svelte +36 -43
  134. package/components/editor/Permissions.svelte.d.ts +20 -0
  135. package/components/editor/PositionEditor.svelte +17 -0
  136. package/components/editor/PositionEditor.svelte.d.ts +18 -0
  137. package/components/editor/QuoteEditor.svelte +10 -0
  138. package/components/editor/QuoteEditor.svelte.d.ts +17 -0
  139. package/{src/lib/components → components}/editor/Switch.svelte +11 -14
  140. package/components/editor/Switch.svelte.d.ts +20 -0
  141. package/components/editor/TableEditor.svelte +10 -0
  142. package/components/editor/TableEditor.svelte.d.ts +17 -0
  143. package/{src/lib/components → components}/editor/TextEditor.svelte +89 -101
  144. package/components/editor/TextEditor.svelte.d.ts +24 -0
  145. package/components/editor/Toggle.svelte +41 -0
  146. package/components/editor/Toggle.svelte.d.ts +19 -0
  147. package/components/editor/Toolbar.svelte +249 -0
  148. package/components/editor/Toolbar.svelte.d.ts +17 -0
  149. package/{src/lib/components → components}/editor/ToolbarGroup.svelte +3 -5
  150. package/components/editor/ToolbarGroup.svelte.d.ts +18 -0
  151. package/{src/lib/components → components}/editor/ToolbarSpacer.svelte +0 -0
  152. package/components/editor/ToolbarSpacer.svelte.d.ts +23 -0
  153. package/components/editor/URLEditor.svelte +13 -0
  154. package/components/editor/URLEditor.svelte.d.ts +18 -0
  155. package/{src/lib/components/editor/UndoState.ts → components/editor/UndoState.d.ts} +2 -3
  156. package/components/editor/UndoState.js +1 -0
  157. package/{src/lib/components → components}/editor/icons/annotate.svg +0 -0
  158. package/{src/lib/components → components}/editor/icons/block.svg +0 -0
  159. package/{src/lib/components → components}/editor/icons/bold.svg +0 -0
  160. package/{src/lib/components → components}/editor/icons/bullets.svg +0 -0
  161. package/{src/lib/components → components}/editor/icons/callout.svg +0 -0
  162. package/{src/lib/components → components}/editor/icons/citation.svg +0 -0
  163. package/{src/lib/components → components}/editor/icons/clear.svg +0 -0
  164. package/{src/lib/components → components}/editor/icons/clipboard.svg +0 -0
  165. package/{src/lib/components → components}/editor/icons/code.svg +0 -0
  166. package/{src/lib/components → components}/editor/icons/columnafter.svg +0 -0
  167. package/{src/lib/components → components}/editor/icons/columnbefore.svg +0 -0
  168. package/{src/lib/components → components}/editor/icons/comment.svg +0 -0
  169. package/{src/lib/components → components}/editor/icons/copy.svg +0 -0
  170. package/{src/lib/components → components}/editor/icons/cut.svg +0 -0
  171. package/{src/lib/components → components}/editor/icons/define.svg +0 -0
  172. package/{src/lib/components → components}/editor/icons/deletecolumn.svg +0 -0
  173. package/{src/lib/components → components}/editor/icons/deleterow.svg +0 -0
  174. package/{src/lib/components → components}/editor/icons/footnote.svg +0 -0
  175. package/{src/lib/components → components}/editor/icons/header1.svg +0 -0
  176. package/{src/lib/components → components}/editor/icons/header2.svg +0 -0
  177. package/{src/lib/components → components}/editor/icons/header3.svg +0 -0
  178. package/{src/lib/components → components}/editor/icons/home.svg +0 -0
  179. package/{src/lib/components → components}/editor/icons/indent.svg +0 -0
  180. package/{src/lib/components → components}/editor/icons/italic.svg +0 -0
  181. package/{src/lib/components → components}/editor/icons/label.svg +0 -0
  182. package/{src/lib/components → components}/editor/icons/left.svg +0 -0
  183. package/{src/lib/components → components}/editor/icons/level.svg +0 -0
  184. package/{src/lib/components → components}/editor/icons/link.svg +0 -0
  185. package/{src/lib/components → components}/editor/icons/list.svg +0 -0
  186. package/{src/lib/components → components}/editor/icons/media.svg +0 -0
  187. package/{src/lib/components → components}/editor/icons/middle.svg +0 -0
  188. package/{src/lib/components → components}/editor/icons/numbers.svg +0 -0
  189. package/{src/lib/components → components}/editor/icons/paragraph.svg +0 -0
  190. package/{src/lib/components → components}/editor/icons/paste.svg +0 -0
  191. package/{src/lib/components → components}/editor/icons/quote.svg +0 -0
  192. package/{src/lib/components → components}/editor/icons/redo.svg +0 -0
  193. package/{src/lib/components → components}/editor/icons/right.svg +0 -0
  194. package/{src/lib/components → components}/editor/icons/rowabove.svg +0 -0
  195. package/{src/lib/components → components}/editor/icons/rowbelow.svg +0 -0
  196. package/{src/lib/components → components}/editor/icons/rule.svg +0 -0
  197. package/{src/lib/components → components}/editor/icons/sub.svg +0 -0
  198. package/{src/lib/components → components}/editor/icons/super.svg +0 -0
  199. package/{src/lib/components → components}/editor/icons/table.svg +0 -0
  200. package/{src/lib/components → components}/editor/icons/text.svg +0 -0
  201. package/{src/lib/components → components}/editor/icons/time.svg +0 -0
  202. package/{src/lib/components → components}/editor/icons/undo.svg +0 -0
  203. package/{src/lib/components → components}/editor/icons/unindent.svg +0 -0
  204. package/{src/lib/components → components}/editor/icons/unlink.svg +0 -0
  205. package/{src/lib/components → components}/page/Acknowledgements.svelte +10 -19
  206. package/components/page/Acknowledgements.svelte.d.ts +14 -0
  207. package/components/page/Authors.svelte +85 -0
  208. package/components/page/Authors.svelte.d.ts +21 -0
  209. package/components/page/BookLoader.svelte +59 -0
  210. package/components/page/BookLoader.svelte.d.ts +16 -0
  211. package/components/page/BulkReferenceEditor.svelte +63 -0
  212. package/components/page/BulkReferenceEditor.svelte.d.ts +14 -0
  213. package/components/page/Chapter.svelte +393 -0
  214. package/components/page/Chapter.svelte.d.ts +18 -0
  215. package/components/page/ChapterContext.d.ts +10 -0
  216. package/components/page/ChapterContext.js +1 -0
  217. package/{src/lib/components → components}/page/ChapterNumber.svelte +0 -0
  218. package/components/page/ChapterNumber.svelte.d.ts +27 -0
  219. package/{src/lib/components → components}/page/ChapterTitle.svelte +2 -4
  220. package/components/page/ChapterTitle.svelte.d.ts +18 -0
  221. package/components/page/Contexts.d.ts +47 -0
  222. package/components/page/Contexts.js +133 -0
  223. package/{src/lib/components → components}/page/DefinitionView.svelte +38 -53
  224. package/components/page/DefinitionView.svelte.d.ts +18 -0
  225. package/{src/lib/components → components}/page/Description.svelte +7 -15
  226. package/components/page/Description.svelte.d.ts +14 -0
  227. package/components/page/Edition.svelte +161 -0
  228. package/components/page/Edition.svelte.d.ts +20 -0
  229. package/components/page/EditionLoader.svelte +99 -0
  230. package/components/page/EditionLoader.svelte.d.ts +18 -0
  231. package/{src/lib/components → components}/page/Editions.svelte +18 -22
  232. package/components/page/Editions.svelte.d.ts +14 -0
  233. package/{src/lib/components → components}/page/Glossary.svelte +28 -33
  234. package/components/page/Glossary.svelte.d.ts +14 -0
  235. package/{src/lib/components → components}/page/Header.svelte +52 -59
  236. package/components/page/Header.svelte.d.ts +29 -0
  237. package/{src/lib/components → components}/page/Index.svelte +47 -50
  238. package/components/page/Index.svelte.d.ts +14 -0
  239. package/{src/lib/components → components}/page/Instructions.svelte +1 -2
  240. package/components/page/Instructions.svelte.d.ts +18 -0
  241. package/{src/lib/components → components}/page/License.svelte +9 -17
  242. package/components/page/License.svelte.d.ts +14 -0
  243. package/{src/lib/components → components}/page/Loading.svelte +0 -0
  244. package/components/page/Loading.svelte.d.ts +23 -0
  245. package/{src/lib/components → components}/page/Media.svelte +27 -44
  246. package/components/page/Media.svelte.d.ts +14 -0
  247. package/{src/lib/components → components}/page/MediaPreview.svelte +2 -3
  248. package/components/page/MediaPreview.svelte.d.ts +19 -0
  249. package/{src/lib/components → components}/page/Muted.svelte +0 -0
  250. package/components/page/Muted.svelte.d.ts +27 -0
  251. package/{src/lib/components → components}/page/Outline.svelte +110 -140
  252. package/components/page/Outline.svelte.d.ts +19 -0
  253. package/components/page/Page.svelte +84 -0
  254. package/components/page/Page.svelte.d.ts +19 -0
  255. package/{src/lib/components → components}/page/PageHeader.svelte +1 -2
  256. package/components/page/PageHeader.svelte.d.ts +18 -0
  257. package/{src/lib/components → components}/page/PageParagraph.svelte +0 -0
  258. package/components/page/PageParagraph.svelte.d.ts +27 -0
  259. package/components/page/PossibleChapter.svelte +14 -0
  260. package/components/page/PossibleChapter.svelte.d.ts +14 -0
  261. package/components/page/PossibleReference.svelte +11 -0
  262. package/components/page/PossibleReference.svelte.d.ts +18 -0
  263. package/{src/lib/components → components}/page/Print.svelte +3 -5
  264. package/components/page/Print.svelte.d.ts +14 -0
  265. package/{src/lib/components → components}/page/Publish.svelte +52 -59
  266. package/components/page/Publish.svelte.d.ts +14 -0
  267. package/{src/lib/components → components}/page/Reference.svelte +30 -39
  268. package/components/page/Reference.svelte.d.ts +17 -0
  269. package/{src/lib/components → components}/page/References.svelte +14 -18
  270. package/components/page/References.svelte.d.ts +14 -0
  271. package/{src/lib/components → components}/page/Rows.svelte +0 -0
  272. package/components/page/Rows.svelte.d.ts +27 -0
  273. package/components/page/Search.svelte +133 -0
  274. package/components/page/Search.svelte.d.ts +14 -0
  275. package/{src/lib/components → components}/page/Status.svelte +3 -5
  276. package/components/page/Status.svelte.d.ts +14 -0
  277. package/{src/lib/components → components}/page/SubdomainEditor.svelte +13 -16
  278. package/components/page/SubdomainEditor.svelte.d.ts +14 -0
  279. package/{src/lib/components → components}/page/TableOfContents.svelte +68 -79
  280. package/components/page/TableOfContents.svelte.d.ts +14 -0
  281. package/components/page/TableOfContentsImage.svelte +18 -0
  282. package/components/page/TableOfContentsImage.svelte.d.ts +16 -0
  283. package/{src/lib/components → components}/page/TableOfContentsRow.svelte +24 -34
  284. package/components/page/TableOfContentsRow.svelte.d.ts +24 -0
  285. package/{src/lib/components → components}/page/ThemeEditor.svelte +33 -44
  286. package/components/page/ThemeEditor.svelte.d.ts +14 -0
  287. package/{src/lib/components → components}/page/ThemeEditorPreview.svelte +12 -21
  288. package/components/page/ThemeEditorPreview.svelte.d.ts +17 -0
  289. package/components/page/ThemeSetEditor.svelte +19 -0
  290. package/components/page/ThemeSetEditor.svelte.d.ts +18 -0
  291. package/{src/lib/components → components}/page/ThemeVariableEditor.svelte +14 -18
  292. package/components/page/ThemeVariableEditor.svelte.d.ts +18 -0
  293. package/{src/lib/components → components}/page/Title.svelte +0 -0
  294. package/components/page/Title.svelte.d.ts +27 -0
  295. package/{src/lib/components → components}/page/Unknown.svelte +8 -10
  296. package/components/page/Unknown.svelte.d.ts +16 -0
  297. package/components/page/margins.d.ts +2 -0
  298. package/{src/lib/components/page/margins.ts → components/page/margins.js} +46 -79
  299. package/index.d.ts +15 -0
  300. package/{src/lib/index.js → index.js} +0 -0
  301. package/models/CRUD.d.ts +27 -0
  302. package/models/CRUD.js +262 -0
  303. package/models/Firebase.d.ts +5 -0
  304. package/{src/lib/models/Firebase.ts → models/Firebase.js} +16 -26
  305. package/models/book/Book.d.ts +61 -0
  306. package/models/book/Book.js +135 -0
  307. package/models/book/BookMedia.d.ts +23 -0
  308. package/models/book/BookMedia.js +108 -0
  309. package/models/book/BookSaveStatus.d.ts +7 -0
  310. package/models/book/BookSaveStatus.js +8 -0
  311. package/models/book/Chapter.d.ts +81 -0
  312. package/models/book/Chapter.js +212 -0
  313. package/models/book/ChapterID.d.ts +10 -0
  314. package/{src/lib/models/book/ChapterID.ts → models/book/ChapterID.js} +0 -1
  315. package/models/book/Definition.d.ts +6 -0
  316. package/models/book/Definition.js +1 -0
  317. package/models/book/Edition.d.ts +139 -0
  318. package/models/book/Edition.js +620 -0
  319. package/models/book/Reference.d.ts +24 -0
  320. package/models/book/Reference.js +78 -0
  321. package/models/book/Schema.d.ts +174 -0
  322. package/{src/lib/models/book/Schema.ts → models/book/Schema.js} +0 -1
  323. package/models/book/Theme.d.ts +113 -0
  324. package/{src/lib/models/book/Theme.ts → models/book/Theme.js} +6 -110
  325. package/{src/lib/models/book/ThemeColors.ts → models/book/ThemeColors.d.ts} +0 -6
  326. package/models/book/ThemeColors.js +1 -0
  327. package/models/book/Words.d.ts +2 -0
  328. package/{src/lib/models/book/Words.ts → models/book/Words.js} +0 -1
  329. package/models/chapter/AtomNode.d.ts +18 -0
  330. package/{src/lib/models/chapter/AtomNode.ts → models/chapter/AtomNode.js} +10 -30
  331. package/models/chapter/BlockNode.d.ts +20 -0
  332. package/{src/lib/models/chapter/BlockNode.ts → models/chapter/BlockNode.js} +47 -80
  333. package/models/chapter/BlocksNode.d.ts +50 -0
  334. package/{src/lib/models/chapter/BlocksNode.ts → models/chapter/BlocksNode.js} +359 -571
  335. package/models/chapter/BlocksNode.test.d.ts +1 -0
  336. package/models/chapter/BlocksNode.test.js +568 -0
  337. package/{src/lib/models/chapter/Bookkeeping.ts → models/chapter/Bookkeeping.d.ts} +0 -0
  338. package/models/chapter/Bookkeeping.js +1 -0
  339. package/models/chapter/CalloutNode.d.ts +17 -0
  340. package/models/chapter/CalloutNode.js +58 -0
  341. package/models/chapter/Caret.d.ts +23 -0
  342. package/{src/lib/models/chapter/Caret.ts → models/chapter/Caret.js} +26 -50
  343. package/models/chapter/ChapterNode.d.ts +34 -0
  344. package/models/chapter/ChapterNode.js +117 -0
  345. package/models/chapter/CitationsNode.d.ts +16 -0
  346. package/{src/lib/models/chapter/CitationsNode.ts → models/chapter/CitationsNode.js} +10 -17
  347. package/models/chapter/CodeNode.d.ts +35 -0
  348. package/{src/lib/models/chapter/CodeNode.ts → models/chapter/CodeNode.js} +62 -125
  349. package/models/chapter/CommentNode.d.ts +18 -0
  350. package/models/chapter/CommentNode.js +48 -0
  351. package/models/chapter/DefinitionNode.d.ts +12 -0
  352. package/{src/lib/models/chapter/DefinitionNode.ts → models/chapter/DefinitionNode.js} +8 -14
  353. package/models/chapter/Edit.d.ts +7 -0
  354. package/models/chapter/Edit.js +1 -0
  355. package/models/chapter/EmbedNode.d.ts +45 -0
  356. package/models/chapter/EmbedNode.js +168 -0
  357. package/models/chapter/ErrorNode.d.ts +17 -0
  358. package/{src/lib/models/chapter/ErrorNode.ts → models/chapter/ErrorNode.js} +8 -15
  359. package/models/chapter/FootnoteNode.d.ts +18 -0
  360. package/models/chapter/FootnoteNode.js +47 -0
  361. package/models/chapter/FormatNode.d.ts +60 -0
  362. package/{src/lib/models/chapter/FormatNode.ts → models/chapter/FormatNode.js} +262 -443
  363. package/models/chapter/FormatNode.test.d.ts +1 -0
  364. package/models/chapter/FormatNode.test.js +96 -0
  365. package/models/chapter/InlineCodeNode.d.ts +12 -0
  366. package/{src/lib/models/chapter/InlineCodeNode.ts → models/chapter/InlineCodeNode.js} +9 -17
  367. package/models/chapter/LabelNode.d.ts +17 -0
  368. package/{src/lib/models/chapter/LabelNode.ts → models/chapter/LabelNode.js} +10 -26
  369. package/models/chapter/LinkNode.d.ts +12 -0
  370. package/{src/lib/models/chapter/LinkNode.ts → models/chapter/LinkNode.js} +7 -12
  371. package/models/chapter/ListNode.d.ts +51 -0
  372. package/{src/lib/models/chapter/ListNode.ts → models/chapter/ListNode.js} +200 -277
  373. package/models/chapter/ListNode.test.d.ts +1 -0
  374. package/{src/lib/models/chapter/ListNode.test.ts → models/chapter/ListNode.test.js} +20 -57
  375. package/models/chapter/MetadataNode.d.ts +17 -0
  376. package/models/chapter/MetadataNode.js +32 -0
  377. package/models/chapter/Node.d.ts +38 -0
  378. package/{src/lib/models/chapter/Node.ts → models/chapter/Node.js} +71 -155
  379. package/models/chapter/Node.test.d.ts +1 -0
  380. package/{src/lib/models → models}/chapter/Node.test.js +0 -0
  381. package/models/chapter/ParagraphNode.d.ts +33 -0
  382. package/{src/lib/models/chapter/ParagraphNode.ts → models/chapter/ParagraphNode.js} +58 -95
  383. package/models/chapter/ParagraphNode.test.d.ts +1 -0
  384. package/models/chapter/ParagraphNode.test.js +30 -0
  385. package/models/chapter/Parser.d.ts +75 -0
  386. package/{src/lib/models/chapter/Parser.ts → models/chapter/Parser.js} +184 -369
  387. package/models/chapter/Parser.test.d.ts +1 -0
  388. package/{src/lib/models/chapter/Parser.test.ts → models/chapter/Parser.test.js} +0 -7
  389. package/{src/lib/models/chapter/Position.ts → models/chapter/Position.d.ts} +0 -0
  390. package/models/chapter/Position.js +1 -0
  391. package/models/chapter/QuoteNode.d.ts +25 -0
  392. package/models/chapter/QuoteNode.js +99 -0
  393. package/{src/lib/models/chapter/RootNode.ts → models/chapter/RootNode.d.ts} +0 -2
  394. package/models/chapter/RootNode.js +1 -0
  395. package/models/chapter/RuleNode.d.ts +15 -0
  396. package/{src/lib/models/chapter/RuleNode.ts → models/chapter/RuleNode.js} +6 -9
  397. package/models/chapter/TableNode.d.ts +37 -0
  398. package/{src/lib/models/chapter/TableNode.ts → models/chapter/TableNode.js} +82 -141
  399. package/models/chapter/TableNode.test.d.ts +1 -0
  400. package/{src/lib/models/chapter/TableNode.test.ts → models/chapter/TableNode.test.js} +10 -27
  401. package/models/chapter/TextNode.d.ts +36 -0
  402. package/{src/lib/models/chapter/TextNode.ts → models/chapter/TextNode.js} +65 -117
  403. package/models/chapter/TextNode.test.d.ts +1 -0
  404. package/{src/lib/models/chapter/TextNode.test.ts → models/chapter/TextNode.test.js} +0 -2
  405. package/package.json +270 -53
  406. package/util/getSubdomain.d.ts +3 -0
  407. package/{src/lib/util/getSubdomain.ts → util/getSubdomain.js} +8 -14
  408. package/util/isMobile.d.ts +2 -0
  409. package/{src/lib/util/isMobile.ts → util/isMobile.js} +0 -1
  410. package/util/mineReference.d.ts +4 -0
  411. package/{src/lib/util/mineReference.ts → util/mineReference.js} +25 -45
  412. package/util/scrollToEyeLevel.d.ts +2 -0
  413. package/{src/lib/util/scrollToEyeLevel.ts → util/scrollToEyeLevel.js} +2 -4
  414. package/.env.example +0 -8
  415. package/.firebaserc +0 -8
  416. package/.prettierignore +0 -8
  417. package/.prettierrc.json +0 -5
  418. package/_update-notifier-last-checked +0 -0
  419. package/firebase.json +0 -46
  420. package/firestore.indexes.json +0 -4
  421. package/firestore.rules +0 -59
  422. package/functions/.eslintrc.js +0 -28
  423. package/functions/package-lock.json +0 -12595
  424. package/functions/package.json +0 -43
  425. package/functions/src/index.ts +0 -345
  426. package/functions/tsconfig.dev.json +0 -3
  427. package/functions/tsconfig.json +0 -15
  428. package/scripts/claims.cjs +0 -99
  429. package/src/app.d.ts +0 -9
  430. package/src/app.html +0 -24
  431. package/src/lib/components/Auth.svelte +0 -65
  432. package/src/lib/components/Link.svelte +0 -58
  433. package/src/lib/components/chapter/Block.svelte +0 -42
  434. package/src/lib/components/chapter/ErrorMessage.svelte +0 -12
  435. package/src/lib/components/chapter/Python.svelte +0 -144
  436. package/src/lib/components/chapter/Text.svelte +0 -109
  437. package/src/lib/components/editor/BookishEditor.svelte +0 -1101
  438. package/src/lib/components/editor/CalloutEditor.svelte +0 -14
  439. package/src/lib/components/editor/CaretContext.ts +0 -55
  440. package/src/lib/components/editor/CitationsEditor.svelte +0 -64
  441. package/src/lib/components/editor/ConfirmButton.svelte +0 -51
  442. package/src/lib/components/editor/DefinitionEditor.svelte +0 -44
  443. package/src/lib/components/editor/EmbedEditor.svelte +0 -152
  444. package/src/lib/components/editor/InlineCodeEditor.svelte +0 -16
  445. package/src/lib/components/editor/LinkEditor.svelte +0 -110
  446. package/src/lib/components/editor/PositionEditor.svelte +0 -21
  447. package/src/lib/components/editor/QuoteEditor.svelte +0 -14
  448. package/src/lib/components/editor/TableEditor.svelte +0 -14
  449. package/src/lib/components/editor/Toggle.svelte +0 -47
  450. package/src/lib/components/editor/Toolbar.svelte +0 -297
  451. package/src/lib/components/editor/URLEditor.svelte +0 -15
  452. package/src/lib/components/page/Authors.svelte +0 -92
  453. package/src/lib/components/page/BookLoader.svelte +0 -77
  454. package/src/lib/components/page/BulkReferenceEditor.svelte +0 -86
  455. package/src/lib/components/page/Chapter.svelte +0 -449
  456. package/src/lib/components/page/ChapterContext.ts +0 -13
  457. package/src/lib/components/page/Contexts.ts +0 -176
  458. package/src/lib/components/page/Edition.svelte +0 -189
  459. package/src/lib/components/page/EditionLoader.svelte +0 -123
  460. package/src/lib/components/page/Page.svelte +0 -94
  461. package/src/lib/components/page/PossibleChapter.svelte +0 -16
  462. package/src/lib/components/page/PossibleReference.svelte +0 -14
  463. package/src/lib/components/page/Search.svelte +0 -153
  464. package/src/lib/components/page/TableOfContentsImage.svelte +0 -22
  465. package/src/lib/components/page/ThemeSetEditor.svelte +0 -21
  466. package/src/lib/models/CRUD.ts +0 -469
  467. package/src/lib/models/book/Book.ts +0 -283
  468. package/src/lib/models/book/BookMedia.ts +0 -182
  469. package/src/lib/models/book/BookSaveStatus.ts +0 -8
  470. package/src/lib/models/book/Chapter.ts +0 -462
  471. package/src/lib/models/book/Definition.ts +0 -2
  472. package/src/lib/models/book/Edition.ts +0 -1216
  473. package/src/lib/models/book/Reference.ts +0 -171
  474. package/src/lib/models/chapter/BlocksNode.test.ts +0 -867
  475. package/src/lib/models/chapter/CalloutNode.ts +0 -79
  476. package/src/lib/models/chapter/ChapterNode.ts +0 -169
  477. package/src/lib/models/chapter/CommentNode.ts +0 -61
  478. package/src/lib/models/chapter/Edit.ts +0 -6
  479. package/src/lib/models/chapter/EmbedNode.ts +0 -257
  480. package/src/lib/models/chapter/FootnoteNode.ts +0 -59
  481. package/src/lib/models/chapter/FormatNode.test.ts +0 -137
  482. package/src/lib/models/chapter/MetadataNode.ts +0 -44
  483. package/src/lib/models/chapter/ParagraphNode.test.ts +0 -54
  484. package/src/lib/models/chapter/QuoteNode.ts +0 -135
  485. package/src/params/edition.ts +0 -3
  486. package/src/routes/+error.svelte +0 -12
  487. package/src/routes/+layout.svelte +0 -241
  488. package/src/routes/+page.svelte +0 -43
  489. package/src/routes/Footer.svelte +0 -0
  490. package/src/routes/Header.svelte +0 -112
  491. package/src/routes/[bookid]/+layout.svelte +0 -5
  492. package/src/routes/[bookid]/[[editionid=edition]]/+error.svelte +0 -14
  493. package/src/routes/[bookid]/[[editionid=edition]]/+layout.svelte +0 -7
  494. package/src/routes/[bookid]/[[editionid=edition]]/+page.svelte +0 -5
  495. package/src/routes/[bookid]/[[editionid=edition]]/[chapterid]/+page.svelte +0 -5
  496. package/src/routes/[bookid]/[[editionid=edition]]/glossary/+page.svelte +0 -5
  497. package/src/routes/[bookid]/[[editionid=edition]]/index/[[letter]]/+page.svelte +0 -5
  498. package/src/routes/[bookid]/[[editionid=edition]]/media/+page.svelte +0 -5
  499. package/src/routes/[bookid]/[[editionid=edition]]/print/+page.svelte +0 -5
  500. package/src/routes/[bookid]/[[editionid=edition]]/references/+page.svelte +0 -5
  501. package/src/routes/[bookid]/[[editionid=edition]]/search/+page.svelte +0 -5
  502. package/src/routes/[bookid]/editions/+page.svelte +0 -20
  503. package/src/routes/about/+page.svelte +0 -102
  504. package/src/routes/confirm/+page.svelte +0 -62
  505. package/src/routes/email/+page.svelte +0 -99
  506. package/src/routes/login/+page.svelte +0 -66
  507. package/src/routes/read/+page.svelte +0 -38
  508. package/src/routes/write/+error.svelte +0 -10
  509. package/src/routes/write/+layout.svelte +0 -11
  510. package/src/routes/write/+page.svelte +0 -114
  511. package/src/routes/write/[bookid]/+layout.svelte +0 -5
  512. package/src/routes/write/[bookid]/[[editionid=edition]]/+layout.svelte +0 -7
  513. package/src/routes/write/[bookid]/[[editionid=edition]]/+page.svelte +0 -5
  514. package/src/routes/write/[bookid]/[[editionid=edition]]/[chapterid]/+page.svelte +0 -5
  515. package/src/routes/write/[bookid]/[[editionid=edition]]/glossary/+page.svelte +0 -5
  516. package/src/routes/write/[bookid]/[[editionid=edition]]/index/[[letter]]/+page.svelte +0 -5
  517. package/src/routes/write/[bookid]/[[editionid=edition]]/media/+page.svelte +0 -5
  518. package/src/routes/write/[bookid]/[[editionid=edition]]/print/+page.svelte +0 -5
  519. package/src/routes/write/[bookid]/[[editionid=edition]]/references/+page.svelte +0 -5
  520. package/src/routes/write/[bookid]/[[editionid=edition]]/search/+page.svelte +0 -5
  521. package/src/routes/write/[bookid]/[[editionid=edition]]/theme/+page.svelte +0 -5
  522. package/src/routes/write/[bookid]/[[editionid=edition]]/unknown/+page.svelte +0 -5
  523. package/src/routes/write/[bookid]/editions/+page.svelte +0 -20
  524. package/src/vite-env.d.ts +0 -1
  525. package/static/icons/favicon.png +0 -0
  526. package/static/icons/icon.png +0 -0
  527. package/static/icons/ios-icon.png +0 -0
  528. package/storage.rules +0 -9
  529. package/svelte.config.js +0 -19
  530. package/tsconfig.json +0 -18
  531. package/tsconfig.node.json +0 -9
  532. package/vite.config.ts +0 -8
  533. package/vite.reader.config.ts +0 -32
@@ -1,28 +1,19 @@
1
1
  <svelte:options immutable={true} />
2
2
 
3
- <script lang="ts">
4
- import type LabelNode from '$lib/models/chapter/LabelNode';
5
- import Atom from '$lib/components/chapter/Atom.svelte';
6
- import {
7
- getChapter,
8
- getEdition,
9
- isChapterEditable,
10
- } from '../page/Contexts';
11
- import Problem from './Problem.svelte';
12
-
13
- export let node: LabelNode;
14
-
15
- let editable = isChapterEditable();
16
- let chapter = getChapter();
17
- let edition = getEdition();
18
-
19
- $: ast =
20
- $edition && $chapter ? $chapter.chapter.getAST($edition) : undefined;
21
- $: duplicate =
22
- ast === undefined
23
- ? false
24
- : ast.getLabels().filter((l) => l.getMeta() === node.getMeta())
25
- .length > 1;
3
+ <script>import Atom from './Atom.svelte';
4
+ import { getChapter, getEdition, isChapterEditable, } from '../page/Contexts';
5
+ import Problem from './Problem.svelte';
6
+ export let node;
7
+ let editable = isChapterEditable();
8
+ let chapter = getChapter();
9
+ let edition = getEdition();
10
+ $: ast =
11
+ $edition && $chapter ? $chapter.chapter.getAST($edition) : undefined;
12
+ $: duplicate =
13
+ ast === undefined
14
+ ? false
15
+ : ast.getLabels().filter((l) => l.getMeta() === node.getMeta())
16
+ .length > 1;
26
17
  </script>
27
18
 
28
19
  <Atom {node}>
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type LabelNode from '../../models/chapter/LabelNode';
3
+ declare const __propDef: {
4
+ props: {
5
+ node: LabelNode;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type LabelProps = typeof __propDef.props;
13
+ export type LabelEvents = typeof __propDef.events;
14
+ export type LabelSlots = typeof __propDef.slots;
15
+ export default class Label extends SvelteComponentTyped<LabelProps, LabelEvents, LabelSlots> {
16
+ }
17
+ export {};
@@ -1,34 +1,28 @@
1
1
  <svelte:options immutable={true} />
2
2
 
3
- <script lang="ts">
4
- import type LinkNode from '$lib/models/chapter/LinkNode';
5
- import { getBase, getEdition, isChapterEditable } from '../page/Contexts';
6
- import Text from './Text.svelte';
7
- import Problem from './Problem.svelte';
8
-
9
- export let node: LinkNode;
10
-
11
- let base = getBase();
12
- let editable = isChapterEditable();
13
- let edition = getEdition();
14
-
15
- $: url = node.getMeta();
16
- $: content = node.getText();
17
-
18
- function isInvalidChapterLink() {
19
- // If it's internal, validate it.
20
- if (!url.startsWith('http')) {
21
- // Pull out any labels and just get the chapter name.
22
- let chapter = url;
23
- if (url.indexOf(':') >= 0) {
24
- let parts = chapter.split(':');
25
- chapter = parts[0];
26
- }
27
-
28
- if (chapter !== '' && !$edition?.hasChapter(chapter)) return true;
3
+ <script>import { getBase, getEdition, isChapterEditable } from '../page/Contexts';
4
+ import Text from './Text.svelte';
5
+ import Problem from './Problem.svelte';
6
+ export let node;
7
+ let base = getBase();
8
+ let editable = isChapterEditable();
9
+ let edition = getEdition();
10
+ $: url = node.getMeta();
11
+ $: content = node.getText();
12
+ function isInvalidChapterLink() {
13
+ // If it's internal, validate it.
14
+ if (!url.startsWith('http')) {
15
+ // Pull out any labels and just get the chapter name.
16
+ let chapter = url;
17
+ if (url.indexOf(':') >= 0) {
18
+ let parts = chapter.split(':');
19
+ chapter = parts[0];
29
20
  }
30
- return false;
21
+ if (chapter !== '' && !$edition?.hasChapter(chapter))
22
+ return true;
31
23
  }
24
+ return false;
25
+ }
32
26
  </script>
33
27
 
34
28
  {#if editable}
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type LinkNode from '../../models/chapter/LinkNode';
3
+ declare const __propDef: {
4
+ props: {
5
+ node: LinkNode;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type LinkProps = typeof __propDef.props;
13
+ export type LinkEvents = typeof __propDef.events;
14
+ export type LinkSlots = typeof __propDef.slots;
15
+ export default class Link extends SvelteComponentTyped<LinkProps, LinkEvents, LinkSlots> {
16
+ }
17
+ export {};
@@ -1,10 +1,8 @@
1
1
  <svelte:options immutable={true} />
2
2
 
3
- <script lang="ts">
4
- import ListNode from '$lib/models/chapter/ListNode';
5
- import Format from './Format.svelte';
6
-
7
- export let node: ListNode;
3
+ <script>import ListNode from '../../models/chapter/ListNode';
4
+ import Format from './Format.svelte';
5
+ export let node;
8
6
  </script>
9
7
 
10
8
  <svelte:element
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import ListNode from '../../models/chapter/ListNode';
3
+ declare const __propDef: {
4
+ props: {
5
+ node: ListNode;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type ListProps = typeof __propDef.props;
13
+ export type ListEvents = typeof __propDef.events;
14
+ export type ListSlots = typeof __propDef.slots;
15
+ export default class List extends SvelteComponentTyped<ListProps, ListEvents, ListSlots> {
16
+ }
17
+ export {};
@@ -1,60 +1,47 @@
1
1
  <svelte:options immutable={true} />
2
2
 
3
- <script lang="ts">
4
- import { isMobile, watchMobile } from '$lib/util/isMobile';
5
- import { onMount } from 'svelte';
6
- import type Node from '../../models/chapter/Node';
7
- import {
8
- getCaret,
9
- getChapter,
10
- isChapterEditable,
11
- } from '$lib/components/page/Contexts';
12
-
13
- export let node: Node;
14
- export let id: string;
15
- export let label: string;
16
-
17
- let hovered = false;
18
- let chapter = getChapter();
19
- $: editable = isChapterEditable();
20
- let caret = getCaret();
21
-
22
- // If there's no marginal selected or this is different from the current selection, this is hidden.
23
- $: selectedMarginal = $chapter?.marginal;
24
- $: isHidden = editable
25
- ? // If editable, it's hidden if the caret is not inside the marginal content.
26
- !(
27
- $caret?.range?.start.node === node ||
28
- $caret?.range?.start.node
29
- .getAncestors($caret.root)
30
- .some((ancestor) => ancestor === node)
31
- )
32
- : // If not editable, it's hidden if it's not selected.
33
- $selectedMarginal !== id;
34
-
35
- function toggle() {
36
- if (editable) return;
37
-
38
- if ($chapter) {
39
- if (isMobile() && isHidden) $chapter.marginal.set(id);
40
- // Otherwise, deselect.
41
- else $chapter.marginal.set(undefined);
42
- }
3
+ <script>import { isMobile, watchMobile } from '../../util/isMobile';
4
+ import { onMount } from 'svelte';
5
+ import { getCaret, getChapter, isChapterEditable, } from '../page/Contexts';
6
+ export let node;
7
+ export let id;
8
+ export let label;
9
+ let hovered = false;
10
+ let chapter = getChapter();
11
+ $: editable = isChapterEditable();
12
+ let caret = getCaret();
13
+ // If there's no marginal selected or this is different from the current selection, this is hidden.
14
+ $: selectedMarginal = $chapter?.marginal;
15
+ $: isHidden = editable
16
+ ? // If editable, it's hidden if the caret is not inside the marginal content.
17
+ !($caret?.range?.start.node === node ||
18
+ $caret?.range?.start.node
19
+ .getAncestors($caret.root)
20
+ .some((ancestor) => ancestor === node))
21
+ : // If not editable, it's hidden if it's not selected.
22
+ $selectedMarginal !== id;
23
+ function toggle() {
24
+ if (editable)
25
+ return;
26
+ if ($chapter) {
27
+ if (isMobile() && isHidden)
28
+ $chapter.marginal.set(id);
29
+ // Otherwise, deselect.
30
+ else
31
+ $chapter.marginal.set(undefined);
43
32
  }
44
-
45
- function handleEnter() {
46
- hovered = true;
47
- }
48
- function handleExit() {
49
- hovered = false;
50
- }
51
-
52
- onMount(() => {
53
- const mediaWatch = watchMobile();
54
- mediaWatch.addEventListener('change', toggle);
55
-
56
- return () => mediaWatch.removeEventListener('change', toggle);
57
- });
33
+ }
34
+ function handleEnter() {
35
+ hovered = true;
36
+ }
37
+ function handleExit() {
38
+ hovered = false;
39
+ }
40
+ onMount(() => {
41
+ const mediaWatch = watchMobile();
42
+ mediaWatch.addEventListener('change', toggle);
43
+ return () => mediaWatch.removeEventListener('change', toggle);
44
+ });
58
45
  </script>
59
46
 
60
47
  <span
@@ -0,0 +1,22 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type Node from '../../models/chapter/Node';
3
+ declare const __propDef: {
4
+ props: {
5
+ node: Node;
6
+ id: string;
7
+ label: string;
8
+ };
9
+ events: {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {
13
+ interactor: {};
14
+ content: {};
15
+ };
16
+ };
17
+ export type MarginalProps = typeof __propDef.props;
18
+ export type MarginalEvents = typeof __propDef.events;
19
+ export type MarginalSlots = typeof __propDef.slots;
20
+ export default class Marginal extends SvelteComponentTyped<MarginalProps, MarginalEvents, MarginalSlots> {
21
+ }
22
+ export {};
@@ -1,32 +1,27 @@
1
1
  <svelte:options immutable={true} />
2
2
 
3
- <script lang="ts">
4
- import type ParagraphNode from '$lib/models/chapter/ParagraphNode';
5
- import Format from './Format.svelte';
6
- import { getChapter, getEdition } from '../page/Contexts';
7
-
8
- export let node: ParagraphNode;
9
- export let placeholder: string | undefined = undefined;
10
-
11
- $: level = node.getLevel();
12
- $: chapter = getChapter();
13
- $: edition = getEdition();
14
-
15
- $: id =
16
- node.getLevel() === 0 ||
3
+ <script>import Format from './Format.svelte';
4
+ import { getChapter, getEdition } from '../page/Contexts';
5
+ export let node;
6
+ export let placeholder = undefined;
7
+ $: level = node.getLevel();
8
+ $: chapter = getChapter();
9
+ $: edition = getEdition();
10
+ $: id =
11
+ node.getLevel() === 0 ||
17
12
  $chapter === undefined ||
18
13
  $edition === undefined
19
- ? undefined
20
- : 'header-' +
21
- ($chapter.chapter.getAST($edition)?.getHeaders().indexOf(node) ??
22
- '');
23
- $: classes =
24
- node.getLevel() === 0
25
- ? undefined
26
- : 'page-header' +
27
- ($chapter && $chapter.highlightedID === id
28
- ? ' bookish-content-highlight'
29
- : '');
14
+ ? undefined
15
+ : 'header-' +
16
+ ($chapter.chapter.getAST($edition)?.getHeaders().indexOf(node) ??
17
+ '');
18
+ $: classes =
19
+ node.getLevel() === 0
20
+ ? undefined
21
+ : 'page-header' +
22
+ ($chapter && $chapter.highlightedID === id
23
+ ? ' bookish-content-highlight'
24
+ : '');
30
25
  </script>
31
26
 
32
27
  {#if level === 0}
@@ -0,0 +1,18 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type ParagraphNode from '../../models/chapter/ParagraphNode';
3
+ declare const __propDef: {
4
+ props: {
5
+ node: ParagraphNode;
6
+ placeholder?: string | undefined;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {};
12
+ };
13
+ export type ParagraphProps = typeof __propDef.props;
14
+ export type ParagraphEvents = typeof __propDef.events;
15
+ export type ParagraphSlots = typeof __propDef.slots;
16
+ export default class Paragraph extends SvelteComponentTyped<ParagraphProps, ParagraphEvents, ParagraphSlots> {
17
+ }
18
+ export {};
@@ -1,9 +1,6 @@
1
1
  <svelte:options immutable={true} />
2
2
 
3
- <script lang="ts">
4
- import type Position from '$lib/models/chapter/Position';
5
-
6
- export let position: Position;
3
+ <script>export let position;
7
4
  </script>
8
5
 
9
6
  <div
@@ -0,0 +1,19 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type Position from '../../models/chapter/Position';
3
+ declare const __propDef: {
4
+ props: {
5
+ position: Position;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {
11
+ default: {};
12
+ };
13
+ };
14
+ export type PositionedProps = typeof __propDef.props;
15
+ export type PositionedEvents = typeof __propDef.events;
16
+ export type PositionedSlots = typeof __propDef.slots;
17
+ export default class Positioned extends SvelteComponentTyped<PositionedProps, PositionedEvents, PositionedSlots> {
18
+ }
19
+ export {};
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} ProblemProps */
2
+ /** @typedef {typeof __propDef.events} ProblemEvents */
3
+ /** @typedef {typeof __propDef.slots} ProblemSlots */
4
+ export default class Problem extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {
9
+ default: {};
10
+ }> {
11
+ }
12
+ export type ProblemProps = typeof __propDef.props;
13
+ export type ProblemEvents = typeof __propDef.events;
14
+ export type ProblemSlots = 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 {};
@@ -0,0 +1,128 @@
1
+ <script context="module">"use strict";
2
+ </script>
3
+
4
+ <script>import { afterUpdate, onMount } from 'svelte';
5
+ import Code from './Code.svelte';
6
+ export let node;
7
+ export let startCode;
8
+ // Start with whatever code was passed in.
9
+ let code = startCode;
10
+ // What is currently rendered to the console (not always program output).
11
+ let output = '';
12
+ // Whether the runtime is loaded. Initialized based on presence of global.
13
+ let loaded = skulptLoaded();
14
+ let ref = null;
15
+ onMount(() => {
16
+ // Dynamically load the script to minimize payload and reduce index complexity.
17
+ if (document.getElementById('skulpt') === null) {
18
+ let script = document.createElement('script');
19
+ script.type = 'text/javascript';
20
+ script.async = true;
21
+ script.id = 'skulpt';
22
+ script.onload = () => (loaded = true);
23
+ script.src =
24
+ 'https://cdn.jsdelivr.net/combine/npm/skulpt@1.2.0/dist/skulpt.min.js,npm/skulpt@1.2.0/dist/skulpt-stdlib.min.js';
25
+ document.getElementsByTagName('head')[0].appendChild(script);
26
+ }
27
+ });
28
+ // Always scroll to the bottom of the output.
29
+ afterUpdate(() => {
30
+ if (ref) {
31
+ let outputView = ref.querySelector('.bookish-python-output');
32
+ if (outputView)
33
+ outputView.scrollTop = outputView.scrollHeight;
34
+ }
35
+ });
36
+ function skulptLoaded() {
37
+ return window.hasOwnProperty('Sk');
38
+ }
39
+ function reset() {
40
+ code = startCode;
41
+ }
42
+ function handleEdit(newCode) {
43
+ code = newCode;
44
+ }
45
+ function handleOutput(out) {
46
+ // Update the state to re-render.
47
+ output += out;
48
+ }
49
+ function start() {
50
+ if (skulptLoaded()) {
51
+ // Communicate that executing is starting, wait a second, then execute the program.
52
+ // This is important in case the user wants to run it again; it provides confirmation that it was run again.
53
+ output = 'Executing...';
54
+ setTimeout(() => execute(), 500);
55
+ }
56
+ }
57
+ function execute() {
58
+ // Reset the output, run the code, and update it's output.
59
+ output = '';
60
+ if (Sk) {
61
+ Sk.configure({ output: handleOutput });
62
+ try {
63
+ if (Sk)
64
+ Sk.importMainWithBody('<stdin>', false, code, true);
65
+ }
66
+ catch (error) {
67
+ handleOutput(error);
68
+ }
69
+ }
70
+ }
71
+ $: lines = output.split('\n');
72
+ </script>
73
+
74
+ <div class="bookish-python" bind:this={ref}>
75
+ <Code
76
+ inline={false}
77
+ language={'python'}
78
+ editable
79
+ edited={handleEdit}
80
+ nodeID={node.nodeID}>{code}</Code
81
+ >
82
+ <div class="bookish-python-controls">
83
+ <button disabled={startCode === code} on:click={reset}
84
+ >{'\u21BB'}</button
85
+ >
86
+ <button disabled={!loaded} on:click={start}>{'\u25B6\uFE0E'}</button>
87
+ <div class="bookish-python-output">
88
+ {#each lines as line, index}
89
+ <span class="python-output-line"
90
+ >{line}{#if index < lines.length - 1}<br />{/if}</span
91
+ >
92
+ {/each}
93
+ </div>
94
+ </div>
95
+ </div>
96
+
97
+ <style>
98
+ .bookish-python-controls {
99
+ display: flex;
100
+ flex-direction: row;
101
+ align-items: stretch;
102
+ width: 100%;
103
+ }
104
+
105
+ .bookish-python button {
106
+ background: var(--bookish-block-background-color);
107
+ border: 1px solid var(--bookish-border-color-light);
108
+ width: 3em;
109
+ height: 3rem;
110
+ padding: 0;
111
+ display: inline-block;
112
+ vertical-align: top;
113
+ }
114
+
115
+ .bookish-python .bookish-python-output {
116
+ flex: 1;
117
+ border: 1px solid lightGray;
118
+ padding: 0.5rem;
119
+ height: 3rem;
120
+ overflow-y: scroll;
121
+ display: inline-block;
122
+ vertical-align: top;
123
+ color: var(--bookish-paragraph-color);
124
+ font-family: var(--bookish-code-font-family);
125
+ font-weight: var(--bookish-code-font-weight);
126
+ font-size: var(--bookish-block-font-size);
127
+ }
128
+ </style>
@@ -0,0 +1,18 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type CodeNode from '../../models/chapter/CodeNode';
3
+ declare const __propDef: {
4
+ props: {
5
+ node: CodeNode;
6
+ startCode: string;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {};
12
+ };
13
+ export type PythonProps = typeof __propDef.props;
14
+ export type PythonEvents = typeof __propDef.events;
15
+ export type PythonSlots = typeof __propDef.slots;
16
+ export default class Python extends SvelteComponentTyped<PythonProps, PythonEvents, PythonSlots> {
17
+ }
18
+ export {};
@@ -1,19 +1,15 @@
1
1
  <svelte:options immutable={true} />
2
2
 
3
- <script lang="ts">
4
- import type QuoteNode from '$lib/models/chapter/QuoteNode';
5
- import Block from './Block.svelte';
6
- import Format from './Format.svelte';
7
- import Positioned from './Positioned.svelte';
8
-
9
- export let node: QuoteNode;
10
-
11
- $: credit = node.getCredit();
3
+ <script>import Block from './Block.svelte';
4
+ import Format from './Format.svelte';
5
+ import Positioned from './Positioned.svelte';
6
+ export let node;
7
+ $: credit = node.getCredit();
12
8
  </script>
13
9
 
14
10
  <Positioned position={node.getPosition()}>
15
11
  <figure>
16
- <blockquote class={'quote'} data-nodeid={node.nodeID}>
12
+ <blockquote class="quote" data-nodeid={node.nodeID}>
17
13
  {#each node.getBlocks() as element (element.nodeID)}
18
14
  <Block node={element} />
19
15
  {/each}
@@ -27,6 +23,14 @@
27
23
  </Positioned>
28
24
 
29
25
  <style>
26
+ figure {
27
+ margin: 0;
28
+ margin-block-start: 0;
29
+ margin-block-end: 0;
30
+ margin-inline-start: 0;
31
+ margin-inline-end: 0;
32
+ }
33
+
30
34
  .quote {
31
35
  clear: both;
32
36
  border: none;
@@ -57,13 +61,15 @@
57
61
  .quote:before {
58
62
  content: '\201C';
59
63
  position: relative;
60
- top: 80pt;
61
- left: -40pt;
62
- font-family: 'Modum Extra';
64
+ top: 0;
65
+ left: -0.5em em;
66
+ height: 0.3em;
67
+ font-family: var(--bookish-header-font-family);
63
68
  font-size: 120pt;
64
69
  font-weight: bold;
65
70
  color: var(--bookish-highlight-color);
66
71
  z-index: -1;
72
+ display: block;
67
73
  }
68
74
 
69
75
  .caption:not(.empty):before {
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type QuoteNode from '../../models/chapter/QuoteNode';
3
+ declare const __propDef: {
4
+ props: {
5
+ node: QuoteNode;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type QuoteProps = typeof __propDef.props;
13
+ export type QuoteEvents = typeof __propDef.events;
14
+ export type QuoteSlots = typeof __propDef.slots;
15
+ export default class Quote extends SvelteComponentTyped<QuoteProps, QuoteEvents, QuoteSlots> {
16
+ }
17
+ export {};