bookish-press 0.4.1 → 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 -81
  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
@@ -3,7 +3,7 @@
3
3
  Status[Status["Viewing"] = 0] = "Viewing";
4
4
  Status[Status["Editing"] = 1] = "Editing";
5
5
  })(Status || (Status = {}));
6
- export let startText;
6
+ export let text;
7
7
  export let label;
8
8
  export let placeholder;
9
9
  export let valid;
@@ -11,21 +11,26 @@ export let save;
11
11
  export let saveOnExit = false;
12
12
  export let width = undefined;
13
13
  export let clip = false;
14
- let text = startText;
14
+ export let move = undefined;
15
15
  let status = Status.Viewing;
16
- let error = valid(text);
17
16
  let field = null;
18
17
  let sizer = null;
18
+ $: error = valid(text);
19
19
  // Grow the sizer when text or status changes.
20
20
  $: {
21
21
  if (sizer) {
22
22
  // Set the invisible sizer to the text to set the container's width.
23
23
  // The browser strips trailing spaces, causing jitter after a space, so we replace
24
24
  // them with non-breaking spaces.
25
- const sizedText = showPlaceholder() ? placeholder : text.replace(/\s/g, "\u00a0");
25
+ const sizedText = showPlaceholder()
26
+ ? placeholder
27
+ : text.replace(/\s/g, '\u00a0');
26
28
  // Clip the text to prevent this editor from getting too long when editing or when asked to.. If it goes past one line,
27
29
  // the measurements and layout are way off.
28
- const trimmedText = width !== undefined && (clip === true || status === Status.Editing) ? sizedText.substring(0, width) + "…" : sizedText;
30
+ const trimmedText = width !== undefined &&
31
+ (clip === true || status === Status.Editing)
32
+ ? sizedText.substring(0, width) + '…'
33
+ : sizedText;
29
34
  sizer.innerHTML = trimmedText;
30
35
  }
31
36
  }
@@ -46,7 +51,7 @@ $: {
46
51
  saveText(text);
47
52
  }
48
53
  function showPlaceholder() {
49
- return text === "";
54
+ return text === '';
50
55
  }
51
56
  function startEditing() {
52
57
  status = Status.Editing;
@@ -66,64 +71,86 @@ function edit() {
66
71
  function saveText(newText) {
67
72
  if (validate(newText) === undefined) {
68
73
  const revisedText = save(newText);
69
- if (typeof revisedText === "string") {
74
+ if (typeof revisedText === 'string') {
70
75
  text = revisedText;
71
76
  }
72
77
  if (revisedText instanceof Promise)
73
- revisedText.catch((err) => error = err.message);
78
+ revisedText.catch((err) => (error = err.message));
74
79
  }
75
80
  }
76
81
  function validate(value) {
77
82
  return valid(value);
78
83
  }
79
84
  function handleKeyPress(event) {
80
- if (event.key === "Enter")
85
+ if (event.key === 'Enter')
81
86
  status = Status.Viewing;
87
+ else if (event.key === 'ArrowUp' && move && field) {
88
+ event.preventDefault();
89
+ move(field, -1);
90
+ }
91
+ else if (event.key === 'ArrowDown' && move && field) {
92
+ event.preventDefault();
93
+ move(field, 1);
94
+ }
82
95
  }
83
96
  </script>
84
97
 
85
- <span class={`bookish-text-editor ${showPlaceholder() ? "bookish-text-editor-placeholder" : ""} ${status === Status.Viewing ? "bookish-text-editor-viewing" : ""}`}>
86
- <span class="bookish-text-editor-sizer" aria-hidden={true} bind:this={sizer} on:click={startEditing}></span>
98
+ <span
99
+ class={`text-editor ${showPlaceholder() ? 'placeholder' : ''} ${
100
+ status === Status.Viewing ? 'viewing' : ''
101
+ }`}
102
+ >
103
+ <span
104
+ class={`sizer ${error ? 'error' : ''}`}
105
+ aria-hidden={true}
106
+ bind:this={sizer}
107
+ on:click={startEditing}
108
+ />
87
109
  <input
88
- type="text"
110
+ type="text"
89
111
  bind:this={field}
90
112
  bind:value={text}
91
113
  required
92
114
  role="textbox"
93
115
  aria-invalid={error !== undefined}
94
116
  aria-label={label}
95
- placeholder={placeholder}
117
+ aria-placeholder={label}
118
+ {placeholder}
96
119
  on:change={edit}
97
- on:keypress={handleKeyPress}
120
+ on:keydown={handleKeyPress}
98
121
  on:blur={stopEditing}
99
122
  on:focus={startEditing}
100
123
  />
101
- {#if error }
124
+ {#if error && status === Status.Editing}
102
125
  <span
103
126
  aria-live="polite"
104
- class={`bookish-text-editor-error ${status === Status.Editing ? "bookish-text-editor-error-focused" : ""}`}
127
+ class={`text-editor-error ${
128
+ status === Status.Editing ? 'editing' : ''
129
+ }`}
105
130
  >
106
- {status === Status.Viewing ? "\u2715" : error}
131
+ {error}
107
132
  </span>
108
133
  {/if}
109
134
  </span>
110
135
 
111
136
  <style>
112
- .bookish-text-editor {
137
+ .text-editor {
113
138
  position: relative;
114
139
  }
115
140
 
116
- .bookish-text-editor input[type="text"] {
141
+ input[type='text'] {
117
142
  cursor: pointer;
118
143
  position: absolute;
144
+ top: 0;
119
145
  left: 0;
120
- margin-top: -2px; /* Matches the outline offset */
121
- width: 100%;
146
+ width: 100%; /* Fill the entire space so that alignment with sizer is correct.*/
147
+ height: 100%;
122
148
  min-width: 0.5em;
123
149
  }
124
150
 
125
151
  /* Match the parent's styling as much as possible. */
126
- .bookish-text-editor input[type="text"], .bookish-text-editor-sizer {
152
+ input[type='text'],
153
+ .sizer {
127
154
  background-color: inherit;
128
155
  font-family: inherit;
129
156
  font-size: inherit;
@@ -131,40 +158,59 @@ function handleKeyPress(event) {
131
158
  font-style: inherit;
132
159
  line-height: inherit;
133
160
  color: inherit;
134
- border: none;
135
161
  box-sizing: content-box;
136
162
  padding: 0;
137
163
  margin: 0;
138
164
  display: inline;
139
165
  cursor: text;
166
+ vertical-align: inherit;
167
+ }
168
+
169
+ input[type='text']:focus {
170
+ outline: none;
171
+ border: none;
172
+ border-bottom: var(--app-chrome-border-size) solid
173
+ var(--app-interactive-color);
140
174
  }
141
175
 
142
176
  /* This ensures the error message always appears below empty text editors */
143
- .bookish-text-editor-sizer {
177
+ .sizer {
144
178
  min-height: 1em;
145
179
  opacity: 0;
180
+ border: none;
181
+ outline: none;
146
182
  }
147
183
 
148
- .bookish-text-editor-viewing .bookish-text-editor-sizer {
184
+ .sizer.error {
185
+ border-bottom: var(--app-chrome-border-size) solid
186
+ var(--app-error-color) !important;
187
+ }
188
+
189
+ .viewing .sizer {
149
190
  opacity: 1;
150
191
  }
151
192
 
152
193
  /* This ensures that the sizer doesn't end up with zero width and height. */
153
- .bookish-text-editor-sizer:empty:before {
154
- content: "\200b";
194
+ .sizer:empty:before {
195
+ content: '\200b';
155
196
  }
156
197
 
157
198
  /* Override the inherited color of the text is a placeholder */
158
- .bookish-text-editor-placeholder .bookish-text-editor-sizer {
159
- color: var(--bookish-app-chrome-muted);
199
+ .placeholder .sizer {
200
+ color: var(--app-muted-color);
160
201
  }
161
202
 
162
203
  /* Hide the text field when its being viewed so we can let the sizer display the full value, in case it's long. */
163
- .bookish-text-editor.bookish-text-editor-viewing input {
204
+ .text-editor.viewing input {
164
205
  opacity: 0;
165
206
  }
166
207
 
167
- .bookish-text-editor .bookish-text-editor-error {
208
+ .editing {
209
+ /* Put this above other errors nearby. */
210
+ z-index: 4;
211
+ }
212
+
213
+ .text-editor-error {
168
214
  position: absolute;
169
215
  left: 0;
170
216
  top: 100%;
@@ -173,21 +219,13 @@ function handleKeyPress(event) {
173
219
  line-height: 1em;
174
220
  margin-left: -0.5em;
175
221
  padding: 0.5em 0.5em;
176
- }
177
-
178
- .bookish-text-editor .bookish-text-editor-error.bookish-text-editor-error-focused {
179
- /* Put this above other errors nearby. */
180
- z-index: 4;
181
- }
182
-
183
- .bookish-editor-error, .bookish-text-editor-error {
184
- font-family: var(--bookish-app-chrome-font-family);
185
- font-size: var(--bookish-small-font-size);
222
+ font-family: var(--app-font);
223
+ font-size: 80%;
186
224
  font-weight: normal;
187
225
  font-style: normal;
188
- color: var(--bookish-app-error-color);
189
- background: var(--bookish-background-color);
226
+ color: var(--app-error-color);
227
+ border-radius: var(--app-chrome-roundedness);
228
+ background: var(--app-chrome-background);
190
229
  animation: failure 100ms 10;
191
230
  }
192
-
193
- </style>
231
+ </style>
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- startText: string;
4
+ text: string;
5
5
  label: string;
6
6
  placeholder: string;
7
7
  valid: (text: string) => string | undefined;
@@ -9,15 +9,16 @@ declare const __propDef: {
9
9
  saveOnExit?: boolean | undefined;
10
10
  width?: number | undefined;
11
11
  clip?: boolean | undefined;
12
+ move?: ((el: HTMLElement, direction: -1 | 1) => void) | undefined;
12
13
  };
13
14
  events: {
14
15
  [evt: string]: CustomEvent<any>;
15
16
  };
16
17
  slots: {};
17
18
  };
18
- export declare type TextEditorProps = typeof __propDef.props;
19
- export declare type TextEditorEvents = typeof __propDef.events;
20
- export declare type TextEditorSlots = typeof __propDef.slots;
19
+ export type TextEditorProps = typeof __propDef.props;
20
+ export type TextEditorEvents = typeof __propDef.events;
21
+ export type TextEditorSlots = typeof __propDef.slots;
21
22
  export default class TextEditor extends SvelteComponentTyped<TextEditorProps, TextEditorEvents, TextEditorSlots> {
22
23
  }
23
24
  export {};
@@ -15,24 +15,27 @@ function toggle() {
15
15
  return;
16
16
  }
17
17
  promise
18
- .then(() => saving = Status.Viewing)
19
- .catch(() => saving = Status.Error);
18
+ .then(() => (saving = Status.Viewing))
19
+ .catch(() => (saving = Status.Error));
20
20
  }
21
21
  </script>
22
22
 
23
- <div
24
- class={`bookish-app-interactive ${saving === Status.Saving ? " bookish-text-editor-saving" : ""} ${saving === Status.Error ? " bookish-text-editor-error" : ""}`}
25
- tabIndex=0
23
+ <div
24
+ class={`bookish-app-interactive ${
25
+ saving === Status.Saving ? ' bookish-text-editor-saving' : ''
26
+ } ${saving === Status.Error ? ' bookish-text-editor-error' : ''}`}
27
+ tabIndex="0"
26
28
  role="switch"
27
29
  aria-checked={on}
28
- on:keydown|preventDefault={event => event.key === "Enter" || event.key === "Space" ? toggle() : undefined }
30
+ on:keydown={(event) =>
31
+ event.key === 'Enter' || event.key === 'Space' ? toggle() : undefined}
29
32
  on:click={toggle}
30
33
  >
31
- <slot></slot>
34
+ <slot />
32
35
  </div>
33
36
 
34
37
  <style>
35
38
  .bookish-app-interactive {
36
39
  cursor: pointer;
37
40
  }
38
- </style>
41
+ </style>
@@ -2,7 +2,7 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  on: boolean;
5
- save: (set: boolean) => Promise<void> | undefined;
5
+ save: (set: boolean) => Promise<void> | void;
6
6
  };
7
7
  events: {
8
8
  [evt: string]: CustomEvent<any>;
@@ -11,9 +11,9 @@ declare const __propDef: {
11
11
  default: {};
12
12
  };
13
13
  };
14
- export declare type ToggleProps = typeof __propDef.props;
15
- export declare type ToggleEvents = typeof __propDef.events;
16
- export declare type ToggleSlots = typeof __propDef.slots;
14
+ export type ToggleProps = typeof __propDef.props;
15
+ export type ToggleEvents = typeof __propDef.events;
16
+ export type ToggleSlots = typeof __propDef.slots;
17
17
  export default class Toggle extends SvelteComponentTyped<ToggleProps, ToggleEvents, ToggleSlots> {
18
18
  }
19
19
  export {};