bookish-press 0.7.4 → 0.9.2

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 (276) hide show
  1. package/README.md +56 -9
  2. package/dist/components/Auth.svelte +29 -39
  3. package/dist/components/Auth.svelte.d.ts +5 -17
  4. package/dist/components/BookPreview.svelte +14 -20
  5. package/dist/components/BookPreview.svelte.d.ts +6 -18
  6. package/dist/components/Link.svelte +19 -30
  7. package/dist/components/Link.svelte.d.ts +7 -20
  8. package/dist/components/app/BookList.svelte +2 -3
  9. package/dist/components/app/BookList.svelte.d.ts +6 -18
  10. package/dist/components/app/Button.svelte +12 -8
  11. package/dist/components/app/Button.svelte.d.ts +10 -23
  12. package/dist/components/app/Feedback.svelte +4 -4
  13. package/dist/components/app/Feedback.svelte.d.ts +6 -19
  14. package/dist/components/app/Head.svelte +2 -2
  15. package/dist/components/app/Head.svelte.d.ts +6 -19
  16. package/dist/components/app/Large.svelte +4 -1
  17. package/dist/components/app/Large.svelte.d.ts +5 -28
  18. package/dist/components/app/Lead.svelte +4 -1
  19. package/dist/components/app/Lead.svelte.d.ts +5 -28
  20. package/dist/components/app/Link.svelte +12 -9
  21. package/dist/components/app/Link.svelte.d.ts +9 -22
  22. package/dist/components/app/Options.svelte +8 -6
  23. package/dist/components/app/Options.svelte.d.ts +8 -20
  24. package/dist/components/app/Paragraph.svelte +2 -2
  25. package/dist/components/app/Paragraph.svelte.d.ts +6 -19
  26. package/dist/components/app/Section.svelte +4 -1
  27. package/dist/components/app/Section.svelte.d.ts +5 -28
  28. package/dist/components/app/Table.svelte +4 -1
  29. package/dist/components/app/Table.svelte.d.ts +5 -28
  30. package/dist/components/app/TextInput.svelte +10 -8
  31. package/dist/components/app/TextInput.svelte.d.ts +12 -23
  32. package/dist/components/chapter/Atom.svelte +4 -7
  33. package/dist/components/chapter/Atom.svelte.d.ts +6 -19
  34. package/dist/components/chapter/Block.svelte +21 -23
  35. package/dist/components/chapter/Block.svelte.d.ts +5 -17
  36. package/dist/components/chapter/Callout.svelte +3 -5
  37. package/dist/components/chapter/Callout.svelte.d.ts +5 -17
  38. package/dist/components/chapter/CaptionedCode.svelte +12 -14
  39. package/dist/components/chapter/CaptionedCode.svelte.d.ts +5 -17
  40. package/dist/components/chapter/ChapterBody.svelte +14 -17
  41. package/dist/components/chapter/ChapterBody.svelte.d.ts +7 -19
  42. package/dist/components/chapter/ChapterBody.test.d.ts +1 -0
  43. package/dist/components/chapter/ChapterBody.test.js +85 -0
  44. package/dist/components/chapter/Citations.svelte +39 -45
  45. package/dist/components/chapter/Citations.svelte.d.ts +5 -17
  46. package/dist/components/chapter/Code.svelte +158 -155
  47. package/dist/components/chapter/Code.svelte.d.ts +10 -23
  48. package/dist/components/chapter/Comment.svelte +30 -23
  49. package/dist/components/chapter/Comment.svelte.d.ts +5 -17
  50. package/dist/components/chapter/Definition.svelte +36 -34
  51. package/dist/components/chapter/Definition.svelte.d.ts +5 -17
  52. package/dist/components/chapter/Embed.svelte +78 -72
  53. package/dist/components/chapter/Embed.svelte.d.ts +8 -20
  54. package/dist/components/chapter/ErrorMessage.svelte +2 -4
  55. package/dist/components/chapter/ErrorMessage.svelte.d.ts +5 -17
  56. package/dist/components/chapter/Figure.svelte +22 -29
  57. package/dist/components/chapter/Figure.svelte.d.ts +9 -22
  58. package/dist/components/chapter/Footnote.svelte +40 -32
  59. package/dist/components/chapter/Footnote.svelte.d.ts +5 -17
  60. package/dist/components/chapter/Format.svelte +26 -41
  61. package/dist/components/chapter/Format.svelte.d.ts +7 -18
  62. package/dist/components/chapter/InlineCode.svelte +7 -8
  63. package/dist/components/chapter/InlineCode.svelte.d.ts +5 -17
  64. package/dist/components/chapter/Label.svelte +5 -11
  65. package/dist/components/chapter/Label.svelte.d.ts +5 -17
  66. package/dist/components/chapter/LineBreak.svelte +1 -3
  67. package/dist/components/chapter/LineBreak.svelte.d.ts +5 -17
  68. package/dist/components/chapter/Link.svelte +17 -23
  69. package/dist/components/chapter/Link.svelte.d.ts +5 -17
  70. package/dist/components/chapter/List.svelte +9 -9
  71. package/dist/components/chapter/List.svelte.d.ts +6 -17
  72. package/dist/components/chapter/Marginal.svelte +59 -60
  73. package/dist/components/chapter/Marginal.svelte.d.ts +10 -22
  74. package/dist/components/chapter/Paragraph.svelte +8 -23
  75. package/dist/components/chapter/Paragraph.svelte.d.ts +6 -18
  76. package/dist/components/chapter/Positioned.svelte +2 -4
  77. package/dist/components/chapter/Positioned.svelte.d.ts +6 -19
  78. package/dist/components/chapter/Problem.svelte +3 -2
  79. package/dist/components/chapter/Problem.svelte.d.ts +5 -28
  80. package/dist/components/chapter/Python.svelte +45 -58
  81. package/dist/components/chapter/Python.svelte.d.ts +6 -18
  82. package/dist/components/chapter/Quote.svelte +5 -7
  83. package/dist/components/chapter/Quote.svelte.d.ts +5 -17
  84. package/dist/components/chapter/Rule.svelte +1 -3
  85. package/dist/components/chapter/Rule.svelte.d.ts +5 -17
  86. package/dist/components/chapter/Table.svelte +6 -8
  87. package/dist/components/chapter/Table.svelte.d.ts +5 -17
  88. package/dist/components/chapter/Text.svelte +54 -69
  89. package/dist/components/chapter/Text.svelte.d.ts +6 -18
  90. package/dist/components/controls/DarkToggle.svelte +7 -8
  91. package/dist/components/controls/DarkToggle.svelte.d.ts +6 -18
  92. package/dist/components/editor/BookishEditor.svelte +583 -761
  93. package/dist/components/editor/BookishEditor.svelte.d.ts +14 -26
  94. package/dist/components/editor/CalloutEditor.svelte +3 -3
  95. package/dist/components/editor/CalloutEditor.svelte.d.ts +5 -17
  96. package/dist/components/editor/CaptionedCodeEditor.svelte +5 -5
  97. package/dist/components/editor/CaptionedCodeEditor.svelte.d.ts +5 -17
  98. package/dist/components/editor/CaretView.svelte +23 -25
  99. package/dist/components/editor/CaretView.svelte.d.ts +15 -27
  100. package/dist/components/editor/CitationsEditor.svelte +25 -28
  101. package/dist/components/editor/CitationsEditor.svelte.d.ts +5 -17
  102. package/dist/components/editor/ConfirmButton.svelte +9 -6
  103. package/dist/components/editor/ConfirmButton.svelte.d.ts +8 -21
  104. package/dist/components/editor/DefinitionEditor.svelte +11 -15
  105. package/dist/components/editor/DefinitionEditor.svelte.d.ts +5 -17
  106. package/dist/components/editor/EmbedEditor.svelte +44 -45
  107. package/dist/components/editor/EmbedEditor.svelte.d.ts +5 -17
  108. package/dist/components/editor/Icon.svelte +1 -1
  109. package/dist/components/editor/Icon.svelte.d.ts +5 -17
  110. package/dist/components/editor/ImageChooser.svelte +15 -18
  111. package/dist/components/editor/ImageChooser.svelte.d.ts +6 -18
  112. package/dist/components/editor/ImageThumbnail.svelte +29 -24
  113. package/dist/components/editor/ImageThumbnail.svelte.d.ts +7 -19
  114. package/dist/components/editor/InlineCodeEditor.svelte +3 -3
  115. package/dist/components/editor/InlineCodeEditor.svelte.d.ts +5 -17
  116. package/dist/components/editor/LabelEditor.svelte +5 -6
  117. package/dist/components/editor/LabelEditor.svelte.d.ts +5 -17
  118. package/dist/components/editor/LanguageEditor.svelte +4 -5
  119. package/dist/components/editor/LanguageEditor.svelte.d.ts +6 -18
  120. package/dist/components/editor/LinkEditor.svelte +52 -68
  121. package/dist/components/editor/LinkEditor.svelte.d.ts +5 -17
  122. package/dist/components/editor/Note.svelte +4 -1
  123. package/dist/components/editor/Note.svelte.d.ts +5 -28
  124. package/dist/components/editor/Permissions.svelte +36 -34
  125. package/dist/components/editor/Permissions.svelte.d.ts +9 -21
  126. package/dist/components/editor/PositionEditor.svelte +6 -7
  127. package/dist/components/editor/PositionEditor.svelte.d.ts +6 -18
  128. package/dist/components/editor/QuoteEditor.svelte +3 -3
  129. package/dist/components/editor/QuoteEditor.svelte.d.ts +5 -17
  130. package/dist/components/editor/Switch.svelte +16 -11
  131. package/dist/components/editor/Switch.svelte.d.ts +9 -21
  132. package/dist/components/editor/TableEditor.svelte +3 -3
  133. package/dist/components/editor/TableEditor.svelte.d.ts +5 -17
  134. package/dist/components/editor/TextEditor.svelte +74 -87
  135. package/dist/components/editor/TextEditor.svelte.d.ts +13 -25
  136. package/dist/components/editor/Toggle.svelte +18 -21
  137. package/dist/components/editor/Toggle.svelte.d.ts +7 -20
  138. package/dist/components/editor/Toolbar.svelte +140 -145
  139. package/dist/components/editor/Toolbar.svelte.d.ts +5 -17
  140. package/dist/components/editor/ToolbarGroup.svelte +4 -4
  141. package/dist/components/editor/ToolbarGroup.svelte.d.ts +6 -19
  142. package/dist/components/editor/ToolbarSpacer.svelte +1 -1
  143. package/dist/components/editor/ToolbarSpacer.svelte.d.ts +22 -21
  144. package/dist/components/editor/URLEditor.svelte +3 -5
  145. package/dist/components/editor/URLEditor.svelte.d.ts +7 -19
  146. package/dist/components/page/Acknowledgements.svelte +14 -8
  147. package/dist/components/page/Acknowledgements.svelte.d.ts +3 -16
  148. package/dist/components/page/Analytics.svelte +2 -3
  149. package/dist/components/page/Analytics.svelte.d.ts +6 -17
  150. package/dist/components/page/Authors.svelte +29 -29
  151. package/dist/components/page/Authors.svelte.d.ts +11 -23
  152. package/dist/components/page/BookLoader.svelte +47 -43
  153. package/dist/components/page/BookLoader.svelte.d.ts +5 -17
  154. package/dist/components/page/BulkReferenceEditor.svelte +43 -26
  155. package/dist/components/page/BulkReferenceEditor.svelte.d.ts +3 -16
  156. package/dist/components/page/Chapter.svelte +224 -249
  157. package/dist/components/page/Chapter.svelte.d.ts +6 -18
  158. package/dist/components/page/ChapterContext.d.ts +3 -1
  159. package/dist/components/page/ChapterNumber.svelte +4 -1
  160. package/dist/components/page/ChapterNumber.svelte.d.ts +5 -28
  161. package/dist/components/page/ChapterTitle.svelte +4 -4
  162. package/dist/components/page/ChapterTitle.svelte.d.ts +6 -19
  163. package/dist/components/page/Contexts.js +2 -2
  164. package/dist/components/page/DefinitionView.svelte +51 -44
  165. package/dist/components/page/DefinitionView.svelte.d.ts +6 -18
  166. package/dist/components/page/Description.svelte +10 -4
  167. package/dist/components/page/Description.svelte.d.ts +16 -14
  168. package/dist/components/page/DownloadEPUB.svelte +234 -0
  169. package/dist/components/page/DownloadEPUB.svelte.d.ts +3 -0
  170. package/dist/components/page/EditableHeader.svelte +4 -6
  171. package/dist/components/page/EditableHeader.svelte.d.ts +7 -18
  172. package/dist/components/page/Edition.svelte +57 -71
  173. package/dist/components/page/Edition.svelte.d.ts +7 -20
  174. package/dist/components/page/EditionLoader.svelte +119 -82
  175. package/dist/components/page/EditionLoader.svelte.d.ts +6 -19
  176. package/dist/components/page/Editions.svelte +26 -31
  177. package/dist/components/page/Editions.svelte.d.ts +5 -17
  178. package/dist/components/page/Glossary.svelte +31 -35
  179. package/dist/components/page/Glossary.svelte.d.ts +3 -16
  180. package/dist/components/page/Header.svelte +43 -49
  181. package/dist/components/page/Header.svelte.d.ts +19 -30
  182. package/dist/components/page/Index.svelte +46 -46
  183. package/dist/components/page/Index.svelte.d.ts +3 -16
  184. package/dist/components/page/Instructions.svelte +2 -2
  185. package/dist/components/page/Instructions.svelte.d.ts +6 -19
  186. package/dist/components/page/License.svelte +13 -7
  187. package/dist/components/page/License.svelte.d.ts +16 -14
  188. package/dist/components/page/Loading.svelte +9 -9
  189. package/dist/components/page/Loading.svelte.d.ts +22 -21
  190. package/dist/components/page/Media.svelte +36 -27
  191. package/dist/components/page/Media.svelte.d.ts +3 -16
  192. package/dist/components/page/MediaPreview.svelte +22 -19
  193. package/dist/components/page/MediaPreview.svelte.d.ts +8 -21
  194. package/dist/components/page/Muted.svelte +4 -1
  195. package/dist/components/page/Muted.svelte.d.ts +5 -28
  196. package/dist/components/page/Outline.svelte +75 -97
  197. package/dist/components/page/Outline.svelte.d.ts +8 -20
  198. package/dist/components/page/Page.svelte +23 -33
  199. package/dist/components/page/Page.svelte.d.ts +7 -20
  200. package/dist/components/page/PageHeader.svelte +2 -2
  201. package/dist/components/page/PageHeader.svelte.d.ts +6 -19
  202. package/dist/components/page/PageParagraph.svelte +4 -1
  203. package/dist/components/page/PageParagraph.svelte.d.ts +5 -28
  204. package/dist/components/page/PossibleChapter.svelte +7 -7
  205. package/dist/components/page/PossibleChapter.svelte.d.ts +3 -16
  206. package/dist/components/page/PossibleReference.svelte +4 -5
  207. package/dist/components/page/PossibleReference.svelte.d.ts +6 -18
  208. package/dist/components/page/Print.svelte +11 -12
  209. package/dist/components/page/Print.svelte.d.ts +3 -16
  210. package/dist/components/page/Publish.svelte +47 -47
  211. package/dist/components/page/Publish.svelte.d.ts +3 -16
  212. package/dist/components/page/Reference.svelte +24 -35
  213. package/dist/components/page/Reference.svelte.d.ts +6 -18
  214. package/dist/components/page/References.svelte +21 -22
  215. package/dist/components/page/References.svelte.d.ts +3 -16
  216. package/dist/components/page/Rows.svelte +5 -2
  217. package/dist/components/page/Rows.svelte.d.ts +5 -28
  218. package/dist/components/page/Search.svelte +59 -61
  219. package/dist/components/page/Search.svelte.d.ts +3 -16
  220. package/dist/components/page/Status.svelte +2 -2
  221. package/dist/components/page/Status.svelte.d.ts +16 -14
  222. package/dist/components/page/SubdomainEditor.svelte +11 -11
  223. package/dist/components/page/SubdomainEditor.svelte.d.ts +16 -14
  224. package/dist/components/page/TableOfContents.svelte +157 -124
  225. package/dist/components/page/TableOfContents.svelte.d.ts +3 -16
  226. package/dist/components/page/TableOfContentsImage.svelte +6 -7
  227. package/dist/components/page/TableOfContentsImage.svelte.d.ts +6 -18
  228. package/dist/components/page/TableOfContentsRow.svelte +32 -32
  229. package/dist/components/page/TableOfContentsRow.svelte.d.ts +10 -22
  230. package/dist/components/page/ThemeEditor.svelte +35 -28
  231. package/dist/components/page/ThemeEditor.svelte.d.ts +3 -16
  232. package/dist/components/page/ThemeEditorPreview.svelte +11 -13
  233. package/dist/components/page/ThemeEditorPreview.svelte.d.ts +5 -17
  234. package/dist/components/page/ThemeSetEditor.svelte +4 -6
  235. package/dist/components/page/ThemeSetEditor.svelte.d.ts +7 -19
  236. package/dist/components/page/ThemeVariableEditor.svelte +9 -11
  237. package/dist/components/page/ThemeVariableEditor.svelte.d.ts +7 -19
  238. package/dist/components/page/Title.svelte +4 -1
  239. package/dist/components/page/Title.svelte.d.ts +5 -28
  240. package/dist/components/page/Unknown.svelte +11 -8
  241. package/dist/components/page/Unknown.svelte.d.ts +5 -17
  242. package/dist/epub/build.d.ts +39 -0
  243. package/dist/epub/build.js +143 -0
  244. package/dist/epub/build.test.d.ts +1 -0
  245. package/dist/epub/build.test.js +411 -0
  246. package/dist/epub/images.d.ts +79 -0
  247. package/dist/epub/images.js +260 -0
  248. package/dist/epub/images.test.d.ts +1 -0
  249. package/dist/epub/images.test.js +129 -0
  250. package/dist/epub/package.d.ts +75 -0
  251. package/dist/epub/package.js +392 -0
  252. package/dist/epub/stylesheet.test.d.ts +1 -0
  253. package/dist/epub/stylesheet.test.js +243 -0
  254. package/dist/epub/xhtml.d.ts +69 -0
  255. package/dist/epub/xhtml.js +367 -0
  256. package/dist/epub/xhtml.test.d.ts +1 -0
  257. package/dist/epub/xhtml.test.js +283 -0
  258. package/dist/epub/zip.d.ts +35 -0
  259. package/dist/epub/zip.js +202 -0
  260. package/dist/epub/zip.test.d.ts +1 -0
  261. package/dist/epub/zip.test.js +171 -0
  262. package/dist/index.d.ts +1 -0
  263. package/dist/index.js +1 -0
  264. package/dist/models/Firebase.js +18 -4
  265. package/dist/models/book/Book.js +2 -1
  266. package/dist/models/book/BookMedia.js +1 -2
  267. package/dist/models/book/Chapter.js +3 -2
  268. package/dist/models/book/ChapterID.d.ts +1 -1
  269. package/dist/models/book/Edition.d.ts +1 -1
  270. package/dist/models/book/Edition.js +6 -1
  271. package/dist/models/chapter/BlocksNode.js +3 -1
  272. package/dist/models/chapter/BlocksNode.test.js +5 -1
  273. package/dist/models/chapter/Node.test.js +2 -2
  274. package/dist/models/chapter/TextNode.js +8 -5
  275. package/dist/models/chapter/TextNode.test.js +8 -0
  276. package/package.json +36 -22
@@ -1,21 +1,24 @@
1
- <script>import { page } from '$app/stores';
2
- export let to;
3
- export let before = undefined;
4
- export let title = undefined;
5
- export let external = false;
6
- $: at = to === $page.url.pathname;
1
+ <script lang="ts">import { page } from "$app/state";
2
+ let {
3
+ to,
4
+ before = void 0,
5
+ title = void 0,
6
+ external = false,
7
+ children
8
+ } = $props();
9
+ let at = $derived(to === page.url.pathname);
7
10
  </script>
8
11
 
9
12
  {#if at}
10
- <span class="link"> <slot /></span>
13
+ <span class="link"> {@render children?.()}</span>
11
14
  {:else}
12
15
  <a
13
16
  class="link"
14
17
  href={to}
15
18
  {title}
16
- on:click={() => (before ? before() : undefined)}
19
+ onclick={() => (before ? before() : undefined)}
17
20
  target={to.startsWith('http') || external ? '_blank' : null}
18
- rel={external ? 'noreferrer' : null}><slot /></a
21
+ rel={external ? 'noreferrer' : null}>{@render children?.()}</a
19
22
  >
20
23
  {/if}
21
24
 
@@ -1,23 +1,10 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- to: string;
5
- before?: Function | undefined;
6
- title?: string | undefined;
7
- external?: boolean;
8
- };
9
- events: {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {
13
- default: {};
14
- };
15
- exports?: {} | undefined;
16
- bindings?: string | undefined;
17
- };
18
- export type LinkProps = typeof __propDef.props;
19
- export type LinkEvents = typeof __propDef.events;
20
- export type LinkSlots = typeof __propDef.slots;
21
- export default class Link extends SvelteComponent<LinkProps, LinkEvents, LinkSlots> {
1
+ interface Props {
2
+ to: string;
3
+ before?: Function | undefined;
4
+ title?: string | undefined;
5
+ external?: boolean;
6
+ children?: import('svelte').Snippet;
22
7
  }
23
- export {};
8
+ declare const Link: import("svelte").Component<Props, {}, "">;
9
+ type Link = ReturnType<typeof Link>;
10
+ export default Link;
@@ -1,11 +1,13 @@
1
- <script>export let options;
2
- export let changed;
3
- export let value;
4
- export let label;
1
+ <script lang="ts">let {
2
+ options,
3
+ changed,
4
+ value = $bindable(),
5
+ label
6
+ } = $props();
5
7
  </script>
6
8
 
7
- <select bind:value on:change={() => changed(value)} aria-label={label}>
8
- <option value="" selected={value === ''} />
9
+ <select bind:value onchange={() => changed(value)} aria-label={label}>
10
+ <option value="" selected={value === ''}></option>
9
11
  {#each options as option}
10
12
  <option value={option[1]} selected={value === option[1]}
11
13
  >{option[0]}</option
@@ -1,21 +1,9 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- options: [string, string][];
5
- changed: (value: string) => void;
6
- value: string;
7
- label: string;
8
- };
9
- events: {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {};
13
- exports?: {} | undefined;
14
- bindings?: string | undefined;
15
- };
16
- export type OptionsProps = typeof __propDef.props;
17
- export type OptionsEvents = typeof __propDef.events;
18
- export type OptionsSlots = typeof __propDef.slots;
19
- export default class Options extends SvelteComponent<OptionsProps, OptionsEvents, OptionsSlots> {
1
+ interface Props {
2
+ options: [string, string][];
3
+ changed: (value: string) => void;
4
+ value: string;
5
+ label: string;
20
6
  }
21
- export {};
7
+ declare const Options: import("svelte").Component<Props, {}, "value">;
8
+ type Options = ReturnType<typeof Options>;
9
+ export default Options;
@@ -1,7 +1,7 @@
1
- <script>export let aside = false;
1
+ <script lang="ts">let { aside = false, children } = $props();
2
2
  </script>
3
3
 
4
- <p class={aside ? 'aside' : ''}><slot /></p>
4
+ <p class={aside ? 'aside' : ''}>{@render children?.()}</p>
5
5
 
6
6
  <style>
7
7
  p {
@@ -1,20 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- aside?: boolean;
5
- };
6
- events: {
7
- [evt: string]: CustomEvent<any>;
8
- };
9
- slots: {
10
- default: {};
11
- };
12
- exports?: {} | undefined;
13
- bindings?: string | undefined;
14
- };
15
- export type ParagraphProps = typeof __propDef.props;
16
- export type ParagraphEvents = typeof __propDef.events;
17
- export type ParagraphSlots = typeof __propDef.slots;
18
- export default class Paragraph extends SvelteComponent<ParagraphProps, ParagraphEvents, ParagraphSlots> {
1
+ interface Props {
2
+ aside?: boolean;
3
+ children?: import('svelte').Snippet;
19
4
  }
20
- export {};
5
+ declare const Paragraph: import("svelte").Component<Props, {}, "">;
6
+ type Paragraph = ReturnType<typeof Paragraph>;
7
+ export default Paragraph;
@@ -1,5 +1,8 @@
1
+ <script lang="ts">let { children } = $props();
2
+ </script>
3
+
1
4
  <section>
2
- <slot />
5
+ {@render children?.()}
3
6
  </section>
4
7
 
5
8
  <style>
@@ -1,29 +1,6 @@
1
- /** @typedef {typeof __propDef.props} SectionProps */
2
- /** @typedef {typeof __propDef.events} SectionEvents */
3
- /** @typedef {typeof __propDef.slots} SectionSlots */
4
- export default class Section extends SvelteComponent<{
5
- [x: string]: never;
6
- }, {
7
- [evt: string]: CustomEvent<any>;
8
- }, {
9
- default: {};
10
- }> {
1
+ interface Props {
2
+ children?: import('svelte').Snippet;
11
3
  }
12
- export type SectionProps = typeof __propDef.props;
13
- export type SectionEvents = typeof __propDef.events;
14
- export type SectionSlots = typeof __propDef.slots;
15
- import { SvelteComponent } 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
- exports?: undefined;
27
- bindings?: undefined;
28
- };
29
- export {};
4
+ declare const Section: import("svelte").Component<Props, {}, "">;
5
+ type Section = ReturnType<typeof Section>;
6
+ export default Section;
@@ -1,6 +1,9 @@
1
+ <script lang="ts">let { children } = $props();
2
+ </script>
3
+
1
4
  <section>
2
5
  <table>
3
- <slot />
6
+ {@render children?.()}
4
7
  </table>
5
8
  </section>
6
9
 
@@ -1,29 +1,6 @@
1
- /** @typedef {typeof __propDef.props} TableProps */
2
- /** @typedef {typeof __propDef.events} TableEvents */
3
- /** @typedef {typeof __propDef.slots} TableSlots */
4
- export default class Table extends SvelteComponent<{
5
- [x: string]: never;
6
- }, {
7
- [evt: string]: CustomEvent<any>;
8
- }, {
9
- default: {};
10
- }> {
1
+ interface Props {
2
+ children?: import('svelte').Snippet;
11
3
  }
12
- export type TableProps = typeof __propDef.props;
13
- export type TableEvents = typeof __propDef.events;
14
- export type TableSlots = typeof __propDef.slots;
15
- import { SvelteComponent } 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
- exports?: undefined;
27
- bindings?: undefined;
28
- };
29
- export {};
4
+ declare const Table: import("svelte").Component<Props, {}, "">;
5
+ type Table = ReturnType<typeof Table>;
6
+ export default Table;
@@ -1,11 +1,13 @@
1
- <script>export let text = '';
2
- export let autocomplete = null;
3
- export let type;
4
- export let placeholder;
5
- export let disabled;
6
- let input;
1
+ <script lang="ts">let {
2
+ text = $bindable(""),
3
+ autocomplete = null,
4
+ type,
5
+ placeholder,
6
+ disabled
7
+ } = $props();
8
+ let input = $state();
7
9
  export function value() {
8
- return text;
10
+ return text;
9
11
  }
10
12
  </script>
11
13
 
@@ -16,7 +18,7 @@ export function value() {
16
18
  {disabled}
17
19
  value={text}
18
20
  bind:this={input}
19
- on:input={() => (text = input.value)}
21
+ oninput={(event) => (text = event.currentTarget.value)}
20
22
  />
21
23
 
22
24
  <style>
@@ -1,24 +1,13 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- text?: string;
5
- autocomplete?: string | null;
6
- type: string;
7
- placeholder: string;
8
- disabled: boolean;
9
- value?: () => string;
10
- };
11
- events: {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {};
15
- exports?: {} | undefined;
16
- bindings?: string | undefined;
17
- };
18
- export type TextInputProps = typeof __propDef.props;
19
- export type TextInputEvents = typeof __propDef.events;
20
- export type TextInputSlots = typeof __propDef.slots;
21
- export default class TextInput extends SvelteComponent<TextInputProps, TextInputEvents, TextInputSlots> {
22
- get value(): () => string;
1
+ import type { HTMLInputAttributes } from 'svelte/elements';
2
+ interface Props {
3
+ text?: string;
4
+ autocomplete?: HTMLInputAttributes['autocomplete'];
5
+ type: string;
6
+ placeholder: string;
7
+ disabled: boolean;
23
8
  }
24
- export {};
9
+ declare const TextInput: import("svelte").Component<Props, {
10
+ value: () => string;
11
+ }, "text">;
12
+ type TextInput = ReturnType<typeof TextInput>;
13
+ export default TextInput;
@@ -1,10 +1,7 @@
1
- <svelte:options immutable={true} />
2
-
3
- <script>import { getCaret } from '../page/Contexts';
4
- export let node;
1
+ <script lang="ts">import { getCaret } from "../page/Contexts";
2
+ let { node, children } = $props();
5
3
  let caret = getCaret();
6
- // Is the caret on this link?
7
- $: selected = $caret && $caret.range && $caret.range.start.node === node;
4
+ let selected = $derived($caret && $caret.range && $caret.range.start.node === node);
8
5
  </script>
9
6
 
10
7
  <!-- Prevent the editor from receiving the click. -->
@@ -12,7 +9,7 @@ $: selected = $caret && $caret.range && $caret.range.start.node === node;
12
9
  class={`bookish-editor-atom ${
13
10
  selected ? 'bookish-editor-atom-selected' : ''
14
11
  } ${$caret?.focused ? 'bookish-editor-atom-selected-focused' : ''}`}
15
- ><slot /></span
12
+ >{@render children?.()}</span
16
13
  >
17
14
 
18
15
  <style>
@@ -1,21 +1,8 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type AtomNode from '../../models/chapter/AtomNode';
3
- declare const __propDef: {
4
- props: {
5
- node: AtomNode<any>;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {
11
- default: {};
12
- };
13
- exports?: {} | undefined;
14
- bindings?: string | undefined;
15
- };
16
- export type AtomProps = typeof __propDef.props;
17
- export type AtomEvents = typeof __propDef.events;
18
- export type AtomSlots = typeof __propDef.slots;
19
- export default class Atom extends SvelteComponent<AtomProps, AtomEvents, AtomSlots> {
2
+ interface Props {
3
+ node: AtomNode<any>;
4
+ children?: import('svelte').Snippet;
20
5
  }
21
- export {};
6
+ declare const Atom: import("svelte").Component<Props, {}, "">;
7
+ type Atom = ReturnType<typeof Atom>;
8
+ export default Atom;
@@ -1,26 +1,24 @@
1
- <svelte:options immutable={true} />
2
-
3
- <script>import CalloutNode from '../../models/chapter/CalloutNode';
4
- import CodeNode from '../../models/chapter/CodeNode';
5
- import EmbedNode from '../../models/chapter/EmbedNode';
6
- import ErrorNode from '../../models/chapter/ErrorNode';
7
- import ListNode from '../../models/chapter/ListNode';
8
- import ParagraphNode from '../../models/chapter/ParagraphNode';
9
- import QuoteNode from '../../models/chapter/QuoteNode';
10
- import RuleNode from '../../models/chapter/RuleNode';
11
- import TableNode from '../../models/chapter/TableNode';
12
- import Callout from './Callout.svelte';
13
- import CaptionedCode from './CaptionedCode.svelte';
14
- import Embed from './Embed.svelte';
15
- import ErrorMessage from './ErrorMessage.svelte';
16
- import List from './List.svelte';
17
- import Paragraph from './Paragraph.svelte';
18
- import Quote from './Quote.svelte';
19
- import Rule from './Rule.svelte';
20
- import Table from './Table.svelte';
21
- import Problem from './Problem.svelte';
22
- import { isChapterEditable } from '../page/Contexts';
23
- export let node;
1
+ <script lang="ts">import CalloutNode from "../../models/chapter/CalloutNode";
2
+ import CodeNode from "../../models/chapter/CodeNode";
3
+ import EmbedNode from "../../models/chapter/EmbedNode";
4
+ import ErrorNode from "../../models/chapter/ErrorNode";
5
+ import ListNode from "../../models/chapter/ListNode";
6
+ import ParagraphNode from "../../models/chapter/ParagraphNode";
7
+ import QuoteNode from "../../models/chapter/QuoteNode";
8
+ import RuleNode from "../../models/chapter/RuleNode";
9
+ import TableNode from "../../models/chapter/TableNode";
10
+ import Callout from "./Callout.svelte";
11
+ import CaptionedCode from "./CaptionedCode.svelte";
12
+ import Embed from "./Embed.svelte";
13
+ import ErrorMessage from "./ErrorMessage.svelte";
14
+ import List from "./List.svelte";
15
+ import Paragraph from "./Paragraph.svelte";
16
+ import Quote from "./Quote.svelte";
17
+ import Rule from "./Rule.svelte";
18
+ import Table from "./Table.svelte";
19
+ import Problem from "./Problem.svelte";
20
+ import { isChapterEditable } from "../page/Contexts";
21
+ let { node } = $props();
24
22
  let editable = isChapterEditable();
25
23
  </script>
26
24
 
@@ -1,19 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type BlockNode from '../../models/chapter/BlockNode';
3
- declare const __propDef: {
4
- props: {
5
- node: BlockNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- exports?: {} | undefined;
12
- bindings?: string | undefined;
13
- };
14
- export type BlockProps = typeof __propDef.props;
15
- export type BlockEvents = typeof __propDef.events;
16
- export type BlockSlots = typeof __propDef.slots;
17
- export default class Block extends SvelteComponent<BlockProps, BlockEvents, BlockSlots> {
2
+ interface Props {
3
+ node: BlockNode;
18
4
  }
19
- export {};
5
+ declare const Block: import("svelte").Component<Props, {}, "">;
6
+ type Block = ReturnType<typeof Block>;
7
+ export default Block;
@@ -1,8 +1,6 @@
1
- <svelte:options immutable={true} />
2
-
3
- <script>import Block from './Block.svelte';
4
- import Positioned from './Positioned.svelte';
5
- export let node;
1
+ <script lang="ts">import Block from "./Block.svelte";
2
+ import Positioned from "./Positioned.svelte";
3
+ let { node } = $props();
6
4
  </script>
7
5
 
8
6
  <Positioned position={node.getPosition()}>
@@ -1,19 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type CalloutNode from '../../models/chapter/CalloutNode';
3
- declare const __propDef: {
4
- props: {
5
- node: CalloutNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- exports?: {} | undefined;
12
- bindings?: string | undefined;
13
- };
14
- export type CalloutProps = typeof __propDef.props;
15
- export type CalloutEvents = typeof __propDef.events;
16
- export type CalloutSlots = typeof __propDef.slots;
17
- export default class Callout extends SvelteComponent<CalloutProps, CalloutEvents, CalloutSlots> {
2
+ interface Props {
3
+ node: CalloutNode;
18
4
  }
19
- export {};
5
+ declare const Callout: import("svelte").Component<Props, {}, "">;
6
+ type Callout = ReturnType<typeof Callout>;
7
+ export default Callout;
@@ -1,16 +1,13 @@
1
- <svelte:options immutable={true} />
2
-
3
- <script>import Code from './Code.svelte';
4
- import Python from './Python.svelte';
5
- import Text from './Text.svelte';
6
- import { isChapterEditable } from '../page/Contexts';
7
- import Figure from './Figure.svelte';
8
- import Button from '../app/Button.svelte';
9
- export let node;
10
- $: language = node.getLanguage();
1
+ <script lang="ts">import Code from "./Code.svelte";
2
+ import Python from "./Python.svelte";
3
+ import Text from "./Text.svelte";
4
+ import { isChapterEditable } from "../page/Contexts";
5
+ import Figure from "./Figure.svelte";
6
+ import Button from "../app/Button.svelte";
7
+ let { node } = $props();
8
+ let language = $derived(node.getLanguage());
11
9
  let editable = isChapterEditable();
12
- // const languages = [ "C", "C++", "CSS", "Go", "HTML", "Java", "JavaScript", "Markdown", "Plaintext", "Python", "TypeScript" ];
13
- let editing = true;
10
+ let editing = $state(true);
14
11
  </script>
15
12
 
16
13
  <Figure {node} caption={node.getCaption()} focusable={false}>
@@ -29,8 +26,9 @@ let editing = true;
29
26
  editable={false}
30
27
  inline={false}
31
28
  language={node.getLanguage()}
32
- nodeID={node.getCodeNode().nodeID}>{node.getCode()}</Code
33
- >
29
+ nodeID={node.getCodeNode().nodeID}
30
+ code={node.getCode()}
31
+ />
34
32
  {/if}
35
33
  {#if editable}
36
34
  <Button
@@ -1,19 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type CodeNode from '../../models/chapter/CodeNode';
3
- declare const __propDef: {
4
- props: {
5
- node: CodeNode;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- exports?: {} | undefined;
12
- bindings?: string | undefined;
13
- };
14
- export type CaptionedCodeProps = typeof __propDef.props;
15
- export type CaptionedCodeEvents = typeof __propDef.events;
16
- export type CaptionedCodeSlots = typeof __propDef.slots;
17
- export default class CaptionedCode extends SvelteComponent<CaptionedCodeProps, CaptionedCodeEvents, CaptionedCodeSlots> {
2
+ interface Props {
3
+ node: CodeNode;
18
4
  }
19
- export {};
5
+ declare const CaptionedCode: import("svelte").Component<Props, {}, "">;
6
+ type CaptionedCode = ReturnType<typeof CaptionedCode>;
7
+ export default CaptionedCode;
@@ -1,21 +1,18 @@
1
- <svelte:options immutable />
2
-
3
- <script>import ParagraphNode from '../../models/chapter/ParagraphNode';
4
- import { writable } from 'svelte/store';
5
- import { setContext } from 'svelte';
6
- import { ROOT } from '../page/Contexts';
7
- import Block from './Block.svelte';
8
- import Paragraph from './Paragraph.svelte';
9
- import Problem from './Problem.svelte';
10
- export let node;
11
- export let placeholder = '';
12
- export let editable = false;
13
- $: errors = node.getErrors();
14
- $: blocks = node.getBlocks();
15
- // Make this chapter node available to all children in a reactive store.
16
- let root = writable(node);
1
+ <script lang="ts">import ParagraphNode from "../../models/chapter/ParagraphNode";
2
+ import { writable } from "svelte/store";
3
+ import { setContext, untrack } from "svelte";
4
+ import { ROOT } from "../page/Contexts";
5
+ import Block from "./Block.svelte";
6
+ import Paragraph from "./Paragraph.svelte";
7
+ import Problem from "./Problem.svelte";
8
+ let { node, placeholder = "", editable = false } = $props();
9
+ let errors = $derived(node.getErrors());
10
+ let blocks = $derived(node.getBlocks());
11
+ let root = writable(untrack(() => node));
17
12
  setContext(ROOT, root);
18
- $: root.set(node);
13
+ $effect.pre(() => {
14
+ root.set(node);
15
+ });
19
16
  </script>
20
17
 
21
18
  <section class="bookish-chapter-body" data-nodeid={node.nodeID}>
@@ -1,21 +1,9 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type ChapterNode from '../../models/chapter/ChapterNode';
3
- declare const __propDef: {
4
- props: {
5
- node: ChapterNode;
6
- placeholder?: string;
7
- editable?: boolean;
8
- };
9
- events: {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {};
13
- exports?: {} | undefined;
14
- bindings?: string | undefined;
15
- };
16
- export type ChapterBodyProps = typeof __propDef.props;
17
- export type ChapterBodyEvents = typeof __propDef.events;
18
- export type ChapterBodySlots = typeof __propDef.slots;
19
- export default class ChapterBody extends SvelteComponent<ChapterBodyProps, ChapterBodyEvents, ChapterBodySlots> {
2
+ interface Props {
3
+ node: ChapterNode;
4
+ placeholder?: string;
5
+ editable?: boolean;
20
6
  }
21
- export {};
7
+ declare const ChapterBody: import("svelte").Component<Props, {}, "">;
8
+ type ChapterBody = ReturnType<typeof ChapterBody>;
9
+ export default ChapterBody;
@@ -0,0 +1 @@
1
+ export {};