bookish-press 0.4.46 → 0.4.47

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/.env.example +8 -0
  2. package/.firebaserc +8 -0
  3. package/.prettierignore +8 -0
  4. package/.prettierrc.json +5 -0
  5. package/_update-notifier-last-checked +0 -0
  6. package/firebase.json +46 -0
  7. package/firestore.indexes.json +4 -0
  8. package/firestore.rules +59 -0
  9. package/functions/.eslintrc.js +28 -0
  10. package/functions/package-lock.json +12595 -0
  11. package/functions/package.json +43 -0
  12. package/functions/src/index.ts +345 -0
  13. package/functions/tsconfig.dev.json +3 -0
  14. package/functions/tsconfig.json +15 -0
  15. package/package.json +53 -270
  16. package/scripts/claims.cjs +99 -0
  17. package/src/app.d.ts +9 -0
  18. package/src/app.html +24 -0
  19. package/src/lib/components/Auth.svelte +65 -0
  20. package/{components/Authentication.d.ts → src/lib/components/Authentication.ts} +2 -0
  21. package/{components → src/lib/components}/BookPreview.svelte +27 -22
  22. package/{components → src/lib/components}/External.svelte +2 -1
  23. package/src/lib/components/Link.svelte +58 -0
  24. package/{components → src/lib/components}/app/BookList.svelte +6 -3
  25. package/{components → src/lib/components}/app/Button.svelte +5 -4
  26. package/{components → src/lib/components}/app/Feedback.svelte +11 -7
  27. package/{components → src/lib/components}/app/Head.svelte +2 -1
  28. package/{components → src/lib/components}/app/Large.svelte +0 -0
  29. package/{components → src/lib/components}/app/Lead.svelte +0 -0
  30. package/{components → src/lib/components}/app/Link.svelte +4 -3
  31. package/{components → src/lib/components}/app/Options.svelte +5 -4
  32. package/{components → src/lib/components}/app/Paragraph.svelte +2 -1
  33. package/{components → src/lib/components}/app/Section.svelte +0 -0
  34. package/{components → src/lib/components}/app/Table.svelte +0 -0
  35. package/{components → src/lib/components}/app/TextInput.svelte +12 -9
  36. package/{components → src/lib/components}/chapter/Atom.svelte +18 -12
  37. package/src/lib/components/chapter/Block.svelte +42 -0
  38. package/{components → src/lib/components}/chapter/Callout.svelte +6 -3
  39. package/{components → src/lib/components}/chapter/CaptionedCode.svelte +21 -13
  40. package/{components → src/lib/components}/chapter/ChapterBody.svelte +13 -9
  41. package/{components → src/lib/components}/chapter/Citations.svelte +34 -33
  42. package/{components → src/lib/components}/chapter/Code.svelte +63 -59
  43. package/{components → src/lib/components}/chapter/Comment.svelte +30 -18
  44. package/{components → src/lib/components}/chapter/Definition.svelte +23 -17
  45. package/{components → src/lib/components}/chapter/Embed.svelte +97 -77
  46. package/src/lib/components/chapter/ErrorMessage.svelte +12 -0
  47. package/{components → src/lib/components}/chapter/ExtendedPrism.js +0 -0
  48. package/{components → src/lib/components}/chapter/Figure.svelte +34 -26
  49. package/{components → src/lib/components}/chapter/Footnote.svelte +32 -20
  50. package/{components → src/lib/components}/chapter/Format.svelte +39 -34
  51. package/{components → src/lib/components}/chapter/InlineCode.svelte +9 -5
  52. package/{components → src/lib/components}/chapter/Label.svelte +23 -14
  53. package/{components → src/lib/components}/chapter/Link.svelte +27 -21
  54. package/{components → src/lib/components}/chapter/List.svelte +5 -3
  55. package/{components → src/lib/components}/chapter/Marginal.svelte +54 -41
  56. package/{components → src/lib/components}/chapter/Paragraph.svelte +25 -20
  57. package/{components → src/lib/components}/chapter/Positioned.svelte +4 -1
  58. package/{components → src/lib/components}/chapter/Problem.svelte +0 -0
  59. package/src/lib/components/chapter/Python.svelte +144 -0
  60. package/{components → src/lib/components}/chapter/Quote.svelte +9 -5
  61. package/{components → src/lib/components}/chapter/Rule.svelte +4 -1
  62. package/{components → src/lib/components}/chapter/Table.svelte +11 -7
  63. package/src/lib/components/chapter/Text.svelte +109 -0
  64. package/src/lib/components/editor/BookishEditor.svelte +1101 -0
  65. package/src/lib/components/editor/CalloutEditor.svelte +14 -0
  66. package/{components → src/lib/components}/editor/CaptionedCodeEditor.svelte +10 -6
  67. package/src/lib/components/editor/CaretContext.ts +55 -0
  68. package/{components/editor/CaretState.d.ts → src/lib/components/editor/CaretState.ts} +6 -7
  69. package/{components/editor/CaretUtilities.d.ts → src/lib/components/editor/CaretUtilities.ts} +1 -0
  70. package/{components → src/lib/components}/editor/CaretView.svelte +25 -20
  71. package/src/lib/components/editor/CitationsEditor.svelte +64 -0
  72. package/{components/editor/Clipboard.d.ts → src/lib/components/editor/Clipboard.ts} +2 -1
  73. package/{components/editor/Command.d.ts → src/lib/components/editor/Command.ts} +8 -2
  74. package/{components/editor/Commands.js → src/lib/components/editor/Commands.ts} +730 -315
  75. package/src/lib/components/editor/ConfirmButton.svelte +51 -0
  76. package/src/lib/components/editor/DefinitionEditor.svelte +44 -0
  77. package/src/lib/components/editor/EmbedEditor.svelte +152 -0
  78. package/{components → src/lib/components}/editor/Icon.svelte +2 -1
  79. package/{components → src/lib/components}/editor/ImageChooser.svelte +24 -19
  80. package/src/lib/components/editor/InlineCodeEditor.svelte +16 -0
  81. package/{components → src/lib/components}/editor/LabelEditor.svelte +14 -9
  82. package/{components → src/lib/components}/editor/LanguageEditor.svelte +8 -5
  83. package/src/lib/components/editor/LinkEditor.svelte +110 -0
  84. package/{components → src/lib/components}/editor/Note.svelte +0 -0
  85. package/{components → src/lib/components}/editor/Permissions.svelte +43 -36
  86. package/src/lib/components/editor/PositionEditor.svelte +21 -0
  87. package/src/lib/components/editor/QuoteEditor.svelte +14 -0
  88. package/{components → src/lib/components}/editor/Switch.svelte +14 -11
  89. package/src/lib/components/editor/TableEditor.svelte +14 -0
  90. package/{components → src/lib/components}/editor/TextEditor.svelte +101 -89
  91. package/src/lib/components/editor/Toggle.svelte +47 -0
  92. package/src/lib/components/editor/Toolbar.svelte +297 -0
  93. package/{components → src/lib/components}/editor/ToolbarGroup.svelte +5 -3
  94. package/{components → src/lib/components}/editor/ToolbarSpacer.svelte +0 -0
  95. package/src/lib/components/editor/URLEditor.svelte +15 -0
  96. package/{components/editor/UndoState.d.ts → src/lib/components/editor/UndoState.ts} +3 -2
  97. package/{components → src/lib/components}/editor/icons/annotate.svg +0 -0
  98. package/{components → src/lib/components}/editor/icons/block.svg +0 -0
  99. package/{components → src/lib/components}/editor/icons/bold.svg +0 -0
  100. package/{components → src/lib/components}/editor/icons/bullets.svg +0 -0
  101. package/{components → src/lib/components}/editor/icons/callout.svg +0 -0
  102. package/{components → src/lib/components}/editor/icons/citation.svg +0 -0
  103. package/{components → src/lib/components}/editor/icons/clear.svg +0 -0
  104. package/{components → src/lib/components}/editor/icons/clipboard.svg +0 -0
  105. package/{components → src/lib/components}/editor/icons/code.svg +0 -0
  106. package/{components → src/lib/components}/editor/icons/columnafter.svg +0 -0
  107. package/{components → src/lib/components}/editor/icons/columnbefore.svg +0 -0
  108. package/{components → src/lib/components}/editor/icons/comment.svg +0 -0
  109. package/{components → src/lib/components}/editor/icons/copy.svg +0 -0
  110. package/{components → src/lib/components}/editor/icons/cut.svg +0 -0
  111. package/{components → src/lib/components}/editor/icons/define.svg +0 -0
  112. package/{components → src/lib/components}/editor/icons/deletecolumn.svg +0 -0
  113. package/{components → src/lib/components}/editor/icons/deleterow.svg +0 -0
  114. package/{components → src/lib/components}/editor/icons/footnote.svg +0 -0
  115. package/{components → src/lib/components}/editor/icons/header1.svg +0 -0
  116. package/{components → src/lib/components}/editor/icons/header2.svg +0 -0
  117. package/{components → src/lib/components}/editor/icons/header3.svg +0 -0
  118. package/{components → src/lib/components}/editor/icons/home.svg +0 -0
  119. package/{components → src/lib/components}/editor/icons/indent.svg +0 -0
  120. package/{components → src/lib/components}/editor/icons/italic.svg +0 -0
  121. package/{components → src/lib/components}/editor/icons/label.svg +0 -0
  122. package/{components → src/lib/components}/editor/icons/left.svg +0 -0
  123. package/{components → src/lib/components}/editor/icons/level.svg +0 -0
  124. package/{components → src/lib/components}/editor/icons/link.svg +0 -0
  125. package/{components → src/lib/components}/editor/icons/list.svg +0 -0
  126. package/{components → src/lib/components}/editor/icons/media.svg +0 -0
  127. package/{components → src/lib/components}/editor/icons/middle.svg +0 -0
  128. package/{components → src/lib/components}/editor/icons/numbers.svg +0 -0
  129. package/{components → src/lib/components}/editor/icons/paragraph.svg +0 -0
  130. package/{components → src/lib/components}/editor/icons/paste.svg +0 -0
  131. package/{components → src/lib/components}/editor/icons/quote.svg +0 -0
  132. package/{components → src/lib/components}/editor/icons/redo.svg +0 -0
  133. package/{components → src/lib/components}/editor/icons/right.svg +0 -0
  134. package/{components → src/lib/components}/editor/icons/rowabove.svg +0 -0
  135. package/{components → src/lib/components}/editor/icons/rowbelow.svg +0 -0
  136. package/{components → src/lib/components}/editor/icons/rule.svg +0 -0
  137. package/{components → src/lib/components}/editor/icons/sub.svg +0 -0
  138. package/{components → src/lib/components}/editor/icons/super.svg +0 -0
  139. package/{components → src/lib/components}/editor/icons/table.svg +0 -0
  140. package/{components → src/lib/components}/editor/icons/text.svg +0 -0
  141. package/{components → src/lib/components}/editor/icons/time.svg +0 -0
  142. package/{components → src/lib/components}/editor/icons/undo.svg +0 -0
  143. package/{components → src/lib/components}/editor/icons/unindent.svg +0 -0
  144. package/{components → src/lib/components}/editor/icons/unlink.svg +0 -0
  145. package/{components → src/lib/components}/page/Acknowledgements.svelte +19 -10
  146. package/src/lib/components/page/Authors.svelte +92 -0
  147. package/src/lib/components/page/BookLoader.svelte +77 -0
  148. package/src/lib/components/page/BulkReferenceEditor.svelte +86 -0
  149. package/src/lib/components/page/Chapter.svelte +449 -0
  150. package/src/lib/components/page/ChapterContext.ts +13 -0
  151. package/{components → src/lib/components}/page/ChapterNumber.svelte +0 -0
  152. package/{components → src/lib/components}/page/ChapterTitle.svelte +4 -2
  153. package/src/lib/components/page/Contexts.ts +176 -0
  154. package/{components → src/lib/components}/page/DefinitionView.svelte +52 -37
  155. package/{components → src/lib/components}/page/Description.svelte +15 -7
  156. package/src/lib/components/page/Edition.svelte +189 -0
  157. package/src/lib/components/page/EditionLoader.svelte +123 -0
  158. package/{components → src/lib/components}/page/Editions.svelte +22 -18
  159. package/{components → src/lib/components}/page/Glossary.svelte +33 -28
  160. package/{components → src/lib/components}/page/Header.svelte +59 -52
  161. package/{components → src/lib/components}/page/Index.svelte +48 -41
  162. package/{components → src/lib/components}/page/Instructions.svelte +2 -1
  163. package/{components → src/lib/components}/page/License.svelte +17 -9
  164. package/{components → src/lib/components}/page/Loading.svelte +0 -0
  165. package/{components → src/lib/components}/page/Media.svelte +44 -27
  166. package/{components → src/lib/components}/page/MediaPreview.svelte +3 -2
  167. package/{components → src/lib/components}/page/Muted.svelte +0 -0
  168. package/{components → src/lib/components}/page/Outline.svelte +140 -110
  169. package/src/lib/components/page/Page.svelte +94 -0
  170. package/{components → src/lib/components}/page/PageHeader.svelte +2 -1
  171. package/{components → src/lib/components}/page/PageParagraph.svelte +0 -0
  172. package/src/lib/components/page/PossibleChapter.svelte +16 -0
  173. package/src/lib/components/page/PossibleReference.svelte +14 -0
  174. package/{components → src/lib/components}/page/Print.svelte +5 -3
  175. package/{components → src/lib/components}/page/Publish.svelte +59 -52
  176. package/{components → src/lib/components}/page/Reference.svelte +39 -30
  177. package/{components → src/lib/components}/page/References.svelte +18 -14
  178. package/{components → src/lib/components}/page/Rows.svelte +0 -0
  179. package/src/lib/components/page/Search.svelte +153 -0
  180. package/{components → src/lib/components}/page/Status.svelte +5 -3
  181. package/{components → src/lib/components}/page/SubdomainEditor.svelte +16 -13
  182. package/{components → src/lib/components}/page/TableOfContents.svelte +79 -68
  183. package/src/lib/components/page/TableOfContentsImage.svelte +22 -0
  184. package/{components → src/lib/components}/page/TableOfContentsRow.svelte +34 -24
  185. package/{components → src/lib/components}/page/ThemeEditor.svelte +44 -33
  186. package/{components → src/lib/components}/page/ThemeEditorPreview.svelte +21 -12
  187. package/src/lib/components/page/ThemeSetEditor.svelte +21 -0
  188. package/{components → src/lib/components}/page/ThemeVariableEditor.svelte +18 -14
  189. package/{components → src/lib/components}/page/Title.svelte +0 -0
  190. package/{components → src/lib/components}/page/Unknown.svelte +10 -8
  191. package/{components/page/margins.js → src/lib/components/page/margins.ts} +79 -46
  192. package/{index.js → src/lib/index.js} +0 -0
  193. package/src/lib/models/CRUD.ts +469 -0
  194. package/{models/Firebase.js → src/lib/models/Firebase.ts} +26 -16
  195. package/src/lib/models/book/Book.ts +283 -0
  196. package/src/lib/models/book/BookMedia.ts +182 -0
  197. package/src/lib/models/book/BookSaveStatus.ts +8 -0
  198. package/src/lib/models/book/Chapter.ts +462 -0
  199. package/{models/book/ChapterID.js → src/lib/models/book/ChapterID.ts} +1 -0
  200. package/src/lib/models/book/Definition.ts +2 -0
  201. package/src/lib/models/book/Edition.ts +1216 -0
  202. package/src/lib/models/book/Reference.ts +171 -0
  203. package/{models/book/Schema.js → src/lib/models/book/Schema.ts} +1 -0
  204. package/{models/book/Theme.js → src/lib/models/book/Theme.ts} +110 -6
  205. package/{models/book/ThemeColors.d.ts → src/lib/models/book/ThemeColors.ts} +6 -0
  206. package/{models/book/Words.js → src/lib/models/book/Words.ts} +1 -0
  207. package/{models/chapter/AtomNode.js → src/lib/models/chapter/AtomNode.ts} +30 -10
  208. package/{models/chapter/BlockNode.js → src/lib/models/chapter/BlockNode.ts} +80 -47
  209. package/src/lib/models/chapter/BlocksNode.test.ts +867 -0
  210. package/{models/chapter/BlocksNode.js → src/lib/models/chapter/BlocksNode.ts} +571 -359
  211. package/{models/chapter/Bookkeeping.d.ts → src/lib/models/chapter/Bookkeeping.ts} +0 -0
  212. package/src/lib/models/chapter/CalloutNode.ts +79 -0
  213. package/{models/chapter/Caret.js → src/lib/models/chapter/Caret.ts} +50 -26
  214. package/src/lib/models/chapter/ChapterNode.ts +169 -0
  215. package/{models/chapter/CitationsNode.js → src/lib/models/chapter/CitationsNode.ts} +17 -10
  216. package/{models/chapter/CodeNode.js → src/lib/models/chapter/CodeNode.ts} +125 -62
  217. package/src/lib/models/chapter/CommentNode.ts +61 -0
  218. package/{models/chapter/DefinitionNode.js → src/lib/models/chapter/DefinitionNode.ts} +14 -8
  219. package/src/lib/models/chapter/Edit.ts +6 -0
  220. package/src/lib/models/chapter/EmbedNode.ts +257 -0
  221. package/{models/chapter/ErrorNode.js → src/lib/models/chapter/ErrorNode.ts} +15 -8
  222. package/src/lib/models/chapter/FootnoteNode.ts +59 -0
  223. package/src/lib/models/chapter/FormatNode.test.ts +137 -0
  224. package/{models/chapter/FormatNode.js → src/lib/models/chapter/FormatNode.ts} +443 -262
  225. package/{models/chapter/InlineCodeNode.js → src/lib/models/chapter/InlineCodeNode.ts} +17 -9
  226. package/{models/chapter/LabelNode.js → src/lib/models/chapter/LabelNode.ts} +26 -10
  227. package/{models/chapter/LinkNode.js → src/lib/models/chapter/LinkNode.ts} +12 -7
  228. package/{models/chapter/ListNode.test.js → src/lib/models/chapter/ListNode.test.ts} +57 -20
  229. package/{models/chapter/ListNode.js → src/lib/models/chapter/ListNode.ts} +277 -200
  230. package/src/lib/models/chapter/MetadataNode.ts +44 -0
  231. package/{models → src/lib/models}/chapter/Node.test.js +0 -0
  232. package/{models/chapter/Node.js → src/lib/models/chapter/Node.ts} +155 -71
  233. package/src/lib/models/chapter/ParagraphNode.test.ts +54 -0
  234. package/{models/chapter/ParagraphNode.js → src/lib/models/chapter/ParagraphNode.ts} +95 -58
  235. package/{models/chapter/Parser.test.js → src/lib/models/chapter/Parser.test.ts} +7 -0
  236. package/{models/chapter/Parser.js → src/lib/models/chapter/Parser.ts} +369 -184
  237. package/{models/chapter/Position.d.ts → src/lib/models/chapter/Position.ts} +0 -0
  238. package/src/lib/models/chapter/QuoteNode.ts +135 -0
  239. package/{models/chapter/RootNode.d.ts → src/lib/models/chapter/RootNode.ts} +2 -0
  240. package/{models/chapter/RuleNode.js → src/lib/models/chapter/RuleNode.ts} +9 -6
  241. package/{models/chapter/TableNode.test.js → src/lib/models/chapter/TableNode.test.ts} +27 -10
  242. package/{models/chapter/TableNode.js → src/lib/models/chapter/TableNode.ts} +141 -82
  243. package/{models/chapter/TextNode.test.js → src/lib/models/chapter/TextNode.test.ts} +2 -0
  244. package/{models/chapter/TextNode.js → src/lib/models/chapter/TextNode.ts} +117 -65
  245. package/{util/getSubdomain.js → src/lib/util/getSubdomain.ts} +14 -8
  246. package/{util/isMobile.js → src/lib/util/isMobile.ts} +1 -0
  247. package/{util/mineReference.js → src/lib/util/mineReference.ts} +45 -25
  248. package/{util/scrollToEyeLevel.js → src/lib/util/scrollToEyeLevel.ts} +4 -2
  249. package/src/params/edition.ts +3 -0
  250. package/src/routes/+error.svelte +12 -0
  251. package/src/routes/+layout.svelte +241 -0
  252. package/src/routes/+page.svelte +43 -0
  253. package/src/routes/Footer.svelte +0 -0
  254. package/src/routes/Header.svelte +112 -0
  255. package/src/routes/[bookid]/+layout.svelte +5 -0
  256. package/src/routes/[bookid]/[[editionid=edition]]/+error.svelte +14 -0
  257. package/src/routes/[bookid]/[[editionid=edition]]/+layout.svelte +7 -0
  258. package/src/routes/[bookid]/[[editionid=edition]]/+page.svelte +5 -0
  259. package/src/routes/[bookid]/[[editionid=edition]]/[chapterid]/+page.svelte +5 -0
  260. package/src/routes/[bookid]/[[editionid=edition]]/glossary/+page.svelte +5 -0
  261. package/src/routes/[bookid]/[[editionid=edition]]/index/[[letter]]/+page.svelte +5 -0
  262. package/src/routes/[bookid]/[[editionid=edition]]/media/+page.svelte +5 -0
  263. package/src/routes/[bookid]/[[editionid=edition]]/print/+page.svelte +5 -0
  264. package/src/routes/[bookid]/[[editionid=edition]]/references/+page.svelte +5 -0
  265. package/src/routes/[bookid]/[[editionid=edition]]/search/+page.svelte +5 -0
  266. package/src/routes/[bookid]/editions/+page.svelte +20 -0
  267. package/src/routes/about/+page.svelte +102 -0
  268. package/src/routes/confirm/+page.svelte +62 -0
  269. package/src/routes/email/+page.svelte +99 -0
  270. package/src/routes/login/+page.svelte +66 -0
  271. package/src/routes/read/+page.svelte +38 -0
  272. package/src/routes/write/+error.svelte +10 -0
  273. package/src/routes/write/+layout.svelte +11 -0
  274. package/src/routes/write/+page.svelte +114 -0
  275. package/src/routes/write/[bookid]/+layout.svelte +5 -0
  276. package/src/routes/write/[bookid]/[[editionid=edition]]/+layout.svelte +7 -0
  277. package/src/routes/write/[bookid]/[[editionid=edition]]/+page.svelte +5 -0
  278. package/src/routes/write/[bookid]/[[editionid=edition]]/[chapterid]/+page.svelte +5 -0
  279. package/src/routes/write/[bookid]/[[editionid=edition]]/glossary/+page.svelte +5 -0
  280. package/src/routes/write/[bookid]/[[editionid=edition]]/index/[[letter]]/+page.svelte +5 -0
  281. package/src/routes/write/[bookid]/[[editionid=edition]]/media/+page.svelte +5 -0
  282. package/src/routes/write/[bookid]/[[editionid=edition]]/print/+page.svelte +5 -0
  283. package/src/routes/write/[bookid]/[[editionid=edition]]/references/+page.svelte +5 -0
  284. package/src/routes/write/[bookid]/[[editionid=edition]]/search/+page.svelte +5 -0
  285. package/src/routes/write/[bookid]/[[editionid=edition]]/theme/+page.svelte +5 -0
  286. package/src/routes/write/[bookid]/[[editionid=edition]]/unknown/+page.svelte +5 -0
  287. package/src/routes/write/[bookid]/editions/+page.svelte +20 -0
  288. package/src/vite-env.d.ts +1 -0
  289. package/static/icons/favicon.png +0 -0
  290. package/static/icons/icon.png +0 -0
  291. package/static/icons/ios-icon.png +0 -0
  292. package/storage.rules +9 -0
  293. package/svelte.config.js +19 -0
  294. package/tsconfig.json +18 -0
  295. package/tsconfig.node.json +9 -0
  296. package/vite.config.ts +8 -0
  297. package/vite.reader.config.ts +32 -0
  298. package/components/Auth.svelte +0 -55
  299. package/components/Auth.svelte.d.ts +0 -16
  300. package/components/Authentication.js +0 -1
  301. package/components/BookPreview.svelte.d.ts +0 -18
  302. package/components/External.svelte.d.ts +0 -18
  303. package/components/Link.svelte +0 -51
  304. package/components/Link.svelte.d.ts +0 -18
  305. package/components/app/BookList.svelte.d.ts +0 -18
  306. package/components/app/Button.svelte.d.ts +0 -22
  307. package/components/app/Feedback.svelte.d.ts +0 -18
  308. package/components/app/Head.svelte.d.ts +0 -18
  309. package/components/app/Large.svelte.d.ts +0 -27
  310. package/components/app/Lead.svelte.d.ts +0 -27
  311. package/components/app/Link.svelte.d.ts +0 -20
  312. package/components/app/Options.svelte.d.ts +0 -19
  313. package/components/app/Paragraph.svelte.d.ts +0 -18
  314. package/components/app/Section.svelte.d.ts +0 -27
  315. package/components/app/Table.svelte.d.ts +0 -27
  316. package/components/app/TextInput.svelte.d.ts +0 -22
  317. package/components/chapter/Atom.svelte.d.ts +0 -19
  318. package/components/chapter/Block.svelte +0 -37
  319. package/components/chapter/Block.svelte.d.ts +0 -17
  320. package/components/chapter/Callout.svelte.d.ts +0 -17
  321. package/components/chapter/CaptionedCode.svelte.d.ts +0 -17
  322. package/components/chapter/ChapterBody.svelte.d.ts +0 -19
  323. package/components/chapter/Citations.svelte.d.ts +0 -17
  324. package/components/chapter/Code.svelte.d.ts +0 -22
  325. package/components/chapter/Comment.svelte.d.ts +0 -17
  326. package/components/chapter/Definition.svelte.d.ts +0 -17
  327. package/components/chapter/Embed.svelte.d.ts +0 -20
  328. package/components/chapter/ErrorMessage.svelte +0 -9
  329. package/components/chapter/ErrorMessage.svelte.d.ts +0 -17
  330. package/components/chapter/ExtendedPrism.d.ts +0 -2
  331. package/components/chapter/Figure.svelte.d.ts +0 -24
  332. package/components/chapter/Footnote.svelte.d.ts +0 -19
  333. package/components/chapter/Format.svelte.d.ts +0 -19
  334. package/components/chapter/InlineCode.svelte.d.ts +0 -17
  335. package/components/chapter/Label.svelte.d.ts +0 -17
  336. package/components/chapter/Link.svelte.d.ts +0 -17
  337. package/components/chapter/List.svelte.d.ts +0 -17
  338. package/components/chapter/Marginal.svelte.d.ts +0 -22
  339. package/components/chapter/Paragraph.svelte.d.ts +0 -18
  340. package/components/chapter/Positioned.svelte.d.ts +0 -19
  341. package/components/chapter/Problem.svelte.d.ts +0 -27
  342. package/components/chapter/Python.svelte +0 -128
  343. package/components/chapter/Python.svelte.d.ts +0 -18
  344. package/components/chapter/Quote.svelte.d.ts +0 -17
  345. package/components/chapter/Rule.svelte.d.ts +0 -17
  346. package/components/chapter/Table.svelte.d.ts +0 -17
  347. package/components/chapter/Text.svelte +0 -87
  348. package/components/chapter/Text.svelte.d.ts +0 -18
  349. package/components/editor/BookishEditor.svelte +0 -884
  350. package/components/editor/BookishEditor.svelte.d.ts +0 -25
  351. package/components/editor/CalloutEditor.svelte +0 -10
  352. package/components/editor/CalloutEditor.svelte.d.ts +0 -17
  353. package/components/editor/CaptionedCodeEditor.svelte.d.ts +0 -17
  354. package/components/editor/CaretContext.d.ts +0 -50
  355. package/components/editor/CaretContext.js +0 -1
  356. package/components/editor/CaretState.js +0 -1
  357. package/components/editor/CaretUtilities.js +0 -1
  358. package/components/editor/CaretView.svelte.d.ts +0 -25
  359. package/components/editor/CitationsEditor.svelte +0 -53
  360. package/components/editor/CitationsEditor.svelte.d.ts +0 -17
  361. package/components/editor/Clipboard.js +0 -1
  362. package/components/editor/Command.js +0 -1
  363. package/components/editor/Commands.d.ts +0 -3
  364. package/components/editor/ConfirmButton.svelte +0 -49
  365. package/components/editor/ConfirmButton.svelte.d.ts +0 -19
  366. package/components/editor/DefinitionEditor.svelte +0 -36
  367. package/components/editor/DefinitionEditor.svelte.d.ts +0 -17
  368. package/components/editor/EmbedEditor.svelte +0 -137
  369. package/components/editor/EmbedEditor.svelte.d.ts +0 -17
  370. package/components/editor/Icon.svelte.d.ts +0 -16
  371. package/components/editor/ImageChooser.svelte.d.ts +0 -18
  372. package/components/editor/InlineCodeEditor.svelte +0 -12
  373. package/components/editor/InlineCodeEditor.svelte.d.ts +0 -17
  374. package/components/editor/LabelEditor.svelte.d.ts +0 -17
  375. package/components/editor/LanguageEditor.svelte.d.ts +0 -17
  376. package/components/editor/LinkEditor.svelte +0 -100
  377. package/components/editor/LinkEditor.svelte.d.ts +0 -17
  378. package/components/editor/Note.svelte.d.ts +0 -27
  379. package/components/editor/Permissions.svelte.d.ts +0 -20
  380. package/components/editor/PositionEditor.svelte +0 -17
  381. package/components/editor/PositionEditor.svelte.d.ts +0 -18
  382. package/components/editor/QuoteEditor.svelte +0 -10
  383. package/components/editor/QuoteEditor.svelte.d.ts +0 -17
  384. package/components/editor/Switch.svelte.d.ts +0 -20
  385. package/components/editor/TableEditor.svelte +0 -10
  386. package/components/editor/TableEditor.svelte.d.ts +0 -17
  387. package/components/editor/TextEditor.svelte.d.ts +0 -24
  388. package/components/editor/Toggle.svelte +0 -41
  389. package/components/editor/Toggle.svelte.d.ts +0 -19
  390. package/components/editor/Toolbar.svelte +0 -249
  391. package/components/editor/Toolbar.svelte.d.ts +0 -17
  392. package/components/editor/ToolbarGroup.svelte.d.ts +0 -18
  393. package/components/editor/ToolbarSpacer.svelte.d.ts +0 -23
  394. package/components/editor/URLEditor.svelte +0 -13
  395. package/components/editor/URLEditor.svelte.d.ts +0 -18
  396. package/components/editor/UndoState.js +0 -1
  397. package/components/page/Acknowledgements.svelte.d.ts +0 -14
  398. package/components/page/Authors.svelte +0 -85
  399. package/components/page/Authors.svelte.d.ts +0 -21
  400. package/components/page/BookLoader.svelte +0 -59
  401. package/components/page/BookLoader.svelte.d.ts +0 -16
  402. package/components/page/BulkReferenceEditor.svelte +0 -63
  403. package/components/page/BulkReferenceEditor.svelte.d.ts +0 -14
  404. package/components/page/Chapter.svelte +0 -392
  405. package/components/page/Chapter.svelte.d.ts +0 -18
  406. package/components/page/ChapterContext.d.ts +0 -10
  407. package/components/page/ChapterContext.js +0 -1
  408. package/components/page/ChapterNumber.svelte.d.ts +0 -27
  409. package/components/page/ChapterTitle.svelte.d.ts +0 -18
  410. package/components/page/Contexts.d.ts +0 -47
  411. package/components/page/Contexts.js +0 -133
  412. package/components/page/DefinitionView.svelte.d.ts +0 -18
  413. package/components/page/Description.svelte.d.ts +0 -14
  414. package/components/page/Edition.svelte +0 -161
  415. package/components/page/Edition.svelte.d.ts +0 -20
  416. package/components/page/EditionLoader.svelte +0 -99
  417. package/components/page/EditionLoader.svelte.d.ts +0 -18
  418. package/components/page/Editions.svelte.d.ts +0 -14
  419. package/components/page/Glossary.svelte.d.ts +0 -14
  420. package/components/page/Header.svelte.d.ts +0 -29
  421. package/components/page/Index.svelte.d.ts +0 -14
  422. package/components/page/Instructions.svelte.d.ts +0 -18
  423. package/components/page/License.svelte.d.ts +0 -14
  424. package/components/page/Loading.svelte.d.ts +0 -23
  425. package/components/page/Media.svelte.d.ts +0 -14
  426. package/components/page/MediaPreview.svelte.d.ts +0 -19
  427. package/components/page/Muted.svelte.d.ts +0 -27
  428. package/components/page/Outline.svelte.d.ts +0 -19
  429. package/components/page/Page.svelte +0 -84
  430. package/components/page/Page.svelte.d.ts +0 -19
  431. package/components/page/PageHeader.svelte.d.ts +0 -18
  432. package/components/page/PageParagraph.svelte.d.ts +0 -27
  433. package/components/page/PossibleChapter.svelte +0 -14
  434. package/components/page/PossibleChapter.svelte.d.ts +0 -14
  435. package/components/page/PossibleReference.svelte +0 -11
  436. package/components/page/PossibleReference.svelte.d.ts +0 -18
  437. package/components/page/Print.svelte.d.ts +0 -14
  438. package/components/page/Publish.svelte.d.ts +0 -14
  439. package/components/page/Reference.svelte.d.ts +0 -17
  440. package/components/page/References.svelte.d.ts +0 -14
  441. package/components/page/Rows.svelte.d.ts +0 -27
  442. package/components/page/Search.svelte +0 -133
  443. package/components/page/Search.svelte.d.ts +0 -14
  444. package/components/page/Status.svelte.d.ts +0 -14
  445. package/components/page/SubdomainEditor.svelte.d.ts +0 -14
  446. package/components/page/TableOfContents.svelte.d.ts +0 -14
  447. package/components/page/TableOfContentsImage.svelte +0 -18
  448. package/components/page/TableOfContentsImage.svelte.d.ts +0 -16
  449. package/components/page/TableOfContentsRow.svelte.d.ts +0 -24
  450. package/components/page/ThemeEditor.svelte.d.ts +0 -14
  451. package/components/page/ThemeEditorPreview.svelte.d.ts +0 -17
  452. package/components/page/ThemeSetEditor.svelte +0 -19
  453. package/components/page/ThemeSetEditor.svelte.d.ts +0 -18
  454. package/components/page/ThemeVariableEditor.svelte.d.ts +0 -18
  455. package/components/page/Title.svelte.d.ts +0 -27
  456. package/components/page/Unknown.svelte.d.ts +0 -16
  457. package/components/page/margins.d.ts +0 -2
  458. package/index.d.ts +0 -15
  459. package/models/CRUD.d.ts +0 -27
  460. package/models/CRUD.js +0 -262
  461. package/models/Firebase.d.ts +0 -5
  462. package/models/book/Book.d.ts +0 -61
  463. package/models/book/Book.js +0 -135
  464. package/models/book/BookMedia.d.ts +0 -23
  465. package/models/book/BookMedia.js +0 -108
  466. package/models/book/BookSaveStatus.d.ts +0 -7
  467. package/models/book/BookSaveStatus.js +0 -8
  468. package/models/book/Chapter.d.ts +0 -81
  469. package/models/book/Chapter.js +0 -212
  470. package/models/book/ChapterID.d.ts +0 -10
  471. package/models/book/Definition.d.ts +0 -6
  472. package/models/book/Definition.js +0 -1
  473. package/models/book/Edition.d.ts +0 -139
  474. package/models/book/Edition.js +0 -620
  475. package/models/book/Reference.d.ts +0 -24
  476. package/models/book/Reference.js +0 -78
  477. package/models/book/Schema.d.ts +0 -174
  478. package/models/book/Theme.d.ts +0 -113
  479. package/models/book/ThemeColors.js +0 -1
  480. package/models/book/Words.d.ts +0 -2
  481. package/models/chapter/AtomNode.d.ts +0 -18
  482. package/models/chapter/BlockNode.d.ts +0 -20
  483. package/models/chapter/BlocksNode.d.ts +0 -50
  484. package/models/chapter/BlocksNode.test.d.ts +0 -1
  485. package/models/chapter/BlocksNode.test.js +0 -568
  486. package/models/chapter/Bookkeeping.js +0 -1
  487. package/models/chapter/CalloutNode.d.ts +0 -17
  488. package/models/chapter/CalloutNode.js +0 -58
  489. package/models/chapter/Caret.d.ts +0 -23
  490. package/models/chapter/ChapterNode.d.ts +0 -34
  491. package/models/chapter/ChapterNode.js +0 -117
  492. package/models/chapter/CitationsNode.d.ts +0 -16
  493. package/models/chapter/CodeNode.d.ts +0 -35
  494. package/models/chapter/CommentNode.d.ts +0 -18
  495. package/models/chapter/CommentNode.js +0 -48
  496. package/models/chapter/DefinitionNode.d.ts +0 -12
  497. package/models/chapter/Edit.d.ts +0 -7
  498. package/models/chapter/Edit.js +0 -1
  499. package/models/chapter/EmbedNode.d.ts +0 -45
  500. package/models/chapter/EmbedNode.js +0 -168
  501. package/models/chapter/ErrorNode.d.ts +0 -17
  502. package/models/chapter/FootnoteNode.d.ts +0 -18
  503. package/models/chapter/FootnoteNode.js +0 -47
  504. package/models/chapter/FormatNode.d.ts +0 -60
  505. package/models/chapter/FormatNode.test.d.ts +0 -1
  506. package/models/chapter/FormatNode.test.js +0 -96
  507. package/models/chapter/InlineCodeNode.d.ts +0 -12
  508. package/models/chapter/LabelNode.d.ts +0 -17
  509. package/models/chapter/LinkNode.d.ts +0 -12
  510. package/models/chapter/ListNode.d.ts +0 -51
  511. package/models/chapter/ListNode.test.d.ts +0 -1
  512. package/models/chapter/MetadataNode.d.ts +0 -17
  513. package/models/chapter/MetadataNode.js +0 -32
  514. package/models/chapter/Node.d.ts +0 -38
  515. package/models/chapter/Node.test.d.ts +0 -1
  516. package/models/chapter/ParagraphNode.d.ts +0 -33
  517. package/models/chapter/ParagraphNode.test.d.ts +0 -1
  518. package/models/chapter/ParagraphNode.test.js +0 -30
  519. package/models/chapter/Parser.d.ts +0 -75
  520. package/models/chapter/Parser.test.d.ts +0 -1
  521. package/models/chapter/Position.js +0 -1
  522. package/models/chapter/QuoteNode.d.ts +0 -25
  523. package/models/chapter/QuoteNode.js +0 -99
  524. package/models/chapter/RootNode.js +0 -1
  525. package/models/chapter/RuleNode.d.ts +0 -15
  526. package/models/chapter/TableNode.d.ts +0 -37
  527. package/models/chapter/TableNode.test.d.ts +0 -1
  528. package/models/chapter/TextNode.d.ts +0 -36
  529. package/models/chapter/TextNode.test.d.ts +0 -1
  530. package/util/getSubdomain.d.ts +0 -3
  531. package/util/isMobile.d.ts +0 -2
  532. package/util/mineReference.d.ts +0 -4
  533. package/util/scrollToEyeLevel.d.ts +0 -2
@@ -1,25 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type RootNode from '../../models/chapter/RootNode';
3
- declare const __propDef: {
4
- props: {
5
- text: string;
6
- parser: (text: string) => RootNode;
7
- save: (node: RootNode) => Promise<void> | void;
8
- chapter: boolean;
9
- autofocus?: boolean | undefined;
10
- component: ConstructorOfATypedSvelteComponent;
11
- placeholder: string;
12
- leasee: string | boolean;
13
- lease: (lock: boolean) => Promise<boolean> | boolean;
14
- };
15
- events: {
16
- [evt: string]: CustomEvent<any>;
17
- };
18
- slots: {};
19
- };
20
- export type BookishEditorProps = typeof __propDef.props;
21
- export type BookishEditorEvents = typeof __propDef.events;
22
- export type BookishEditorSlots = typeof __propDef.slots;
23
- export default class BookishEditor extends SvelteComponentTyped<BookishEditorProps, BookishEditorEvents, BookishEditorSlots> {
24
- }
25
- export {};
@@ -1,10 +0,0 @@
1
- <script>import PositionEditor from './PositionEditor.svelte';
2
- import { getCaret } from '../page/Contexts';
3
- export let callout;
4
- let caret = getCaret();
5
- </script>
6
-
7
- <PositionEditor
8
- value={callout.getPosition()}
9
- edit={(position) => $caret?.edit(callout, callout.withPosition(position))}
10
- />
@@ -1,17 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type CalloutNode from '../../models/chapter/CalloutNode';
3
- declare const __propDef: {
4
- props: {
5
- callout: CalloutNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type CalloutEditorProps = typeof __propDef.props;
13
- export type CalloutEditorEvents = typeof __propDef.events;
14
- export type CalloutEditorSlots = typeof __propDef.slots;
15
- export default class CalloutEditor extends SvelteComponentTyped<CalloutEditorProps, CalloutEditorEvents, CalloutEditorSlots> {
16
- }
17
- export {};
@@ -1,17 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type CodeNode from '../../models/chapter/CodeNode';
3
- declare const __propDef: {
4
- props: {
5
- code: CodeNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type CaptionedCodeEditorProps = typeof __propDef.props;
13
- export type CaptionedCodeEditorEvents = typeof __propDef.events;
14
- export type CaptionedCodeEditorSlots = typeof __propDef.slots;
15
- export default class CaptionedCodeEditor extends SvelteComponentTyped<CaptionedCodeEditorProps, CaptionedCodeEditorEvents, CaptionedCodeEditorSlots> {
16
- }
17
- export {};
@@ -1,50 +0,0 @@
1
- import type Caret from '../../models/chapter/Caret';
2
- import type { CaretRange } from '../../models/chapter/Caret';
3
- import type ParagraphNode from '../../models/chapter/ParagraphNode';
4
- import type AtomNode from '../../models/chapter/AtomNode';
5
- import type FormatNode from '../../models/chapter/FormatNode';
6
- import type BlocksNode from '../../models/chapter/BlocksNode';
7
- import type ListNode from '../../models/chapter/ListNode';
8
- import type TableNode from '../../models/chapter/TableNode';
9
- import type MetadataNode from '../../models/chapter/MetadataNode';
10
- import type RootNode from '../../models/chapter/RootNode';
11
- import type Edit from '../../models/chapter/Edit';
12
- import type CodeNode from '../../models/chapter/CodeNode';
13
- import type BlockNode from '../../models/chapter/BlockNode';
14
- import type Clipboard from './Clipboard';
15
- import type UndoState from './UndoState';
16
- import type Node from '../../models/chapter/Node';
17
- export type PasteContent = {
18
- plain: string | undefined;
19
- };
20
- type CaretContext = {
21
- chapter: boolean;
22
- range: CaretRange;
23
- start: Caret;
24
- end: Caret;
25
- isSelection: boolean;
26
- root: RootNode;
27
- blocks: BlocksNode | undefined;
28
- paragraph: ParagraphNode | undefined;
29
- block: BlockNode | undefined;
30
- includesList: boolean;
31
- code: CodeNode | undefined;
32
- list: ListNode | undefined;
33
- table: TableNode | undefined;
34
- format: FormatNode | undefined;
35
- atom: AtomNode<any> | undefined;
36
- meta: MetadataNode<any> | undefined;
37
- startIsText: boolean;
38
- endIsText: boolean;
39
- startIsTextOrAtom: boolean;
40
- endIsTextOrAtom: boolean;
41
- atParagraphStart: boolean;
42
- undoStack: UndoState[];
43
- undoPosition: number;
44
- undo: () => Edit;
45
- redo: () => Edit;
46
- clipboard: Clipboard;
47
- handleCopy: (node: Node) => void;
48
- handlePaste: (context: CaretContext, text: PasteContent | Node, save: boolean) => Edit;
49
- };
50
- export default CaretContext;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- left: number;
5
- top: number;
6
- height: number;
7
- linked: boolean;
8
- italic: boolean;
9
- bold: boolean;
10
- disabled: boolean;
11
- ignored: boolean;
12
- blink: boolean;
13
- locked: boolean;
14
- };
15
- events: {
16
- [evt: string]: CustomEvent<any>;
17
- };
18
- slots: {};
19
- };
20
- export type CaretViewProps = typeof __propDef.props;
21
- export type CaretViewEvents = typeof __propDef.events;
22
- export type CaretViewSlots = typeof __propDef.slots;
23
- export default class CaretView extends SvelteComponentTyped<CaretViewProps, CaretViewEvents, CaretViewSlots> {
24
- }
25
- export {};
@@ -1,53 +0,0 @@
1
- <script>import Note from './Note.svelte';
2
- import Options from '../app/Options.svelte';
3
- import Button from '../app/Button.svelte';
4
- import { getCaret, getEdition } from '../page/Contexts';
5
- export let citations;
6
- let caret = getCaret();
7
- let edition = getEdition();
8
- let value = '';
9
- function handleSelection(selection) {
10
- if (selection.length > 0)
11
- update(new Set([...citations.getMeta(), selection]));
12
- }
13
- function removeSelection(citationID) {
14
- let ids = new Set(citations.getMeta());
15
- ids.delete(citationID);
16
- update(ids);
17
- }
18
- function update(set) {
19
- $caret?.edit(citations, citations.withMeta(Array.from(set)));
20
- }
21
- $: uncited =
22
- $edition === undefined
23
- ? []
24
- : Object.keys($edition.getReferences())
25
- .filter((citationID) => !citations.getMeta().includes(citationID))
26
- .sort();
27
- let options = [];
28
- $: {
29
- options = [];
30
- options.push([
31
- uncited.length > 0 ? 'Choose references' : 'No uncited references',
32
- '',
33
- ]);
34
- for (const citationID of uncited)
35
- options.push([citationID, citationID]);
36
- }
37
- </script>
38
-
39
- <Options
40
- {options}
41
- bind:value
42
- changed={handleSelection}
43
- label="choose citations"
44
- />
45
- {#each citations.getMeta() as citationID}
46
- {citationID}
47
- <Button
48
- tooltip="Remove citation"
49
- command={() => removeSelection(citationID)}>&times; citation</Button
50
- >
51
- {:else}
52
- <Note>&mdash;</Note>
53
- {/each}
@@ -1,17 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type CitationsNode from '../../models/chapter/CitationsNode';
3
- declare const __propDef: {
4
- props: {
5
- citations: CitationsNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type CitationsEditorProps = typeof __propDef.props;
13
- export type CitationsEditorEvents = typeof __propDef.events;
14
- export type CitationsEditorSlots = typeof __propDef.slots;
15
- export default class CitationsEditor extends SvelteComponentTyped<CitationsEditorProps, CitationsEditorEvents, CitationsEditorSlots> {
16
- }
17
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- import type Command from './Command';
2
- declare const commands: Command[];
3
- export default commands;
@@ -1,49 +0,0 @@
1
- <script>import { onMount } from 'svelte';
2
- import Button from '../app/Button.svelte';
3
- export let commandLabel;
4
- export let tooltip;
5
- export let confirmLabel;
6
- export let command;
7
- let confirming = false;
8
- let executing = false;
9
- let timeoutID = undefined;
10
- let isMounted = false;
11
- onMount(() => {
12
- isMounted = true;
13
- return () => (isMounted = false);
14
- });
15
- function execute() {
16
- if (!confirming && !executing) {
17
- confirming = true;
18
- timeoutID = setTimeout(() => {
19
- if (isMounted)
20
- confirming = false;
21
- }, 2000);
22
- }
23
- else if (confirming) {
24
- command()?.finally(() => {
25
- if (isMounted) {
26
- if (timeoutID)
27
- clearTimeout(timeoutID);
28
- confirming = false;
29
- executing = false;
30
- }
31
- });
32
- }
33
- }
34
- </script>
35
-
36
- <Button
37
- disabled={executing}
38
- {tooltip}
39
- command={execute}
40
- class={confirming ? 'bookish-editor-confirm' : ''}
41
- >
42
- {confirming ? confirmLabel : commandLabel}
43
- </Button>
44
-
45
- <style>
46
- :global(bookish-editor-confirm) {
47
- animation: failure 100ms infinite;
48
- }
49
- </style>
@@ -1,19 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- commandLabel: string;
5
- tooltip: string;
6
- confirmLabel: string;
7
- command: () => Promise<void> | void;
8
- };
9
- events: {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {};
13
- };
14
- export type ConfirmButtonProps = typeof __propDef.props;
15
- export type ConfirmButtonEvents = typeof __propDef.events;
16
- export type ConfirmButtonSlots = typeof __propDef.slots;
17
- export default class ConfirmButton extends SvelteComponentTyped<ConfirmButtonProps, ConfirmButtonEvents, ConfirmButtonSlots> {
18
- }
19
- export {};
@@ -1,36 +0,0 @@
1
- <script>import Options from '../app/Options.svelte';
2
- import Note from './Note.svelte';
3
- import { getCaret, getEdition } from '../page/Contexts';
4
- export let definition;
5
- let caret = getCaret();
6
- let edition = getEdition();
7
- $: glossary = $edition?.getGlossary();
8
- function handleChange(glossaryID) {
9
- $caret?.edit(definition, definition.withMeta(glossaryID));
10
- }
11
- // Sort the glossary entries by phrase
12
- $: entries =
13
- glossary === undefined
14
- ? undefined
15
- : Object.entries(glossary)
16
- .map(([key, value]) => {
17
- return { glossaryID: key, phrase: value.phrase };
18
- })
19
- .sort((a, b) => a && b ? a.phrase.localeCompare(b.phrase) : 0);
20
- </script>
21
-
22
- {#if entries !== undefined && glossary !== undefined}
23
- {#if entries.length === 0}
24
- <Note>No glossary entries to add</Note>
25
- {:else}
26
- <Options
27
- options={entries.map((entry) => [entry.phrase, entry.glossaryID])}
28
- value={definition.getMeta()}
29
- changed={handleChange}
30
- label="choose definition"
31
- />
32
- {#if !(definition.getMeta() in glossary)}
33
- <Note>Choose a glossary entry.</Note>
34
- {/if}
35
- {/if}
36
- {/if}
@@ -1,17 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type DefinitionNode from '../../models/chapter/DefinitionNode';
3
- declare const __propDef: {
4
- props: {
5
- definition: DefinitionNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type DefinitionEditorProps = typeof __propDef.props;
13
- export type DefinitionEditorEvents = typeof __propDef.events;
14
- export type DefinitionEditorSlots = typeof __propDef.slots;
15
- export default class DefinitionEditor extends SvelteComponentTyped<DefinitionEditorProps, DefinitionEditorEvents, DefinitionEditorSlots> {
16
- }
17
- export {};
@@ -1,137 +0,0 @@
1
- <script>import PositionEditor from './PositionEditor.svelte';
2
- import EmbedNode from '../../models/chapter/EmbedNode';
3
- import TextEditor from './TextEditor.svelte';
4
- import { storage } from '../../models/Firebase';
5
- import ToolbarSpacer from './ToolbarSpacer.svelte';
6
- import ImageChooser from './ImageChooser.svelte';
7
- import URLEditor from './URLEditor.svelte';
8
- import Note from './Note.svelte';
9
- import { getBook, getCaret } from '../page/Contexts';
10
- export let embed;
11
- let caret = getCaret();
12
- let upload = undefined;
13
- $: description = embed.getDescription();
14
- let book = getBook();
15
- function isValidURL(url) {
16
- // Is it a valid URL?
17
- try {
18
- let test = new URL(url);
19
- if (test.protocol === 'http:' || test.protocol === 'https:')
20
- return;
21
- }
22
- catch (_) { }
23
- return "URL doesn't seem valid";
24
- }
25
- function handleImageChange(event) {
26
- if ($book === undefined)
27
- return;
28
- if ($caret === undefined)
29
- return;
30
- const target = event.target;
31
- const file = target.files === null ? undefined : target.files[0];
32
- const media = $book.getMedia();
33
- if (file === undefined)
34
- return;
35
- if (storage === undefined)
36
- return;
37
- if (media === undefined)
38
- return;
39
- media.upload(file, (progress) => (upload = `${progress}% done`), (error) => (upload = error), (url, thumbnail) => {
40
- // Upload completed successfully, now we can get the download URL
41
- $caret?.edit(embed, embed.withURLs(url, thumbnail).withDescription(''));
42
- upload = undefined;
43
- });
44
- }
45
- function handleImageSelection(image) {
46
- // Toggle the embed
47
- $caret?.edit(embed, embed.getURL() === image.url
48
- ? embed.withURL('').withDescription('')
49
- : embed.withURL(image.url));
50
- }
51
- </script>
52
-
53
- {#if $caret?.root instanceof EmbedNode}
54
- <ToolbarSpacer />
55
- {:else}
56
- Position <PositionEditor
57
- value={embed.getPosition()}
58
- edit={(position) => $caret?.edit(embed, embed.withPosition(position))}
59
- />
60
- {/if}
61
- <label class="file-upload" tabIndex="0">
62
- <input
63
- type="file"
64
- on:input={handleImageChange}
65
- accept=".jpg,.jpeg,.png,.gif,image/jpeg,image/png,image/gif"
66
- />
67
- Upload
68
- </label>
69
- <ToolbarSpacer />
70
- {#if !embed.isHosted()}
71
- <URLEditor
72
- url={embed.getURL()}
73
- validator={isValidURL}
74
- edit={(url) => {
75
- const revisedEmbed = embed.withURL(url);
76
- const revisedURL = revisedEmbed.getURL();
77
- $caret?.edit(embed, revisedEmbed);
78
- return revisedURL;
79
- }}
80
- />
81
- {:else}
82
- <Note>(Hosted)</Note>
83
- {/if}
84
- <ToolbarSpacer />
85
- <TextEditor
86
- text={description}
87
- label={'Image description'}
88
- placeholder={'description'}
89
- valid={(alt) =>
90
- alt.length === 0 ? 'Image description required' : undefined}
91
- save={(alt) => {
92
- $caret?.edit(embed, embed.withDescription(alt));
93
- }}
94
- width={20}
95
- clip={true}
96
- />
97
- <ToolbarSpacer />
98
- {#if upload}
99
- {upload}
100
- {/if}
101
- <ImageChooser select={handleImageSelection} selection={embed.getURL()} />
102
-
103
- <style>
104
- .file-upload {
105
- background-color: var(--app-chrome-background);
106
- padding: var(--app-chrome-padding);
107
- border-radius: var(--app-chrome-roundedness);
108
- border: none;
109
- }
110
-
111
- .file-upload:hover {
112
- background-color: var(--app-interactive-color);
113
- color: var(--app-font-color-inverted);
114
- cursor: pointer;
115
- }
116
-
117
- .file-upload input:disabled {
118
- opacity: 0.3;
119
- cursor: auto;
120
- }
121
-
122
- .file-upload {
123
- font-family: var(--bookish-app-font);
124
- font-size: var(--app-chrome-font-size);
125
- }
126
-
127
- .file-upload input[type='file'] {
128
- display: none;
129
- }
130
-
131
- .file-upload:focus-within {
132
- position: relative;
133
- z-index: 2;
134
- outline: var(--app-chrome-border-size) solid
135
- var(--app-interactive-color);
136
- }
137
- </style>
@@ -1,17 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import EmbedNode from '../../models/chapter/EmbedNode';
3
- declare const __propDef: {
4
- props: {
5
- embed: EmbedNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type EmbedEditorProps = typeof __propDef.props;
13
- export type EmbedEditorEvents = typeof __propDef.events;
14
- export type EmbedEditorSlots = typeof __propDef.slots;
15
- export default class EmbedEditor extends SvelteComponentTyped<EmbedEditorProps, EmbedEditorEvents, EmbedEditorSlots> {
16
- }
17
- export {};
@@ -1,16 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- icon: string;
5
- };
6
- events: {
7
- [evt: string]: CustomEvent<any>;
8
- };
9
- slots: {};
10
- };
11
- export type IconProps = typeof __propDef.props;
12
- export type IconEvents = typeof __propDef.events;
13
- export type IconSlots = typeof __propDef.slots;
14
- export default class Icon extends SvelteComponentTyped<IconProps, IconEvents, IconSlots> {
15
- }
16
- export {};
@@ -1,18 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { Image } from '../../models/book/BookMedia';
3
- declare const __propDef: {
4
- props: {
5
- select: (image: Image) => void;
6
- selection: string;
7
- };
8
- events: {
9
- [evt: string]: CustomEvent<any>;
10
- };
11
- slots: {};
12
- };
13
- export type ImageChooserProps = typeof __propDef.props;
14
- export type ImageChooserEvents = typeof __propDef.events;
15
- export type ImageChooserSlots = typeof __propDef.slots;
16
- export default class ImageChooser extends SvelteComponentTyped<ImageChooserProps, ImageChooserEvents, ImageChooserSlots> {
17
- }
18
- export {};
@@ -1,12 +0,0 @@
1
- <script>import LanguageEditor from './LanguageEditor.svelte';
2
- import { getCaret } from '../page/Contexts';
3
- export let code;
4
- let caret = getCaret();
5
- </script>
6
-
7
- <span>
8
- <LanguageEditor
9
- language={code.getMeta()}
10
- edit={(lang) => $caret?.edit(code, code.withMeta(lang))}
11
- />
12
- </span>
@@ -1,17 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type InlineCodeNode from '../../models/chapter/InlineCodeNode';
3
- declare const __propDef: {
4
- props: {
5
- code: InlineCodeNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type InlineCodeEditorProps = typeof __propDef.props;
13
- export type InlineCodeEditorEvents = typeof __propDef.events;
14
- export type InlineCodeEditorSlots = typeof __propDef.slots;
15
- export default class InlineCodeEditor extends SvelteComponentTyped<InlineCodeEditorProps, InlineCodeEditorEvents, InlineCodeEditorSlots> {
16
- }
17
- export {};
@@ -1,17 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type LabelNode from '../../models/chapter/LabelNode';
3
- declare const __propDef: {
4
- props: {
5
- label: LabelNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type LabelEditorProps = typeof __propDef.props;
13
- export type LabelEditorEvents = typeof __propDef.events;
14
- export type LabelEditorSlots = typeof __propDef.slots;
15
- export default class LabelEditor extends SvelteComponentTyped<LabelEditorProps, LabelEditorEvents, LabelEditorSlots> {
16
- }
17
- export {};
@@ -1,17 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- language: string;
5
- edit: (newValue: string) => void;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type LanguageEditorProps = typeof __propDef.props;
13
- export type LanguageEditorEvents = typeof __propDef.events;
14
- export type LanguageEditorSlots = typeof __propDef.slots;
15
- export default class LanguageEditor extends SvelteComponentTyped<LanguageEditorProps, LanguageEditorEvents, LanguageEditorSlots> {
16
- }
17
- export {};