@erudit-js/prose 4.1.1 → 4.2.0

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 (208) hide show
  1. package/dist/app/appElement.d.ts +7 -6
  2. package/dist/app/appElement.js +1 -1
  3. package/dist/app/composables/anchor.d.ts +7 -7
  4. package/dist/app/composables/appElement.d.ts +4 -4
  5. package/dist/app/composables/appElement.js +3 -3
  6. package/dist/app/composables/context.d.ts +3 -2
  7. package/dist/app/composables/elementIcon.d.ts +2 -2
  8. package/dist/app/composables/elementIcon.js +1 -1
  9. package/dist/app/composables/language.d.ts +2 -2
  10. package/dist/app/composables/language.js +1 -1
  11. package/dist/app/composables/storage.d.ts +4 -4
  12. package/dist/app/composables/storage.js +0 -4
  13. package/dist/app/default/Mix.vue +2 -2
  14. package/dist/app/default/Text.vue +2 -2
  15. package/dist/app/shared/Prose.vue +3 -3
  16. package/dist/app/shared/Render.vue +5 -14
  17. package/dist/app/shared/block/AsideMenu.vue +2 -2
  18. package/dist/app/shared/block/AsideMenuCopyLink.vue +1 -1
  19. package/dist/app/shared/block/Block.vue +4 -4
  20. package/dist/app/shared/inliner/Inliner.vue +2 -2
  21. package/dist/coreElement.d.ts +25 -7
  22. package/dist/coreElement.js +2 -2
  23. package/dist/elements/accent/Accent.vue +4 -4
  24. package/dist/elements/accent/AccentColumnSection.vue +2 -2
  25. package/dist/elements/accent/AccentRowSections.vue +2 -2
  26. package/dist/elements/accent/app.d.ts +3 -3
  27. package/dist/elements/accent/app.js +2 -2
  28. package/dist/elements/accent/core.d.ts +61 -300
  29. package/dist/elements/accent/core.js +83 -68
  30. package/dist/elements/callout/Callout.vue +4 -4
  31. package/dist/elements/callout/app.d.ts +1 -8
  32. package/dist/elements/callout/app.js +2 -2
  33. package/dist/elements/callout/core.d.ts +21 -59
  34. package/dist/elements/callout/core.js +18 -17
  35. package/dist/elements/caption/Caption.vue +3 -3
  36. package/dist/elements/caption/app.d.ts +1 -8
  37. package/dist/elements/caption/app.js +2 -2
  38. package/dist/elements/caption/core.d.ts +21 -99
  39. package/dist/elements/caption/core.js +18 -22
  40. package/dist/elements/details/Details.vue +3 -3
  41. package/dist/elements/details/app.d.ts +1 -8
  42. package/dist/elements/details/app.js +2 -2
  43. package/dist/elements/details/core.d.ts +18 -61
  44. package/dist/elements/details/core.js +16 -11
  45. package/dist/elements/diagram/Diagram.vue +14 -11
  46. package/dist/elements/diagram/app.d.ts +1 -29
  47. package/dist/elements/diagram/app.js +2 -2
  48. package/dist/elements/diagram/core.d.ts +14 -177
  49. package/dist/elements/diagram/core.js +5 -8
  50. package/dist/elements/emphasis/Emphasis.vue +3 -3
  51. package/dist/elements/emphasis/app.d.ts +1 -8
  52. package/dist/elements/emphasis/app.js +2 -2
  53. package/dist/elements/emphasis/core.d.ts +13 -76
  54. package/dist/elements/emphasis/core.js +8 -9
  55. package/dist/elements/flex/Flex.vue +3 -3
  56. package/dist/elements/flex/app.d.ts +1 -8
  57. package/dist/elements/flex/app.js +2 -2
  58. package/dist/elements/flex/core.d.ts +16 -58
  59. package/dist/elements/flex/core.js +6 -7
  60. package/dist/elements/gallery/Gallery.vue +3 -3
  61. package/dist/elements/gallery/app.d.ts +1 -22
  62. package/dist/elements/gallery/app.js +2 -2
  63. package/dist/elements/gallery/core.d.ts +11 -132
  64. package/dist/elements/gallery/core.js +4 -5
  65. package/dist/elements/heading/Heading.vue +3 -3
  66. package/dist/elements/heading/_global.d.ts +2 -2
  67. package/dist/elements/heading/app.d.ts +1 -8
  68. package/dist/elements/heading/app.js +2 -2
  69. package/dist/elements/heading/core.d.ts +13 -97
  70. package/dist/elements/heading/core.js +8 -8
  71. package/dist/elements/horizontalLine/app.d.ts +1 -8
  72. package/dist/elements/horizontalLine/app.js +2 -2
  73. package/dist/elements/horizontalLine/core.d.ts +9 -47
  74. package/dist/elements/horizontalLine/core.js +4 -5
  75. package/dist/elements/image/Image.vue +3 -3
  76. package/dist/elements/image/ImageElement.vue +4 -4
  77. package/dist/elements/image/app.d.ts +1 -15
  78. package/dist/elements/image/app.js +2 -2
  79. package/dist/elements/image/core.d.ts +29 -108
  80. package/dist/elements/image/core.js +12 -19
  81. package/dist/elements/image/storage.d.ts +1 -1
  82. package/dist/elements/image/storage.js +6 -6
  83. package/dist/elements/lineBreak/app.d.ts +1 -8
  84. package/dist/elements/lineBreak/app.js +2 -2
  85. package/dist/elements/lineBreak/core.d.ts +9 -47
  86. package/dist/elements/lineBreak/core.js +4 -5
  87. package/dist/elements/link/BlockLink.vue +4 -6
  88. package/dist/elements/link/Link.vue +4 -4
  89. package/dist/elements/link/core.d.ts +6 -6
  90. package/dist/elements/link/core.js +4 -3
  91. package/dist/elements/link/dependency/app.d.ts +1 -15
  92. package/dist/elements/link/dependency/app.js +3 -3
  93. package/dist/elements/link/dependency/core.d.ts +27 -105
  94. package/dist/elements/link/dependency/core.js +6 -8
  95. package/dist/elements/link/hook.d.ts +12 -0
  96. package/dist/elements/link/hook.js +45 -0
  97. package/dist/elements/link/reference/app.d.ts +1 -15
  98. package/dist/elements/link/reference/app.js +3 -3
  99. package/dist/elements/link/reference/core.d.ts +24 -103
  100. package/dist/elements/link/reference/core.js +6 -8
  101. package/dist/elements/link/storage.js +1 -1
  102. package/dist/elements/list/List.vue +7 -5
  103. package/dist/elements/list/_global.d.ts +3 -3
  104. package/dist/elements/list/app.d.ts +1 -15
  105. package/dist/elements/list/app.js +2 -2
  106. package/dist/elements/list/core.d.ts +33 -155
  107. package/dist/elements/list/core.js +20 -18
  108. package/dist/elements/math/app.d.ts +1 -15
  109. package/dist/elements/math/app.js +3 -3
  110. package/dist/elements/math/block.d.ts +31 -43
  111. package/dist/elements/math/block.js +10 -9
  112. package/dist/elements/math/components/BlockMath.vue +4 -4
  113. package/dist/elements/math/components/InlinerMath.vue +4 -4
  114. package/dist/elements/math/core.d.ts +25 -53
  115. package/dist/elements/math/core.js +3 -11
  116. package/dist/elements/math/inliner.d.ts +24 -36
  117. package/dist/elements/math/inliner.js +10 -12
  118. package/dist/elements/paragraph/Paragraph.vue +3 -3
  119. package/dist/elements/paragraph/app.d.ts +1 -8
  120. package/dist/elements/paragraph/app.js +2 -2
  121. package/dist/elements/paragraph/core.d.ts +12 -53
  122. package/dist/elements/paragraph/core.js +6 -7
  123. package/dist/elements/problem/app.d.ts +1 -29
  124. package/dist/elements/problem/app.js +4 -4
  125. package/dist/elements/problem/components/Problem.vue +3 -3
  126. package/dist/elements/problem/components/ProblemContent.vue +15 -21
  127. package/dist/elements/problem/components/ProblemExpanderSection.vue +2 -2
  128. package/dist/elements/problem/components/Problems.vue +11 -7
  129. package/dist/elements/problem/components/SubProblem.vue +3 -4
  130. package/dist/elements/problem/components/expanders/Check.vue +3 -3
  131. package/dist/elements/problem/components/expanders/Checks.vue +6 -3
  132. package/dist/elements/problem/components/expanders/DefaultPlusSections.vue +3 -7
  133. package/dist/elements/problem/components/expanders/Hint.vue +3 -3
  134. package/dist/elements/problem/composables/problemScript.d.ts +2 -2
  135. package/dist/elements/problem/core.d.ts +63 -299
  136. package/dist/elements/problem/core.js +9 -11
  137. package/dist/elements/problem/hook.d.ts +1 -0
  138. package/dist/elements/problem/hook.js +14 -0
  139. package/dist/elements/problem/problem.d.ts +20 -77
  140. package/dist/elements/problem/problem.js +6 -6
  141. package/dist/elements/problem/problemCheck.d.ts +33 -83
  142. package/dist/elements/problem/problemCheck.js +16 -10
  143. package/dist/elements/problem/problemContent.d.ts +54 -401
  144. package/dist/elements/problem/problemContent.js +47 -58
  145. package/dist/elements/problem/problemScript.d.ts +18 -10
  146. package/dist/elements/problem/problemScript.js +15 -26
  147. package/dist/elements/problem/problems.d.ts +29 -188
  148. package/dist/elements/problem/problems.js +11 -15
  149. package/dist/elements/problem/storage.d.ts +1 -1
  150. package/dist/elements/problem/storage.js +2 -3
  151. package/dist/elements/table/Table.vue +3 -3
  152. package/dist/elements/table/app.d.ts +1 -29
  153. package/dist/elements/table/app.js +2 -2
  154. package/dist/elements/table/core.d.ts +28 -309
  155. package/dist/elements/table/core.js +17 -29
  156. package/dist/elements/video/Video.vue +4 -4
  157. package/dist/elements/video/app.d.ts +1 -15
  158. package/dist/elements/video/app.js +2 -2
  159. package/dist/elements/video/core.d.ts +26 -106
  160. package/dist/elements/video/core.js +11 -16
  161. package/dist/elements/video/storage.d.ts +1 -1
  162. package/dist/elements/video/storage.js +2 -3
  163. package/dist/error.d.ts +3 -0
  164. package/dist/error.js +6 -0
  165. package/dist/include.d.ts +4 -4
  166. package/dist/include.js +6 -12
  167. package/dist/index.d.ts +11 -11
  168. package/dist/index.js +11 -11
  169. package/dist/rawElement.d.ts +9 -6
  170. package/dist/rawElement.js +4 -0
  171. package/dist/rawToProse/countSchemas.d.ts +1 -0
  172. package/dist/rawToProse/countSchemas.js +11 -0
  173. package/dist/rawToProse/hook.d.ts +39 -0
  174. package/dist/rawToProse/hook.js +6 -0
  175. package/dist/rawToProse/index.d.ts +34 -0
  176. package/dist/rawToProse/index.js +92 -0
  177. package/dist/rawToProse/uniqueTitles.d.ts +1 -0
  178. package/dist/rawToProse/uniqueTitles.js +11 -0
  179. package/dist/shared/filePath.js +31 -4
  180. package/dist/shared/paragraphWrap.d.ts +3 -3
  181. package/dist/shared/paragraphWrap.js +7 -12
  182. package/dist/slugify/index.d.ts +3 -1
  183. package/dist/slugify/index.js +5 -6
  184. package/dist/slugify/languages/en.js +1 -1
  185. package/dist/slugify/languages/ru.js +1 -1
  186. package/dist/snippet.d.ts +39 -33
  187. package/dist/snippet.js +139 -73
  188. package/dist/tag.d.ts +22 -19
  189. package/dist/tag.js +19 -15
  190. package/dist/toc.d.ts +12 -18
  191. package/dist/toc.js +120 -42
  192. package/package.json +8 -7
  193. package/dist/app/default/Inliners.vue +0 -11
  194. package/dist/context.d.ts +0 -4
  195. package/dist/context.js +0 -1
  196. package/dist/elements/link/step.d.ts +0 -16
  197. package/dist/elements/link/step.js +0 -36
  198. package/dist/elements/problem/step.d.ts +0 -5
  199. package/dist/elements/problem/step.js +0 -13
  200. package/dist/resolve.d.ts +0 -21
  201. package/dist/resolve.js +0 -102
  202. package/dist/resolveStep.d.ts +0 -9
  203. package/dist/resolveStep.js +0 -3
  204. package/dist/title.d.ts +0 -8
  205. package/dist/title.js +0 -6
  206. package/dist/utils/docs.d.ts +0 -1
  207. package/dist/utils/docs.js +0 -22
  208. /package/{types.d.ts → raw.d.ts} +0 -0
@@ -1,16 +1,16 @@
1
- import { defineRegistryItem, defineSchema, ensureTagInlinerChildren } from "@jsprose/core";
2
- import { defineEruditProseCoreElement } from "../../coreElement.js";
1
+ import { defineSchema, ensureTagInlinerChildren } from "tsprose";
3
2
  import { defineEruditTag } from "../../tag.js";
3
+ import { defineProseCoreElement } from "../../coreElement.js";
4
4
  export const paragraphSchema = defineSchema({
5
5
  name: "paragraph",
6
6
  type: "block",
7
7
  linkable: true
8
- })();
8
+ });
9
9
  export const P = defineEruditTag({
10
10
  tagName: "P",
11
11
  schema: paragraphSchema
12
- })(({ element, tagName, props, children, registry }) => {
13
- ensureTagInlinerChildren(tagName, children, registry);
12
+ })(({ element, tagName, props, children }) => {
13
+ ensureTagInlinerChildren(tagName, children);
14
14
  element.children = children;
15
15
  if (props.center || props.serif) {
16
16
  element.data = {};
@@ -22,8 +22,7 @@ export const P = defineEruditTag({
22
22
  }
23
23
  }
24
24
  });
25
- export const paragraphRegistryItem = defineRegistryItem({
25
+ export default defineProseCoreElement({
26
26
  schema: paragraphSchema,
27
27
  tags: [P]
28
28
  });
29
- export default defineEruditProseCoreElement({ registryItem: paragraphRegistryItem });
@@ -1,30 +1,2 @@
1
- declare const _default: (import("../../app/appElement.js").AppElement<{
2
- name: "problem";
3
- type: "block";
4
- linkable: true;
5
- Data: import("./problem.js").ProblemData;
6
- Storage: import("./storage.js").ProblemScriptStorage;
7
- Children: import("./problemContent.js").ProblemContentChild[];
8
- }> | import("../../app/appElement.js").AppElement<{
9
- name: "problems";
10
- type: "block";
11
- linkable: true;
12
- Data: import("./shared.js").ProblemInfo;
13
- Storage: undefined;
14
- Children: (import("@jsprose/core").BlockSchema | {
15
- name: "subProblem";
16
- type: "block";
17
- linkable: false;
18
- Data: import("./problems.js").SubProblemData;
19
- Storage: import("./storage.js").ProblemScriptStorage;
20
- Children: import("./problemContent.js").ProblemContentChild[];
21
- })[];
22
- }> | import("../../app/appElement.js").AppElement<{
23
- name: "subProblem";
24
- type: "block";
25
- linkable: false;
26
- Data: import("./problems.js").SubProblemData;
27
- Storage: import("./storage.js").ProblemScriptStorage;
28
- Children: import("./problemContent.js").ProblemContentChild[];
29
- }>)[];
1
+ declare const _default: (import("../../app/appElement.js").ProseAppElement<import("./problem.js").ProblemSchema> | import("../../app/appElement.js").ProseAppElement<import("./problems.js").ProblemsSchema> | import("../../app/appElement.js").ProseAppElement<import("./problems.js").SubProblemSchema>)[];
30
2
  export default _default;
@@ -1,9 +1,9 @@
1
- import { defineEruditProseAppElement } from "../../app/appElement.js";
1
+ import { defineProseAppElement } from "../../app/appElement.js";
2
2
  import { problemSchema } from "./problem.js";
3
3
  import { problemsSchema, subProblemSchema } from "./problems.js";
4
4
  const icon = () => import("./assets/icon.svg?raw");
5
5
  export default [
6
- defineEruditProseAppElement({
6
+ defineProseAppElement({
7
7
  schema: problemSchema,
8
8
  component: () => import("./components/Problem.vue"),
9
9
  icon,
@@ -12,7 +12,7 @@ export default [
12
12
  ru: () => import("./languages/problem/ru.js")
13
13
  }
14
14
  }),
15
- defineEruditProseAppElement({
15
+ defineProseAppElement({
16
16
  schema: problemsSchema,
17
17
  component: () => import("./components/Problems.vue"),
18
18
  icon,
@@ -21,7 +21,7 @@ export default [
21
21
  ru: () => import("./languages/problems/ru.js")
22
22
  }
23
23
  }),
24
- defineEruditProseAppElement({
24
+ defineProseAppElement({
25
25
  schema: subProblemSchema,
26
26
  component: () => import("./components/SubProblem.vue")
27
27
  })
@@ -1,14 +1,14 @@
1
1
  <script setup lang="ts">
2
- import type { ProseElement } from '@jsprose/core';
2
+ import type { ToProseElement } from 'tsprose';
3
3
 
4
- import { problemSchema } from '../problem.js';
4
+ import { type ProblemSchema } from '../problem.js';
5
5
  import Block from '../../../app/shared/block/Block.vue';
6
6
  import ProblemContainer from './ProblemContainer.vue';
7
7
  import ProblemHeader from './ProblemHeader.vue';
8
8
  import ProblemContent from './ProblemContent.vue';
9
9
 
10
10
  const { element } = defineProps<{
11
- element: ProseElement<typeof problemSchema>;
11
+ element: ToProseElement<ProblemSchema>;
12
12
  }>();
13
13
  </script>
14
14
 
@@ -7,11 +7,7 @@ import {
7
7
  watchEffect,
8
8
  type Component,
9
9
  } from 'vue';
10
- import {
11
- isProseElement,
12
- resolveRawElement,
13
- type ProseElement,
14
- } from '@jsprose/core';
10
+ import { isProseElement, type ToProseElement } from 'tsprose';
15
11
 
16
12
  import {
17
13
  problemAnswer,
@@ -28,7 +24,7 @@ import { useProblemPhrase } from '../composables/phrase.js';
28
24
  import type { ProblemAction } from '../shared.js';
29
25
  import { useArrayContainsAnchor } from '../../../app/composables/anchor.js';
30
26
  import type { ProblemScriptInstance } from '../problemScript.js';
31
- import type { problemSchema } from '../problem.js';
27
+ import type { ProblemSchema } from '../problem.js';
32
28
  import type { subProblemSchema } from '../problems.js';
33
29
  import { useElementStorage } from '../../../app/composables/storage.js';
34
30
  import type { ProblemScriptStorage } from '../storage.js';
@@ -40,12 +36,13 @@ import DefaultPlusSections from './expanders/DefaultPlusSections.vue';
40
36
  import ProblemButton from './ProblemButton.vue';
41
37
  import Checks from './expanders/Checks.vue';
42
38
  import ProblemButtonGenerate from './ProblemButtonGenerate.vue';
39
+ import { eruditRawToProse } from '../../../rawToProse/index.js';
43
40
 
44
41
  const { element, initialElements } = defineProps<{
45
42
  element:
46
- | ProseElement<typeof problemSchema>
47
- | ProseElement<typeof subProblemSchema>;
48
- initialElements: ProseElement<ProblemContentChild>[];
43
+ | ToProseElement<ProblemSchema>
44
+ | ToProseElement<typeof subProblemSchema>;
45
+ initialElements: ToProseElement<ProblemContentChild>[];
49
46
  }>();
50
47
 
51
48
  const { EruditIcon } = useProseContext();
@@ -67,7 +64,7 @@ const actionIcons: Record<ProblemAction, string> = Object.fromEntries(
67
64
 
68
65
  const key = ref(0);
69
66
  const elements =
70
- shallowRef<ProseElement<ProblemContentChild>[]>(initialElements);
67
+ shallowRef<ToProseElement<ProblemContentChild>[]>(initialElements);
71
68
 
72
69
  const description = computed(() => {
73
70
  return elements.value.find((element) =>
@@ -93,12 +90,12 @@ const expandableActions = computed(() => {
93
90
  : never;
94
91
 
95
92
  const actionMap: ActionMap<{
96
- hint?: ProseElement<typeof problemHintSchema>[];
97
- answer?: ProseElement<typeof problemAnswer.schema>;
98
- solution?: ProseElement<typeof problemSolution.schema>;
99
- note?: ProseElement<typeof problemNote.schema>;
93
+ hint?: ToProseElement<typeof problemHintSchema>[];
94
+ answer?: ToProseElement<typeof problemAnswer.schema>;
95
+ solution?: ToProseElement<typeof problemSolution.schema>;
96
+ note?: ToProseElement<typeof problemNote.schema>;
100
97
  check?: {
101
- checkElements: ProseElement<typeof problemCheckSchema>[];
98
+ checkElements: ToProseElement<typeof problemCheckSchema>[];
102
99
  checkFunction?: CheckFunction;
103
100
  };
104
101
  }> = {};
@@ -207,13 +204,10 @@ async function doGenerate(seed: ProblemSeed) {
207
204
  }
208
205
 
209
206
  const rawElements = generateResult.problemContent;
210
- const proseElements: ProseElement<ProblemContentChild>[] = [];
207
+ const proseElements: ToProseElement<ProblemContentChild>[] = [];
211
208
  for (const rawElement of rawElements) {
212
- const resolveResult = await resolveRawElement({
213
- rawElement,
214
- linkable: false,
215
- });
216
- proseElements.push(resolveResult.proseElement as any);
209
+ const resolveResult = await eruditRawToProse({ rawProse: rawElement });
210
+ proseElements.push(resolveResult.prose as any);
217
211
  }
218
212
 
219
213
  if (currentSeed !== seed) {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
2
  import { ref, watchEffect } from 'vue';
3
- import type { AnySchema, ProseElement } from '@jsprose/core';
3
+ import type { ProseElement } from 'tsprose';
4
4
 
5
5
  import plusIcon from '../../../app/shared/assets/plus.svg?raw';
6
6
  import { useProseContext } from '../../../app/composables/context.js';
@@ -10,7 +10,7 @@ import Render from '../../../app/shared/Render.vue';
10
10
 
11
11
  const { element } = defineProps<{
12
12
  title: string;
13
- element: ProseElement<AnySchema>;
13
+ element: ProseElement;
14
14
  }>();
15
15
 
16
16
  const formatText = useFormatText();
@@ -2,11 +2,15 @@
2
2
  import { ref, watchEffect } from 'vue';
3
3
  import {
4
4
  isProseElement,
5
- type BlockSchema,
6
- type ProseElement,
7
- } from '@jsprose/core';
5
+ type BlockProseElement,
6
+ type ToProseElement,
7
+ } from 'tsprose';
8
8
 
9
- import { subProblemSchema, type problemsSchema } from '../problems.js';
9
+ import {
10
+ subProblemSchema,
11
+ type ProblemsSchema,
12
+ type SubProblemSchema,
13
+ } from '../problems.js';
10
14
  import { useFormatText } from '../../../app/composables/formatText.js';
11
15
  import { useArrayContainsAnchor } from '../../../app/composables/anchor.js';
12
16
  import SubProblem from './SubProblem.vue';
@@ -17,18 +21,18 @@ import Render from '../../../app/shared/Render.vue';
17
21
  import ProblemButton from './ProblemButton.vue';
18
22
 
19
23
  const { element } = defineProps<{
20
- element: ProseElement<typeof problemsSchema>;
24
+ element: ToProseElement<ProblemsSchema>;
21
25
  }>();
22
26
 
23
27
  const formatText = useFormatText();
24
28
 
25
29
  const sharedChildren = element.children.filter(
26
30
  (child) => !isProseElement(child, subProblemSchema),
27
- ) as ProseElement<BlockSchema>[];
31
+ ) as BlockProseElement[];
28
32
 
29
33
  const subProblems = element.children.filter((child) =>
30
34
  isProseElement(child, subProblemSchema),
31
- ) as ProseElement<typeof subProblemSchema>[];
35
+ ) as ToProseElement<SubProblemSchema>[];
32
36
 
33
37
  const activeSubProblemI = ref(0);
34
38
 
@@ -1,11 +1,10 @@
1
1
  <script lang="ts" setup>
2
- import type { ProseElement } from '@jsprose/core';
3
-
4
- import type { subProblemSchema } from '../problems.js';
2
+ import type { ToProseElement } from 'tsprose';
3
+ import type { SubProblemSchema } from '../problems.js';
5
4
  import ProblemContent from './ProblemContent.vue';
6
5
 
7
6
  const { element } = defineProps<{
8
- element: ProseElement<typeof subProblemSchema>;
7
+ element: ToProseElement<SubProblemSchema>;
9
8
  }>();
10
9
  </script>
11
10
 
@@ -1,11 +1,11 @@
1
1
  <script setup lang="ts">
2
2
  import { useTemplateRef, ref, watch, computed } from 'vue';
3
- import type { ProseElement } from '@jsprose/core';
3
+ import type { ToProseElement } from 'tsprose';
4
4
 
5
5
  import {
6
6
  checkProblemAnswer,
7
7
  fromSerializableValidator,
8
- type problemCheckSchema,
8
+ type ProblemCheckSchema,
9
9
  } from '../../problemCheck.js';
10
10
  import checkIcon from '../../assets/actions/check.svg?raw';
11
11
  import plusIcon from '../../../../app/shared/assets/plus.svg?raw';
@@ -25,7 +25,7 @@ type CheckState = {
25
25
  };
26
26
 
27
27
  const { check, script } = defineProps<{
28
- check: ProseElement<typeof problemCheckSchema>;
28
+ check: ToProseElement<ProblemCheckSchema>;
29
29
  script?: {
30
30
  check: (answer: string | undefined) => boolean;
31
31
  clear: () => void;
@@ -1,13 +1,16 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, ref } from 'vue';
3
- import { isProseElement, type ProseElement } from '@jsprose/core';
3
+ import { isProseElement, type ToProseElement } from 'tsprose';
4
4
 
5
5
  import type { CheckFunction } from '../../problemScript.js';
6
- import { problemCheckSchema } from '../../problemCheck.js';
6
+ import {
7
+ problemCheckSchema,
8
+ type ProblemCheckSchema,
9
+ } from '../../problemCheck.js';
7
10
  import ProblemExpander from '../ProblemExpander.vue';
8
11
  import Check from './Check.vue';
9
12
 
10
- type CheckProseElement = ProseElement<typeof problemCheckSchema>;
13
+ type CheckProseElement = ToProseElement<ProblemCheckSchema>;
11
14
  type CheckStatus = 'default' | 'correct' | 'wrong';
12
15
 
13
16
  const { value } = defineProps<{
@@ -1,16 +1,12 @@
1
1
  <script lang="ts" setup>
2
- import {
3
- isProseElement,
4
- type AnySchema,
5
- type ProseElement,
6
- } from '@jsprose/core';
2
+ import { isProseElement, type ProseElement } from 'tsprose';
7
3
 
8
4
  import { problemSectionSchema } from '../../problemContent.js';
9
5
  import ProblemExpander from '../ProblemExpander.vue';
10
6
  import ProblemExpanderSection from '../ProblemExpanderSection.vue';
11
7
  import Render from '../../../../app/shared/Render.vue';
12
8
 
13
- const { value } = defineProps<{ value: ProseElement<AnySchema> }>();
9
+ const { value } = defineProps<{ value: ProseElement }>();
14
10
 
15
11
  const defaultBlocks = value.children!.filter(
16
12
  (element) => !isProseElement(element, problemSectionSchema),
@@ -18,7 +14,7 @@ const defaultBlocks = value.children!.filter(
18
14
 
19
15
  const sections = value.children!.filter((element) =>
20
16
  isProseElement(element, problemSectionSchema),
21
- ) as ProseElement<typeof problemSectionSchema>[];
17
+ );
22
18
  </script>
23
19
 
24
20
  <template>
@@ -1,13 +1,13 @@
1
1
  <script lang="ts" setup>
2
- import type { ProseElement } from '@jsprose/core';
2
+ import type { ToProseElement } from 'tsprose';
3
3
 
4
- import type { problemHintSchema } from '../../problemContent.js';
4
+ import type { ProblemHintSchema } from '../../problemContent.js';
5
5
  import { useProblemPhrase } from '../../composables/phrase.js';
6
6
  import ProblemExpander from '../ProblemExpander.vue';
7
7
  import Render from '../../../../app/shared/Render.vue';
8
8
  import ProblemExpanderSection from '../ProblemExpanderSection.vue';
9
9
 
10
- defineProps<{ value: ProseElement<typeof problemHintSchema>[] }>();
10
+ defineProps<{ value: ToProseElement<ProblemHintSchema>[] }>();
11
11
  const phrase = await useProblemPhrase();
12
12
  </script>
13
13
 
@@ -1,3 +1,3 @@
1
- import type { AnyUnique } from '@jsprose/core';
1
+ import type { Unique } from 'tsprose';
2
2
  import type { ProblemScriptInstance } from '../problemScript.js';
3
- export declare function createProblemScriptInstance(scriptUrl?: string, scriptUniques?: Record<string, AnyUnique>): Promise<ProblemScriptInstance | undefined>;
3
+ export declare function createProblemScriptInstance(scriptUrl?: string, scriptUniques?: Record<string, Unique>): Promise<ProblemScriptInstance | undefined>;