bookish-press 0.4.0 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/README.md +3 -1
  2. package/components/Auth.svelte +27 -24
  3. package/components/Auth.svelte.d.ts +4 -4
  4. package/components/Authentication.d.ts +2 -2
  5. package/components/BookPreview.svelte +75 -59
  6. package/components/BookPreview.svelte.d.ts +5 -5
  7. package/components/External.svelte +1 -1
  8. package/components/External.svelte.d.ts +3 -3
  9. package/components/Link.svelte +49 -3
  10. package/components/Link.svelte.d.ts +3 -4
  11. package/components/app/BookList.svelte +19 -0
  12. package/components/app/BookList.svelte.d.ts +18 -0
  13. package/components/app/Button.svelte +49 -0
  14. package/components/app/Button.svelte.d.ts +22 -0
  15. package/components/app/Feedback.svelte +47 -0
  16. package/components/app/Feedback.svelte.d.ts +18 -0
  17. package/components/app/Head.svelte +15 -0
  18. package/components/app/Head.svelte.d.ts +18 -0
  19. package/components/app/Large.svelte +8 -0
  20. package/components/app/Large.svelte.d.ts +27 -0
  21. package/components/app/Lead.svelte +12 -0
  22. package/components/app/Lead.svelte.d.ts +27 -0
  23. package/components/app/Link.svelte +24 -0
  24. package/components/app/Link.svelte.d.ts +20 -0
  25. package/components/app/Options.svelte +24 -0
  26. package/components/app/Options.svelte.d.ts +19 -0
  27. package/components/app/Paragraph.svelte +20 -0
  28. package/components/app/Paragraph.svelte.d.ts +18 -0
  29. package/components/app/Section.svelte +12 -0
  30. package/components/app/Section.svelte.d.ts +27 -0
  31. package/components/app/Table.svelte +32 -0
  32. package/components/app/Table.svelte.d.ts +27 -0
  33. package/components/app/TextInput.svelte +38 -0
  34. package/components/app/TextInput.svelte.d.ts +22 -0
  35. package/components/chapter/Atom.svelte +20 -6
  36. package/components/chapter/Atom.svelte.d.ts +3 -3
  37. package/components/chapter/Block.svelte +26 -21
  38. package/components/chapter/Block.svelte.d.ts +4 -4
  39. package/components/chapter/Callout.svelte +38 -7
  40. package/components/chapter/Callout.svelte.d.ts +4 -4
  41. package/components/chapter/CaptionedCode.svelte +67 -24
  42. package/components/chapter/CaptionedCode.svelte.d.ts +4 -4
  43. package/components/chapter/ChapterBody.svelte +62 -9
  44. package/components/chapter/ChapterBody.svelte.d.ts +5 -4
  45. package/components/chapter/Citations.svelte +86 -20
  46. package/components/chapter/Citations.svelte.d.ts +4 -4
  47. package/components/chapter/Code.svelte +152 -21
  48. package/components/chapter/Code.svelte.d.ts +3 -3
  49. package/components/chapter/Comment.svelte +39 -17
  50. package/components/chapter/Comment.svelte.d.ts +3 -3
  51. package/components/chapter/Definition.svelte +52 -18
  52. package/components/chapter/Definition.svelte.d.ts +5 -8
  53. package/components/chapter/Embed.svelte +155 -67
  54. package/components/chapter/Embed.svelte.d.ts +6 -4
  55. package/components/chapter/ErrorMessage.svelte +7 -2
  56. package/components/chapter/ErrorMessage.svelte.d.ts +4 -4
  57. package/components/chapter/ExtendedPrism.d.ts +2 -0
  58. package/components/chapter/ExtendedPrism.js +69 -0
  59. package/components/chapter/Figure.svelte +90 -0
  60. package/components/chapter/Figure.svelte.d.ts +24 -0
  61. package/components/chapter/Footnote.svelte +75 -12
  62. package/components/chapter/Footnote.svelte.d.ts +4 -4
  63. package/components/chapter/Format.svelte +63 -38
  64. package/components/chapter/Format.svelte.d.ts +5 -4
  65. package/components/chapter/InlineCode.svelte +16 -6
  66. package/components/chapter/InlineCode.svelte.d.ts +4 -4
  67. package/components/chapter/Label.svelte +38 -9
  68. package/components/chapter/Label.svelte.d.ts +4 -4
  69. package/components/chapter/Link.svelte +24 -19
  70. package/components/chapter/Link.svelte.d.ts +4 -4
  71. package/components/chapter/List.svelte +75 -8
  72. package/components/chapter/List.svelte.d.ts +4 -4
  73. package/components/chapter/Marginal.svelte +169 -27
  74. package/components/chapter/Marginal.svelte.d.ts +6 -3
  75. package/components/chapter/Paragraph.svelte +79 -6
  76. package/components/chapter/Paragraph.svelte.d.ts +4 -4
  77. package/components/chapter/Positioned.svelte +33 -0
  78. package/components/chapter/Positioned.svelte.d.ts +19 -0
  79. package/components/chapter/Problem.svelte +15 -0
  80. package/components/chapter/Problem.svelte.d.ts +27 -0
  81. package/components/chapter/Python.svelte +68 -21
  82. package/components/chapter/Python.svelte.d.ts +4 -4
  83. package/components/chapter/Quote.svelte +64 -11
  84. package/components/chapter/Quote.svelte.d.ts +4 -4
  85. package/components/chapter/Rule.svelte +12 -1
  86. package/components/chapter/Rule.svelte.d.ts +4 -4
  87. package/components/chapter/Table.svelte +36 -25
  88. package/components/chapter/Table.svelte.d.ts +4 -4
  89. package/components/chapter/Text.svelte +61 -36
  90. package/components/chapter/Text.svelte.d.ts +5 -4
  91. package/components/editor/BookishEditor.svelte +373 -244
  92. package/components/editor/BookishEditor.svelte.d.ts +9 -6
  93. package/components/editor/CalloutEditor.svelte +5 -5
  94. package/components/editor/CalloutEditor.svelte.d.ts +4 -4
  95. package/components/editor/CaptionedCodeEditor.svelte +16 -12
  96. package/components/editor/CaptionedCodeEditor.svelte.d.ts +4 -4
  97. package/components/editor/CaretContext.d.ts +48 -16
  98. package/components/editor/CaretState.d.ts +16 -44
  99. package/components/editor/CaretUtilities.d.ts +2 -2
  100. package/components/editor/CaretView.svelte +82 -0
  101. package/components/editor/CaretView.svelte.d.ts +25 -0
  102. package/components/editor/CitationsEditor.svelte +36 -25
  103. package/components/editor/CitationsEditor.svelte.d.ts +4 -4
  104. package/components/editor/Clipboard.d.ts +2 -2
  105. package/components/editor/Command.d.ts +13 -12
  106. package/components/editor/Commands.d.ts +1 -1
  107. package/components/editor/Commands.js +1114 -571
  108. package/components/editor/ConfirmButton.svelte +18 -12
  109. package/components/editor/ConfirmButton.svelte.d.ts +5 -4
  110. package/components/editor/DefinitionEditor.svelte +29 -21
  111. package/components/editor/DefinitionEditor.svelte.d.ts +4 -4
  112. package/components/editor/EmbedEditor.svelte +93 -43
  113. package/components/editor/EmbedEditor.svelte.d.ts +3 -3
  114. package/components/editor/Icon.svelte +17 -0
  115. package/components/editor/Icon.svelte.d.ts +16 -0
  116. package/components/editor/ImageChooser.svelte +53 -34
  117. package/components/editor/ImageChooser.svelte.d.ts +3 -3
  118. package/components/editor/InlineCodeEditor.svelte +7 -4
  119. package/components/editor/InlineCodeEditor.svelte.d.ts +4 -4
  120. package/components/editor/LabelEditor.svelte +20 -11
  121. package/components/editor/LabelEditor.svelte.d.ts +4 -4
  122. package/components/editor/LanguageEditor.svelte +10 -7
  123. package/components/editor/LanguageEditor.svelte.d.ts +3 -3
  124. package/components/editor/LinkEditor.svelte +64 -39
  125. package/components/editor/LinkEditor.svelte.d.ts +4 -4
  126. package/components/editor/Note.svelte +4 -3
  127. package/components/editor/Note.svelte.d.ts +6 -2
  128. package/components/editor/Permissions.svelte +95 -0
  129. package/components/editor/Permissions.svelte.d.ts +20 -0
  130. package/components/editor/PositionEditor.svelte +9 -6
  131. package/components/editor/PositionEditor.svelte.d.ts +4 -4
  132. package/components/editor/QuoteEditor.svelte +7 -2
  133. package/components/editor/QuoteEditor.svelte.d.ts +4 -4
  134. package/components/editor/Switch.svelte +55 -28
  135. package/components/editor/Switch.svelte.d.ts +4 -4
  136. package/components/editor/TableEditor.svelte +10 -0
  137. package/components/editor/TableEditor.svelte.d.ts +17 -0
  138. package/components/editor/TextEditor.svelte +83 -45
  139. package/components/editor/TextEditor.svelte.d.ts +5 -4
  140. package/components/editor/Toggle.svelte +11 -8
  141. package/components/editor/Toggle.svelte.d.ts +4 -4
  142. package/components/editor/Toolbar.svelte +191 -144
  143. package/components/editor/Toolbar.svelte.d.ts +5 -8
  144. package/components/editor/ToolbarGroup.svelte +17 -23
  145. package/components/editor/ToolbarGroup.svelte.d.ts +3 -4
  146. package/components/editor/ToolbarSpacer.svelte +8 -1
  147. package/components/editor/ToolbarSpacer.svelte.d.ts +6 -2
  148. package/components/editor/URLEditor.svelte +6 -8
  149. package/components/editor/URLEditor.svelte.d.ts +3 -3
  150. package/components/editor/UndoState.d.ts +3 -3
  151. package/components/editor/icons/annotate.svg +1 -0
  152. package/components/editor/icons/block.svg +1 -0
  153. package/components/editor/icons/bold.svg +1 -0
  154. package/components/editor/icons/bullets.svg +1 -0
  155. package/components/editor/icons/callout.svg +1 -0
  156. package/components/editor/icons/citation.svg +8 -0
  157. package/components/editor/icons/clear.svg +1 -0
  158. package/components/editor/icons/clipboard.svg +1 -0
  159. package/components/editor/icons/code.svg +1 -0
  160. package/components/editor/icons/columnafter.svg +1 -0
  161. package/components/editor/icons/columnbefore.svg +1 -0
  162. package/components/editor/icons/comment.svg +1 -0
  163. package/components/editor/icons/copy.svg +1 -0
  164. package/components/editor/icons/cut.svg +1 -0
  165. package/components/editor/icons/define.svg +7 -0
  166. package/components/editor/icons/deletecolumn.svg +1 -0
  167. package/components/editor/icons/deleterow.svg +1 -0
  168. package/components/editor/icons/footnote.svg +8 -0
  169. package/components/editor/icons/header1.svg +7 -0
  170. package/components/editor/icons/header2.svg +7 -0
  171. package/components/editor/icons/header3.svg +7 -0
  172. package/components/editor/icons/home.svg +1 -0
  173. package/components/editor/icons/indent.svg +1 -0
  174. package/components/editor/icons/italic.svg +1 -0
  175. package/components/editor/icons/label.svg +1 -0
  176. package/components/editor/icons/left.svg +1 -0
  177. package/components/editor/icons/level.svg +1 -0
  178. package/components/editor/icons/link.svg +1 -0
  179. package/components/editor/icons/list.svg +1 -0
  180. package/components/editor/icons/media.svg +1 -0
  181. package/components/editor/icons/middle.svg +1 -0
  182. package/components/editor/icons/numbers.svg +10 -0
  183. package/components/editor/icons/paragraph.svg +1 -0
  184. package/components/editor/icons/paste.svg +10 -0
  185. package/components/editor/icons/quote.svg +1 -0
  186. package/components/editor/icons/redo.svg +1 -0
  187. package/components/editor/icons/right.svg +1 -0
  188. package/components/editor/icons/rowabove.svg +1 -0
  189. package/components/editor/icons/rowbelow.svg +1 -0
  190. package/components/editor/icons/rule.svg +1 -0
  191. package/components/editor/icons/sub.svg +1 -0
  192. package/components/editor/icons/super.svg +1 -0
  193. package/components/editor/icons/table.svg +1 -0
  194. package/components/editor/icons/text.svg +1 -0
  195. package/components/editor/icons/time.svg +1 -0
  196. package/components/editor/icons/undo.svg +1 -0
  197. package/components/editor/icons/unindent.svg +1 -0
  198. package/components/editor/icons/unlink.svg +1 -0
  199. package/components/page/Acknowledgements.svelte +35 -24
  200. package/components/page/Acknowledgements.svelte.d.ts +4 -4
  201. package/components/page/Authors.svelte +34 -17
  202. package/components/page/Authors.svelte.d.ts +7 -6
  203. package/components/page/BookLoader.svelte +59 -0
  204. package/components/page/BookLoader.svelte.d.ts +16 -0
  205. package/components/page/BulkReferenceEditor.svelte +54 -23
  206. package/components/page/BulkReferenceEditor.svelte.d.ts +4 -4
  207. package/components/page/Chapter.svelte +234 -143
  208. package/components/page/Chapter.svelte.d.ts +3 -3
  209. package/components/page/ChapterContext.d.ts +4 -4
  210. package/components/page/ChapterNumber.svelte +9 -0
  211. package/components/page/ChapterNumber.svelte.d.ts +27 -0
  212. package/components/page/ChapterTitle.svelte +16 -0
  213. package/components/page/ChapterTitle.svelte.d.ts +18 -0
  214. package/components/page/Contexts.d.ts +42 -22
  215. package/components/page/Contexts.js +129 -17
  216. package/components/page/DefinitionView.svelte +129 -90
  217. package/components/page/DefinitionView.svelte.d.ts +3 -3
  218. package/components/page/Description.svelte +31 -19
  219. package/components/page/Description.svelte.d.ts +4 -4
  220. package/components/page/Edition.svelte +135 -80
  221. package/components/page/Edition.svelte.d.ts +5 -6
  222. package/components/page/EditionLoader.svelte +99 -0
  223. package/components/page/EditionLoader.svelte.d.ts +18 -0
  224. package/components/page/Editions.svelte +106 -0
  225. package/components/page/Editions.svelte.d.ts +14 -0
  226. package/components/page/Glossary.svelte +65 -49
  227. package/components/page/Glossary.svelte.d.ts +4 -4
  228. package/components/page/Header.svelte +143 -56
  229. package/components/page/Header.svelte.d.ts +8 -6
  230. package/components/page/Index.svelte +116 -80
  231. package/components/page/Index.svelte.d.ts +4 -4
  232. package/components/page/Instructions.svelte +18 -17
  233. package/components/page/Instructions.svelte.d.ts +6 -4
  234. package/components/page/License.svelte +39 -23
  235. package/components/page/License.svelte.d.ts +4 -4
  236. package/components/page/Loading.svelte +102 -12
  237. package/components/page/Loading.svelte.d.ts +6 -2
  238. package/components/page/Media.svelte +81 -53
  239. package/components/page/Media.svelte.d.ts +4 -4
  240. package/components/page/MediaPreview.svelte +26 -8
  241. package/components/page/MediaPreview.svelte.d.ts +3 -3
  242. package/components/page/Muted.svelte +10 -0
  243. package/components/page/Muted.svelte.d.ts +27 -0
  244. package/components/page/Outline.svelte +279 -59
  245. package/components/page/Outline.svelte.d.ts +3 -3
  246. package/components/page/Page.svelte +40 -9
  247. package/components/page/Page.svelte.d.ts +3 -3
  248. package/components/page/PageHeader.svelte +14 -0
  249. package/components/page/PageHeader.svelte.d.ts +18 -0
  250. package/components/page/PageParagraph.svelte +18 -0
  251. package/components/page/PageParagraph.svelte.d.ts +27 -0
  252. package/components/page/PossibleChapter.svelte +7 -7
  253. package/components/page/PossibleChapter.svelte.d.ts +4 -4
  254. package/components/page/PossibleReference.svelte +6 -11
  255. package/components/page/PossibleReference.svelte.d.ts +6 -7
  256. package/components/page/Print.svelte +27 -3
  257. package/components/page/Print.svelte.d.ts +4 -4
  258. package/components/page/Publish.svelte +134 -0
  259. package/components/page/Publish.svelte.d.ts +14 -0
  260. package/components/page/Reference.svelte +259 -117
  261. package/components/page/Reference.svelte.d.ts +5 -5
  262. package/components/page/References.svelte +45 -48
  263. package/components/page/References.svelte.d.ts +4 -4
  264. package/components/page/Rows.svelte +54 -0
  265. package/components/page/Rows.svelte.d.ts +27 -0
  266. package/components/page/Search.svelte +88 -63
  267. package/components/page/Search.svelte.d.ts +4 -4
  268. package/components/page/Status.svelte +46 -39
  269. package/components/page/Status.svelte.d.ts +4 -9
  270. package/components/page/SubdomainEditor.svelte +41 -27
  271. package/components/page/SubdomainEditor.svelte.d.ts +4 -4
  272. package/components/page/TableOfContents.svelte +264 -191
  273. package/components/page/TableOfContents.svelte.d.ts +4 -4
  274. package/components/page/TableOfContentsImage.svelte +8 -8
  275. package/components/page/TableOfContentsImage.svelte.d.ts +3 -3
  276. package/components/page/TableOfContentsRow.svelte +97 -34
  277. package/components/page/TableOfContentsRow.svelte.d.ts +4 -4
  278. package/components/page/ThemeEditor.svelte +177 -39
  279. package/components/page/ThemeEditor.svelte.d.ts +4 -4
  280. package/components/page/ThemeEditorPreview.svelte +35 -23
  281. package/components/page/ThemeEditorPreview.svelte.d.ts +5 -5
  282. package/components/page/ThemeSetEditor.svelte +15 -13
  283. package/components/page/ThemeSetEditor.svelte.d.ts +4 -4
  284. package/components/page/ThemeVariableEditor.svelte +24 -15
  285. package/components/page/ThemeVariableEditor.svelte.d.ts +3 -3
  286. package/components/page/Title.svelte +12 -0
  287. package/components/page/Title.svelte.d.ts +27 -0
  288. package/components/page/Unknown.svelte +28 -21
  289. package/components/page/Unknown.svelte.d.ts +4 -4
  290. package/components/page/margins.js +50 -33
  291. package/index.d.ts +13 -0
  292. package/index.js +14 -0
  293. package/models/CRUD.d.ts +27 -0
  294. package/models/CRUD.js +262 -0
  295. package/models/Firebase.d.ts +1 -0
  296. package/models/Firebase.js +26 -16
  297. package/models/book/Book.d.ts +40 -39
  298. package/models/book/Book.js +121 -121
  299. package/models/book/BookMedia.d.ts +3 -3
  300. package/models/book/BookMedia.js +22 -16
  301. package/models/book/BookSaveStatus.d.ts +7 -0
  302. package/models/book/BookSaveStatus.js +8 -0
  303. package/models/book/Chapter.d.ts +50 -39
  304. package/models/book/Chapter.js +189 -198
  305. package/models/book/ChapterID.js +7 -7
  306. package/models/book/Definition.d.ts +1 -1
  307. package/models/book/Edition.d.ts +87 -61
  308. package/models/book/Edition.js +460 -309
  309. package/models/book/Reference.d.ts +24 -0
  310. package/models/book/Reference.js +78 -0
  311. package/models/book/Schema.d.ts +168 -0
  312. package/models/book/Schema.js +115 -0
  313. package/models/book/Theme.d.ts +44 -37
  314. package/models/book/Theme.js +452 -52
  315. package/models/book/ThemeColors.d.ts +1 -1
  316. package/models/book/Words.d.ts +2 -0
  317. package/models/book/Words.js +110 -0
  318. package/models/chapter/AtomNode.d.ts +4 -4
  319. package/models/chapter/AtomNode.js +20 -13
  320. package/models/chapter/BlockNode.d.ts +9 -10
  321. package/models/chapter/BlockNode.js +32 -13
  322. package/models/chapter/BlocksNode.d.ts +10 -10
  323. package/models/chapter/BlocksNode.js +315 -120
  324. package/models/chapter/BlocksNode.test.js +494 -228
  325. package/models/chapter/Bookkeeping.d.ts +1 -1
  326. package/models/chapter/CalloutNode.d.ts +3 -3
  327. package/models/chapter/CalloutNode.js +34 -12
  328. package/models/chapter/Caret.d.ts +9 -7
  329. package/models/chapter/Caret.js +11 -6
  330. package/models/chapter/ChapterNode.d.ts +11 -11
  331. package/models/chapter/ChapterNode.js +70 -33
  332. package/models/chapter/CitationsNode.d.ts +3 -3
  333. package/models/chapter/CitationsNode.js +31 -12
  334. package/models/chapter/CodeNode.d.ts +11 -6
  335. package/models/chapter/CodeNode.js +143 -34
  336. package/models/chapter/CommentNode.d.ts +5 -5
  337. package/models/chapter/CommentNode.js +29 -13
  338. package/models/chapter/DefinitionNode.d.ts +2 -2
  339. package/models/chapter/DefinitionNode.js +15 -7
  340. package/models/chapter/Edit.d.ts +3 -3
  341. package/models/chapter/EmbedNode.d.ts +9 -5
  342. package/models/chapter/EmbedNode.js +108 -35
  343. package/models/chapter/ErrorNode.d.ts +2 -2
  344. package/models/chapter/ErrorNode.js +34 -12
  345. package/models/chapter/FootnoteNode.d.ts +5 -5
  346. package/models/chapter/FootnoteNode.js +34 -16
  347. package/models/chapter/FormatNode.d.ts +10 -10
  348. package/models/chapter/FormatNode.js +237 -106
  349. package/models/chapter/FormatNode.test.js +87 -45
  350. package/models/chapter/InlineCodeNode.d.ts +2 -2
  351. package/models/chapter/InlineCodeNode.js +22 -9
  352. package/models/chapter/LabelNode.d.ts +4 -4
  353. package/models/chapter/LabelNode.js +31 -13
  354. package/models/chapter/LinkNode.d.ts +2 -2
  355. package/models/chapter/LinkNode.js +21 -9
  356. package/models/chapter/ListNode.d.ts +8 -8
  357. package/models/chapter/ListNode.js +99 -38
  358. package/models/chapter/ListNode.test.js +29 -24
  359. package/models/chapter/MetadataNode.d.ts +3 -3
  360. package/models/chapter/MetadataNode.js +13 -5
  361. package/models/chapter/Node.d.ts +5 -3
  362. package/models/chapter/Node.js +76 -29
  363. package/models/chapter/Node.test.js +20 -18
  364. package/models/chapter/ParagraphNode.d.ts +6 -6
  365. package/models/chapter/ParagraphNode.js +84 -29
  366. package/models/chapter/ParagraphNode.test.js +22 -13
  367. package/models/chapter/Parser.d.ts +27 -27
  368. package/models/chapter/Parser.js +220 -206
  369. package/models/chapter/Parser.test.js +16 -16
  370. package/models/chapter/Position.d.ts +1 -1
  371. package/models/chapter/QuoteNode.d.ts +6 -6
  372. package/models/chapter/QuoteNode.js +61 -23
  373. package/models/chapter/RootNode.d.ts +4 -4
  374. package/models/chapter/RuleNode.d.ts +2 -2
  375. package/models/chapter/RuleNode.js +31 -11
  376. package/models/chapter/TableNode.d.ts +8 -6
  377. package/models/chapter/TableNode.js +89 -34
  378. package/models/chapter/TableNode.test.js +22 -24
  379. package/models/chapter/TextNode.d.ts +6 -6
  380. package/models/chapter/TextNode.js +72 -32
  381. package/models/chapter/TextNode.test.js +4 -4
  382. package/package.json +108 -26
  383. package/util/getSubdomain.js +8 -6
  384. package/util/isMobile.js +1 -1
  385. package/util/mineReference.d.ts +3 -2
  386. package/util/mineReference.js +67 -29
  387. package/util/scrollToEyeLevel.js +6 -1
  388. package/components/chapter/renderPosition.d.ts +0 -3
  389. package/components/chapter/renderPosition.js +0 -4
  390. package/components/editor/ToolbarIcon.svelte +0 -22
  391. package/components/editor/ToolbarIcon.svelte.d.ts +0 -16
  392. package/components/page/Alert.svelte +0 -11
  393. package/components/page/Alert.svelte.d.ts +0 -23
  394. package/components/page/Revisions.svelte +0 -124
  395. package/components/page/Revisions.svelte.d.ts +0 -14
  396. package/models/BookLoader.d.ts +0 -2
  397. package/models/BookLoader.js +0 -67
  398. package/models/Firestore.d.ts +0 -22
  399. package/models/Firestore.js +0 -194
  400. package/models/chapter/ReferenceNode.d.ts +0 -29
  401. package/models/chapter/ReferenceNode.js +0 -48
  402. package/models/loadEdition.d.ts +0 -5
  403. package/models/loadEdition.js +0 -16
@@ -1,29 +1,45 @@
1
- <script>import Parser from "../../models/chapter/Parser";
2
- import BookishEditor from "../editor/BookishEditor.svelte";
3
- import Instructions from "./Instructions.svelte";
4
- import Format from "../chapter/Format.svelte";
5
- import { getEdition, isEditable } from "./Contexts";
1
+ <script>import Parser from '../../models/chapter/Parser';
2
+ import BookishEditor from '../editor/BookishEditor.svelte';
3
+ import Instructions from './Instructions.svelte';
4
+ import Format from '../chapter/Format.svelte';
5
+ import { getUser, getEdition, getLeasee, isEditionEditable, lease, } from './Contexts';
6
+ import PageHeader from './PageHeader.svelte';
7
+ let auth = getUser();
6
8
  let edition = getEdition();
7
- let editable = isEditable();
8
- $: formatNode = Parser.parseFormat($edition, $edition.getLicense()).withTextIfEmpty();
9
+ let editable = isEditionEditable();
9
10
  </script>
10
11
 
11
- <h2 class="bookish-header" id="license">License</h2>
12
+ <PageHeader id="license">License</PageHeader>
12
13
 
13
- <Instructions>
14
- By default of U.S. Copyright Law, your content copyrighted and owned by all authors.
15
- Edit this if you'd like to grant different rights.
14
+ <Instructions {editable}>
15
+ Do you want to specify rights other than your region's default copyrights?
16
+ Edit them here.
16
17
  </Instructions>
17
18
 
18
- <!-- If editable, show acknowledgements even if they're empty, otherwise hide -->
19
- {#if editable }
20
- <BookishEditor
21
- ast={formatNode}
22
- save={node => $edition.setLicense(node.toBookdown())}
23
- chapter={false}
24
- component={Format}
25
- placeholder="In the U.S., all rights reserved by default. Want to offer different rights to readers?"
26
- />
27
- {:else}
28
- <Format node={formatNode} />
29
- {/if}
19
+ {#if $edition}
20
+ <!-- If editable, show acknowledgements even if they're empty, otherwise hide -->
21
+ {#if editable}
22
+ <!-- svelte-ignore missing-declaration -->
23
+ <BookishEditor
24
+ text={$edition.getLicense()}
25
+ parser={(text) =>
26
+ Parser.parseFormat($edition, text).withTextIfEmpty()}
27
+ save={(node) =>
28
+ $edition
29
+ ? edition.set($edition.setLicense(node.toBookdown()))
30
+ : undefined}
31
+ chapter={false}
32
+ component={Format}
33
+ placeholder="license"
34
+ leasee={getLeasee(auth, edition, `license`)}
35
+ lease={(lock) => lease(auth, edition, `license`, lock)}
36
+ />
37
+ {:else}
38
+ <Format
39
+ node={Parser.parseFormat(
40
+ $edition,
41
+ $edition.getLicense()
42
+ ).withTextIfEmpty()}
43
+ />
44
+ {/if}
45
+ {/if}
@@ -1,14 +1,14 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
- props: {};
3
+ props: Record<string, never>;
4
4
  events: {
5
5
  [evt: string]: CustomEvent<any>;
6
6
  };
7
7
  slots: {};
8
8
  };
9
- export declare type LicenseProps = typeof __propDef.props;
10
- export declare type LicenseEvents = typeof __propDef.events;
11
- export declare type LicenseSlots = typeof __propDef.slots;
9
+ export type LicenseProps = typeof __propDef.props;
10
+ export type LicenseEvents = typeof __propDef.events;
11
+ export type LicenseSlots = typeof __propDef.slots;
12
12
  export default class License extends SvelteComponentTyped<LicenseProps, LicenseEvents, LicenseSlots> {
13
13
  }
14
14
  export {};
@@ -1,13 +1,103 @@
1
- <div class={"bookish bookish-loading" + (localStorage.getItem("bookish-dark") === "true" ? " bookish-dark" : "")}>
2
- <div class="bookish-loading-animation">
3
- <div></div>
4
- <div></div>
5
- <div></div>
6
- <div></div>
7
- <div></div>
8
- <div></div>
9
- <div></div>
10
- <div></div>
11
- <div></div>
1
+ <div
2
+ aria-live="polite"
3
+ class={'bookish bookish-loading' +
4
+ (typeof localStorage !== 'undefined' &&
5
+ localStorage.getItem('dark') === 'true'
6
+ ? ' dark'
7
+ : '')}
8
+ >
9
+ <div class="bookish-loading-animation">
10
+ <div />
11
+ <div />
12
+ <div />
13
+ <div />
14
+ <div />
15
+ <div />
16
+ <div />
17
+ <div />
18
+ <div />
12
19
  </div>
13
- </div>
20
+ </div>
21
+
22
+ <style>
23
+ .bookish-loading {
24
+ width: 100vw;
25
+ height: 100vh;
26
+ }
27
+
28
+ .bookish-loading-animation {
29
+ position: fixed;
30
+ width: 80px;
31
+ height: 80px;
32
+ left: 50%;
33
+ top: 50%;
34
+ margin-left: -40px;
35
+ margin-top: -40px;
36
+ z-index: 2;
37
+ }
38
+
39
+ .bookish-loading-animation div {
40
+ position: absolute;
41
+ width: 16px;
42
+ height: 16px;
43
+ border-radius: 50%;
44
+ background: var(--bookish-muted-color);
45
+ animation: bookish-loading 1.2s linear infinite;
46
+ }
47
+
48
+ .bookish-loading-animation div:nth-child(1) {
49
+ top: 8px;
50
+ left: 8px;
51
+ animation-delay: 0s;
52
+ }
53
+ .bookish-loading-animation div:nth-child(2) {
54
+ top: 8px;
55
+ left: 32px;
56
+ animation-delay: -0.4s;
57
+ }
58
+ .bookish-loading-animation div:nth-child(3) {
59
+ top: 8px;
60
+ left: 56px;
61
+ animation-delay: -0.8s;
62
+ }
63
+ .bookish-loading-animation div:nth-child(4) {
64
+ top: 32px;
65
+ left: 8px;
66
+ animation-delay: -0.4s;
67
+ }
68
+ .bookish-loading-animation div:nth-child(5) {
69
+ top: 32px;
70
+ left: 32px;
71
+ animation-delay: -0.8s;
72
+ }
73
+ .bookish-loading-animation div:nth-child(6) {
74
+ top: 32px;
75
+ left: 56px;
76
+ animation-delay: -1.2s;
77
+ }
78
+ .bookish-loading-animation div:nth-child(7) {
79
+ top: 56px;
80
+ left: 8px;
81
+ animation-delay: -0.8s;
82
+ }
83
+ .bookish-loading-animation div:nth-child(8) {
84
+ top: 56px;
85
+ left: 32px;
86
+ animation-delay: -1.2s;
87
+ }
88
+ .bookish-loading-animation div:nth-child(9) {
89
+ top: 56px;
90
+ left: 56px;
91
+ animation-delay: -1.6s;
92
+ }
93
+
94
+ @keyframes bookish-loading {
95
+ 0%,
96
+ 100% {
97
+ opacity: 1;
98
+ }
99
+ 50% {
100
+ opacity: 0.5;
101
+ }
102
+ }
103
+ </style>
@@ -1,7 +1,9 @@
1
1
  /** @typedef {typeof __propDef.props} LoadingProps */
2
2
  /** @typedef {typeof __propDef.events} LoadingEvents */
3
3
  /** @typedef {typeof __propDef.slots} LoadingSlots */
4
- export default class Loading extends SvelteComponentTyped<{}, {
4
+ export default class Loading extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
5
7
  [evt: string]: CustomEvent<any>;
6
8
  }, {}> {
7
9
  }
@@ -10,7 +12,9 @@ export type LoadingEvents = typeof __propDef.events;
10
12
  export type LoadingSlots = typeof __propDef.slots;
11
13
  import { SvelteComponentTyped } from "svelte";
12
14
  declare const __propDef: {
13
- props: {};
15
+ props: {
16
+ [x: string]: never;
17
+ };
14
18
  events: {
15
19
  [evt: string]: CustomEvent<any>;
16
20
  };
@@ -1,17 +1,20 @@
1
- <script>import Header from "./Header.svelte";
1
+ <script>import Header from './Header.svelte';
2
2
  import Outline from './Outline.svelte';
3
3
  import Page from './Page.svelte';
4
4
  import Instructions from './Instructions.svelte';
5
5
  import ChapterIDs from '../../models/book/ChapterID';
6
6
  import Format from '../chapter/Format.svelte';
7
- import MediaPreview from "./MediaPreview.svelte";
8
- import { onMount } from "svelte";
9
- import { getEdition, isEditable } from "./Contexts";
7
+ import MediaPreview from './MediaPreview.svelte';
8
+ import { onMount } from 'svelte';
9
+ import { getBook, getEdition, isBookEditable, isEditionEditable, } from './Contexts';
10
+ import Button from '../app/Button.svelte';
11
+ import PageHeader from './PageHeader.svelte';
12
+ let book = getBook();
10
13
  let edition = getEdition();
11
- let editable = isEditable();
14
+ let editable = isBookEditable();
12
15
  let images = [];
13
- $: embeds = $edition.getEmbeds();
14
- $: media = $edition.getBook()?.getMedia();
16
+ $: embeds = $edition?.getEmbeds() ?? [];
17
+ $: media = $book?.getMedia();
15
18
  function updateImages(newImages) {
16
19
  images = newImages;
17
20
  }
@@ -20,57 +23,82 @@ onMount(() => {
20
23
  media?.notify(updateImages);
21
24
  return () => media?.stopNotifying(updateImages);
22
25
  });
23
- $: unused = images?.filter(image => embeds.find(embed => embed.getURL() === image.url) === undefined);
26
+ $: unused = images?.filter((image) => embeds.find((embed) => embed.getURL() === image.url) === undefined);
24
27
  </script>
25
28
 
26
- <Page title={`${$edition.getTitle()} - Media`}>
27
- <Header
28
- label="Media title"
29
- getImage={() => $edition.getImage(ChapterIDs.MediaID)}
30
- setImage={(embed) => $edition.setImage(ChapterIDs.MediaID, embed)}
31
- header="Media"
32
- tags={$edition.getTags()}
33
- >
34
- <Outline
35
- slot="outline"
36
- previous={$edition.getPreviousChapterID(ChapterIDs.MediaID)}
37
- next={$edition.getNextChapterID(ChapterIDs.MediaID)}
38
- />
39
- </Header>
40
- <Instructions>
41
- This page shows readers an index of the media in the book.
42
- Writers can use this page to manage any images that are linked or uploaded for this book.
43
- Note: images are shared between all editions, so if you delete one not used in this edition,
44
- it might be used in others.
45
- </Instructions>
46
-
47
- {#if embeds.length === 0}
48
- <p>No images or videos appear in the book.</p>
49
- {:else}
50
- <p>These are the images and videos in the book:</p>
51
- {/if}
52
- {#each embeds as embed }
53
- <MediaPreview
54
- url={embed.getSmallURL()}
55
- alt={embed.getDescription()}
29
+ {#if $edition}
30
+ <Page title={`${$edition.getTitle()} - Media`}>
31
+ <Header
32
+ editable={isEditionEditable()}
33
+ label="Media title"
34
+ id="media"
35
+ getImage={() => $edition?.getImage(ChapterIDs.MediaID) ?? null}
36
+ setImage={(embed) =>
37
+ $edition
38
+ ? edition.set($edition.withImage(ChapterIDs.MediaID, embed))
39
+ : undefined}
40
+ header="Media"
41
+ tags={$edition.getTags()}
56
42
  >
57
- <span>{editable ? (images && images.find(i => i.url === embed.getURL()) === undefined) ? "linked" : "uploaded" : null }{embed.getCredit().isEmptyText() ? null : " • "}<Format node={embed.getCredit()}/></span>
58
- </MediaPreview>
59
- {/each}
60
- {#if editable !== undefined && unused !== undefined && unused.length > 0 }
61
- <h2>Unused</h2>
62
- <Instructions>
63
- These images are uploaded to this book, but not used.
64
- Delete them if you don't need them.
65
- Note, however, that these images may be used in other editions of this book.
43
+ <Outline
44
+ slot="outline"
45
+ previous={$edition.getPreviousChapterID(ChapterIDs.MediaID)}
46
+ next={$edition.getNextChapterID(ChapterIDs.MediaID)}
47
+ />
48
+ </Header>
49
+ <Instructions {editable}>
50
+ These are a sequential index of the media in the book. You can use
51
+ this page to manage any images that are linked or uploaded for this
52
+ book. Note: images are shared between all editions, so if you delete
53
+ one not used in this edition, it might be used in others.
66
54
  </Instructions>
67
- {#each unused as image }
55
+
56
+ {#if embeds.length === 0}
57
+ <p>No images or videos appear in the book.</p>
58
+ {:else}
59
+ <p>These are the images and videos in the book:</p>
60
+ {/if}
61
+ {#each embeds as embed}
68
62
  <MediaPreview
69
- url={image.url}
70
- alt={""}
63
+ url={embed.getSmallURL()}
64
+ alt={embed.getDescription() === ''
65
+ ? 'no description, image not used'
66
+ : embed.getDescription()}
71
67
  >
72
- <span>uploaded <button on:click={() => media?.remove(image).then(images => updateImages(images))}>x</button></span>
68
+ <span
69
+ >{#if editable}{images &&
70
+ images.find((i) => i.url === embed.getURL()) ===
71
+ undefined
72
+ ? 'linked'
73
+ : 'uploaded'}{embed.getCredit().isEmptyText()
74
+ ? ''
75
+ : ' • '}{/if}<Format
76
+ node={embed.getCredit()}
77
+ /></span
78
+ >
73
79
  </MediaPreview>
74
80
  {/each}
75
- {/if}
76
- </Page>
81
+ {#if editable && unused !== undefined && unused.length > 0}
82
+ <PageHeader id="unused">Unused</PageHeader>
83
+ <Instructions {editable}>
84
+ These images are uploaded for this book, but not used in this
85
+ edition. Delete them if you don't need them. Warning: images may
86
+ be used in other editions of this book.
87
+ </Instructions>
88
+ {#each unused as image}
89
+ <MediaPreview url={image.url} alt={''}>
90
+ <span
91
+ >uploaded <Button
92
+ tooltip="delete unused image"
93
+ command={() =>
94
+ media
95
+ ?.remove(image)
96
+ .then((images) => updateImages(images))}
97
+ >- image</Button
98
+ ></span
99
+ >
100
+ </MediaPreview>
101
+ {/each}
102
+ {/if}
103
+ </Page>
104
+ {/if}
@@ -1,14 +1,14 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
- props: {};
3
+ props: Record<string, never>;
4
4
  events: {
5
5
  [evt: string]: CustomEvent<any>;
6
6
  };
7
7
  slots: {};
8
8
  };
9
- export declare type MediaProps = typeof __propDef.props;
10
- export declare type MediaEvents = typeof __propDef.events;
11
- export declare type MediaSlots = typeof __propDef.slots;
9
+ export type MediaProps = typeof __propDef.props;
10
+ export type MediaEvents = typeof __propDef.events;
11
+ export type MediaSlots = typeof __propDef.slots;
12
12
  export default class Media extends SvelteComponentTyped<MediaProps, MediaEvents, MediaSlots> {
13
13
  }
14
14
  export {};
@@ -1,11 +1,29 @@
1
1
  <script>export let url;
2
2
  export let alt;
3
3
  </script>
4
-
5
- <span class={"bookish-figure-preview"}>
6
- <img
7
- src={url}
8
- alt={alt}
9
- />
10
- <div class="bookish-figure-credit"><slot></slot></div>
11
- </span>
4
+
5
+ <figure class={'media-preview'}>
6
+ <img src={url} {alt} />
7
+ <figcaption class="credit"><slot /></figcaption>
8
+ </figure>
9
+
10
+ <style>
11
+ .media-preview {
12
+ display: inline-block;
13
+ width: 10rem;
14
+ margin: 1em;
15
+ vertical-align: bottom;
16
+ }
17
+
18
+ .media-preview img {
19
+ width: 100%;
20
+ height: auto;
21
+ }
22
+
23
+ .credit {
24
+ display: block;
25
+ text-align: right;
26
+ font-style: italic;
27
+ font-size: var(--bookish-small-font-size);
28
+ }
29
+ </style>
@@ -11,9 +11,9 @@ declare const __propDef: {
11
11
  default: {};
12
12
  };
13
13
  };
14
- export declare type MediaPreviewProps = typeof __propDef.props;
15
- export declare type MediaPreviewEvents = typeof __propDef.events;
16
- export declare type MediaPreviewSlots = typeof __propDef.slots;
14
+ export type MediaPreviewProps = typeof __propDef.props;
15
+ export type MediaPreviewEvents = typeof __propDef.events;
16
+ export type MediaPreviewSlots = typeof __propDef.slots;
17
17
  export default class MediaPreview extends SvelteComponentTyped<MediaPreviewProps, MediaPreviewEvents, MediaPreviewSlots> {
18
18
  }
19
19
  export {};
@@ -0,0 +1,10 @@
1
+ <span class="muted"><slot /></span>
2
+
3
+ <style>
4
+ /* TYPOGRAPHY */
5
+ .muted {
6
+ color: var(--bookish-muted-color);
7
+ font-weight: normal;
8
+ font-size: var(--bookish-block-font-size);
9
+ }
10
+ </style>
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} MutedProps */
2
+ /** @typedef {typeof __propDef.events} MutedEvents */
3
+ /** @typedef {typeof __propDef.slots} MutedSlots */
4
+ export default class Muted extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {
9
+ default: {};
10
+ }> {
11
+ }
12
+ export type MutedProps = typeof __propDef.props;
13
+ export type MutedEvents = typeof __propDef.events;
14
+ export type MutedSlots = 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 {};