@erudit-js/prose 4.1.0 → 4.2.0-dev.1

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 +8 -7
  90. package/dist/elements/link/core.js +5 -4
  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 +30 -108
  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 -56
  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 +2 -2
  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 +7 -6
  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 +0 -4
@@ -1,311 +1,75 @@
1
- declare const _default: [{
2
- registryItem: import("@jsprose/core").RegistryItem<{
3
- name: "problemDescription";
4
- type: "block";
5
- linkable: false;
6
- Data: undefined;
7
- Storage: undefined;
8
- Children: import("@jsprose/core").AnySchema[];
9
- }, {
10
- ProblemDescription: import("@jsprose/core").Tag<"ProblemDescription", {
11
- name: "problemDescription";
12
- type: "block";
13
- linkable: false;
14
- Data: undefined;
15
- Storage: undefined;
16
- Children: import("@jsprose/core").AnySchema[];
17
- }, import("@jsprose/core").TagChildren>;
18
- }, undefined>;
1
+ declare const _default: readonly [{
2
+ readonly schema: import("./problem.js").ProblemSchema;
3
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problem.js").ProblemSchema, "Problem", {
4
+ title: string;
5
+ level: import("./shared.js").ProblemLevel;
6
+ attributes?: (import("./shared.js").ProblemAttribute | import("./shared.js").ProblemCustomAttribute)[];
7
+ } & {
8
+ pretty?: true | undefined;
9
+ applied?: true | undefined;
10
+ method?: true | undefined;
11
+ inter?: true | undefined;
12
+ } & (({
13
+ script?: undefined;
14
+ } & import("tsprose").RequiredChildren) | ({
15
+ script: import("./problemScript.js").ProblemScriptInstance;
16
+ } & import("tsprose").NoChildren))>];
19
17
  }, {
20
- registryItem: import("@jsprose/core").RegistryItem<{
21
- name: "problemHint";
22
- type: "block";
23
- linkable: false;
24
- Data: undefined;
25
- Storage: undefined;
26
- Children: import("@jsprose/core").AnySchema[];
27
- }, {
28
- ProblemHint: import("@jsprose/core").Tag<"ProblemHint", {
29
- name: "problemHint";
30
- type: "block";
31
- linkable: false;
32
- Data: undefined;
33
- Storage: undefined;
34
- Children: import("@jsprose/core").AnySchema[];
35
- }, import("@jsprose/core").TagChildren>;
36
- }, undefined>;
18
+ readonly schema: import("./problems.js").SubProblemSchema;
19
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problems.js").SubProblemSchema, "SubProblem", {
20
+ label?: string;
21
+ } & ({
22
+ children: {};
23
+ script?: undefined;
24
+ } | {
25
+ script: import("./problemScript.js").ProblemScriptInstance;
26
+ children?: undefined;
27
+ })>];
37
28
  }, {
38
- registryItem: import("@jsprose/core").RegistryItem<{
39
- name: "problemAnswer";
40
- type: "block";
41
- linkable: false;
42
- Data: undefined;
43
- Storage: undefined;
44
- Children: import("@jsprose/core").AnySchema[];
45
- }, {
46
- ProblemAnswer: import("@jsprose/core").Tag<"ProblemAnswer", {
47
- name: "problemAnswer";
48
- type: "block";
49
- linkable: false;
50
- Data: undefined;
51
- Storage: undefined;
52
- Children: import("@jsprose/core").AnySchema[];
53
- }, import("@jsprose/core").TagChildren>;
54
- }, undefined>;
29
+ readonly schema: import("./problems.js").ProblemsSchema;
30
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problems.js").ProblemsSchema, "Problems", import("./shared.js").ProblemInfoProps>];
55
31
  }, {
56
- registryItem: import("@jsprose/core").RegistryItem<{
57
- name: "problemSolution";
58
- type: "block";
59
- linkable: false;
60
- Data: undefined;
61
- Storage: undefined;
62
- Children: import("@jsprose/core").AnySchema[];
63
- }, {
64
- ProblemSolution: import("@jsprose/core").Tag<"ProblemSolution", {
65
- name: "problemSolution";
66
- type: "block";
67
- linkable: false;
68
- Data: undefined;
69
- Storage: undefined;
70
- Children: import("@jsprose/core").AnySchema[];
71
- }, import("@jsprose/core").TagChildren>;
72
- }, undefined>;
32
+ readonly schema: import("./problemContent.js").ProblemDescriptionSchema;
33
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problemContent.js").ProblemDescriptionSchema, "ProblemDescription", unknown>];
73
34
  }, {
74
- registryItem: import("@jsprose/core").RegistryItem<{
75
- name: "problemNote";
76
- type: "block";
77
- linkable: false;
78
- Data: undefined;
79
- Storage: undefined;
80
- Children: import("@jsprose/core").AnySchema[];
35
+ readonly schema: import("./problemCheck.js").ProblemCheckSchema;
36
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problemCheck.js").ProblemCheckSchema, "ProblemCheck", {
37
+ label?: string;
38
+ hint?: string;
39
+ placeholder?: string;
40
+ } & (import("ts-xor").XOR<{
41
+ yes: true;
81
42
  }, {
82
- ProblemNote: import("@jsprose/core").Tag<"ProblemNote", {
83
- name: "problemNote";
84
- type: "block";
85
- linkable: false;
86
- Data: undefined;
87
- Storage: undefined;
88
- Children: import("@jsprose/core").AnySchema[];
89
- }, import("@jsprose/core").TagChildren>;
90
- }, undefined>;
91
- }, {
92
- registryItem: import("@jsprose/core").RegistryItem<{
93
- name: "problemCheck";
94
- type: "block";
95
- linkable: false;
96
- Data: import("./problemCheck.js").ProblemCheckData;
97
- Storage: undefined;
98
- Children: import("./problemCheck.js").ProblemCheckSchema[] | undefined;
43
+ no: true;
99
44
  }, {
100
- ProblemCheck: import("@jsprose/core").Tag<"ProblemCheck", {
101
- name: "problemCheck";
102
- type: "block";
103
- linkable: false;
104
- Data: import("./problemCheck.js").ProblemCheckData;
105
- Storage: undefined;
106
- Children: import("./problemCheck.js").ProblemCheckSchema[] | undefined;
107
- }, ({
108
- label?: string;
109
- hint?: string;
110
- placeholder?: string;
111
- } & (((Pick<{
112
- yes: true;
113
- no: true;
114
- answer: import("./problemCheck.js").ProblemCheckValue;
115
- answers: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[] | {
116
- ordered?: boolean;
117
- separator?: string;
118
- values: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[];
119
- };
120
- script: string;
121
- }, "answer"> & {
122
- yes?: undefined;
123
- no?: undefined;
124
- answers?: undefined;
125
- script?: undefined;
126
- }) | (Pick<{
127
- yes: true;
128
- no: true;
129
- answer: import("./problemCheck.js").ProblemCheckValue;
130
- answers: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[] | {
131
- ordered?: boolean;
132
- separator?: string;
133
- values: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[];
134
- };
135
- script: string;
136
- }, "yes"> & {
137
- answer?: undefined;
138
- no?: undefined;
139
- answers?: undefined;
140
- script?: undefined;
141
- }) | (Pick<{
142
- yes: true;
143
- no: true;
144
- answer: import("./problemCheck.js").ProblemCheckValue;
145
- answers: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[] | {
146
- ordered?: boolean;
147
- separator?: string;
148
- values: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[];
149
- };
150
- script: string;
151
- }, "no"> & {
152
- answer?: undefined;
153
- yes?: undefined;
154
- answers?: undefined;
155
- script?: undefined;
156
- }) | (Pick<{
157
- yes: true;
158
- no: true;
159
- answer: import("./problemCheck.js").ProblemCheckValue;
160
- answers: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[] | {
161
- ordered?: boolean;
162
- separator?: string;
163
- values: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[];
164
- };
165
- script: string;
166
- }, "answers"> & {
167
- answer?: undefined;
168
- yes?: undefined;
169
- no?: undefined;
170
- script?: undefined;
171
- }) | (Pick<{
172
- yes: true;
173
- no: true;
174
- answer: import("./problemCheck.js").ProblemCheckValue;
175
- answers: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[] | {
176
- ordered?: boolean;
177
- separator?: string;
178
- values: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[];
179
- };
180
- script: string;
181
- }, "script"> & {
182
- answer?: undefined;
183
- yes?: undefined;
184
- no?: undefined;
185
- answers?: undefined;
186
- })) & (import("@jsprose/core").TagChildren | import("@jsprose/core").NoTagChildren))) & {}>;
187
- }, undefined>;
188
- }, {
189
- registryItem: import("@jsprose/core").RegistryItem<{
190
- name: "problemSection";
191
- type: "block";
192
- linkable: false;
193
- Data: string;
194
- Storage: undefined;
195
- Children: import("@jsprose/core").AnySchema[];
45
+ boolean: boolean;
196
46
  }, {
197
- ProblemSection: import("@jsprose/core").Tag<"ProblemSection", {
198
- name: "problemSection";
199
- type: "block";
200
- linkable: false;
201
- Data: string;
202
- Storage: undefined;
203
- Children: import("@jsprose/core").AnySchema[];
204
- }, {
205
- title: string;
206
- } & import("@jsprose/core").TagChildren>;
207
- }, undefined>;
208
- }, {
209
- registryItem: import("@jsprose/core").RegistryItem<{
210
- name: "problem";
211
- type: "block";
212
- linkable: true;
213
- Data: import("./problem.js").ProblemData;
214
- Storage: import("./storage.js").ProblemScriptStorage;
215
- Children: import("./problemContent.js").ProblemContentChild[];
47
+ answer: import("./problemCheck.js").ProblemCheckValue | import("./problemCheck.js").ProblemCheckValue[];
216
48
  }, {
217
- Problem: import("@jsprose/core").Tag<"Problem", {
218
- name: "problem";
219
- type: "block";
220
- linkable: true;
221
- Data: import("./problem.js").ProblemData;
222
- Storage: import("./storage.js").ProblemScriptStorage;
223
- Children: import("./problemContent.js").ProblemContentChild[];
224
- }, ({
225
- title: string;
226
- level: import("./shared.js").ProblemLevel;
227
- attributes?: (import("./shared.js").ProblemAttribute | import("./shared.js").ProblemCustomAttribute)[];
228
- } & {
229
- pretty?: true | undefined;
230
- applied?: true | undefined;
231
- method?: true | undefined;
232
- inter?: true | undefined;
233
- } & ({
234
- children: {};
235
- script?: undefined;
236
- } | {
237
- script: import("./problemScript.js").ProblemScriptInstance;
238
- children?: undefined;
239
- })) & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet>;
240
- }, undefined>;
241
- }, {
242
- registryItem: import("@jsprose/core").RegistryItem<{
243
- name: "subProblem";
244
- type: "block";
245
- linkable: false;
246
- Data: import("./problems.js").SubProblemData;
247
- Storage: import("./storage.js").ProblemScriptStorage;
248
- Children: import("./problemContent.js").ProblemContentChild[];
49
+ answers: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[] | {
50
+ ordered?: boolean;
51
+ separator?: string;
52
+ values: (import("./problemCheck.js").ProblemCheckValueDefined | import("./problemCheck.js").ProblemCheckValueDefined[])[];
53
+ };
249
54
  }, {
250
- SubProblem: import("@jsprose/core").Tag<"SubProblem", {
251
- name: "subProblem";
252
- type: "block";
253
- linkable: false;
254
- Data: import("./problems.js").SubProblemData;
255
- Storage: import("./storage.js").ProblemScriptStorage;
256
- Children: import("./problemContent.js").ProblemContentChild[];
257
- }, ({
258
- label?: string;
259
- } & {
260
- children: {};
261
- script?: undefined;
262
- }) | ({
263
- label?: string;
264
- } & {
265
- script: import("./problemScript.js").ProblemScriptInstance;
266
- children?: undefined;
267
- })>;
268
- }, undefined>;
55
+ script: string;
56
+ }> & import("tsprose").OptionalChildren)>];
269
57
  }, {
270
- registryItem: import("@jsprose/core").RegistryItem<{
271
- name: "problems";
272
- type: "block";
273
- linkable: true;
274
- Data: import("./shared.js").ProblemInfo;
275
- Storage: undefined;
276
- Children: (import("@jsprose/core").BlockSchema | {
277
- name: "subProblem";
278
- type: "block";
279
- linkable: false;
280
- Data: import("./problems.js").SubProblemData;
281
- Storage: import("./storage.js").ProblemScriptStorage;
282
- Children: import("./problemContent.js").ProblemContentChild[];
283
- })[];
284
- }, {
285
- Problems: import("@jsprose/core").Tag<"Problems", {
286
- name: "problems";
287
- type: "block";
288
- linkable: true;
289
- Data: import("./shared.js").ProblemInfo;
290
- Storage: undefined;
291
- Children: (import("@jsprose/core").BlockSchema | {
292
- name: "subProblem";
293
- type: "block";
294
- linkable: false;
295
- Data: import("./problems.js").SubProblemData;
296
- Storage: import("./storage.js").ProblemScriptStorage;
297
- Children: import("./problemContent.js").ProblemContentChild[];
298
- })[];
299
- }, {
300
- title: string;
301
- level: import("./shared.js").ProblemLevel;
302
- attributes?: (import("./shared.js").ProblemAttribute | import("./shared.js").ProblemCustomAttribute)[];
303
- } & {
304
- pretty?: true | undefined;
305
- applied?: true | undefined;
306
- method?: true | undefined;
307
- inter?: true | undefined;
308
- } & import("@jsprose/core").TagChildren & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet>;
309
- }, undefined>;
58
+ readonly schema: import("./problemContent.js").ProblemHintSchema;
59
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problemContent.js").ProblemHintSchema, "ProblemHint", unknown>];
60
+ }, {
61
+ readonly schema: import("./problemContent.js").ProblemSectionSchema;
62
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problemContent.js").ProblemSectionSchema, "ProblemSection", {
63
+ title: string;
64
+ }>];
65
+ }, {
66
+ readonly schema: import("./problemContent.js").SectionContainerSchema<"solution">;
67
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problemContent.js").SectionContainerSchema<"solution">, "ProblemSolution", unknown>];
68
+ }, {
69
+ readonly schema: import("./problemContent.js").SectionContainerSchema<"answer">;
70
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problemContent.js").SectionContainerSchema<"answer">, "ProblemAnswer", unknown>];
71
+ }, {
72
+ readonly schema: import("./problemContent.js").SectionContainerSchema<"note">;
73
+ readonly tags: [import("../../tag.js").ToEruditTag<import("./problemContent.js").SectionContainerSchema<"note">, "ProblemNote", unknown>];
310
74
  }];
311
75
  export default _default;
@@ -1,18 +1,16 @@
1
- import { defineEruditProseCoreElements } from "../../coreElement.js";
2
1
  import { problemCoreElement } from "./problem.js";
3
2
  import { problemCheckCoreElement } from "./problemCheck.js";
4
3
  import { problemAnswer, problemDescriptionCoreElement, problemHintCoreElement, problemNote, problemSectionCoreElement, problemSolution } from "./problemContent.js";
5
4
  import { problemsCoreElement, subProblemCoreElement } from "./problems.js";
6
- export default defineEruditProseCoreElements(
5
+ export default [
6
+ problemCoreElement,
7
+ subProblemCoreElement,
8
+ problemsCoreElement,
7
9
  problemDescriptionCoreElement,
8
- problemHintCoreElement,
9
- problemAnswer.coreElement,
10
- problemSolution.coreElement,
11
- problemNote.coreElement,
12
10
  problemCheckCoreElement,
11
+ problemHintCoreElement,
13
12
  problemSectionCoreElement,
14
- //
15
- problemCoreElement,
16
- subProblemCoreElement,
17
- problemsCoreElement
18
- );
13
+ problemSolution.coreElement,
14
+ problemAnswer.coreElement,
15
+ problemNote.coreElement
16
+ ];
@@ -0,0 +1 @@
1
+ export declare const problemScriptHook: import("../../rawToProse/hook.js").RawToProseHook;
@@ -0,0 +1,14 @@
1
+ import { isRawElement } from "tsprose";
2
+ import { defineRawToProseHook } from "../../rawToProse/hook.js";
3
+ import { problemSchema } from "./problem.js";
4
+ import { subProblemSchema } from "./problems.js";
5
+ export const problemScriptHook = defineRawToProseHook(({ result }) => {
6
+ return { step: ({ rawElement }) => {
7
+ if (isRawElement(rawElement, problemSchema) || isRawElement(rawElement, subProblemSchema)) {
8
+ const problemScriptSrc = rawElement.storageKey?.replace("problemScript:", "");
9
+ if (problemScriptSrc) {
10
+ result.problemScripts.add(problemScriptSrc);
11
+ }
12
+ }
13
+ } };
14
+ });
@@ -1,28 +1,22 @@
1
- import { type AnyUnique } from '@jsprose/core';
1
+ import { type NoChildren, type RequiredChildren, type Schema, type Unique } from 'tsprose';
2
2
  import { type ProblemInfo } from './shared.js';
3
3
  import { type ProblemContentChild } from './problemContent.js';
4
4
  import { type ProblemScriptStorage } from './storage.js';
5
5
  import { type ProblemScriptInstance } from './problemScript.js';
6
- export interface ProblemData {
7
- info: ProblemInfo;
8
- scriptUniques?: Record<string, AnyUnique>;
9
- }
10
- export declare const problemSchema: {
11
- name: "problem";
12
- type: "block";
6
+ export interface ProblemSchema extends Schema {
7
+ name: 'problem';
8
+ type: 'block';
13
9
  linkable: true;
14
10
  Data: ProblemData;
15
11
  Storage: ProblemScriptStorage;
16
12
  Children: ProblemContentChild[];
17
- };
18
- export declare const Problem: import("@jsprose/core").Tag<"Problem", {
19
- name: "problem";
20
- type: "block";
21
- linkable: true;
22
- Data: ProblemData;
23
- Storage: ProblemScriptStorage;
24
- Children: ProblemContentChild[];
25
- }, ({
13
+ }
14
+ export interface ProblemData {
15
+ info: ProblemInfo;
16
+ scriptUniques?: Record<string, Unique>;
17
+ }
18
+ export declare const problemSchema: ProblemSchema;
19
+ export declare const Problem: import("../../tag.js").ToEruditTag<ProblemSchema, "Problem", {
26
20
  title: string;
27
21
  level: import("./shared.js").ProblemLevel;
28
22
  attributes?: (import("./shared.js").ProblemAttribute | import("./shared.js").ProblemCustomAttribute)[];
@@ -31,29 +25,14 @@ export declare const Problem: import("@jsprose/core").Tag<"Problem", {
31
25
  applied?: true | undefined;
32
26
  method?: true | undefined;
33
27
  inter?: true | undefined;
34
- } & ({
35
- children: {};
28
+ } & (({
36
29
  script?: undefined;
37
- } | {
30
+ } & RequiredChildren) | ({
38
31
  script: ProblemScriptInstance;
39
- children?: undefined;
40
- })) & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet>;
41
- export declare const problemRegistryItem: import("@jsprose/core").RegistryItem<{
42
- name: "problem";
43
- type: "block";
44
- linkable: true;
45
- Data: ProblemData;
46
- Storage: ProblemScriptStorage;
47
- Children: ProblemContentChild[];
48
- }, {
49
- Problem: import("@jsprose/core").Tag<"Problem", {
50
- name: "problem";
51
- type: "block";
52
- linkable: true;
53
- Data: ProblemData;
54
- Storage: ProblemScriptStorage;
55
- Children: ProblemContentChild[];
56
- }, ({
32
+ } & NoChildren))>;
33
+ export declare const problemCoreElement: {
34
+ readonly schema: ProblemSchema;
35
+ readonly tags: [import("../../tag.js").ToEruditTag<ProblemSchema, "Problem", {
57
36
  title: string;
58
37
  level: import("./shared.js").ProblemLevel;
59
38
  attributes?: (import("./shared.js").ProblemAttribute | import("./shared.js").ProblemCustomAttribute)[];
@@ -62,45 +41,9 @@ export declare const problemRegistryItem: import("@jsprose/core").RegistryItem<{
62
41
  applied?: true | undefined;
63
42
  method?: true | undefined;
64
43
  inter?: true | undefined;
65
- } & ({
66
- children: {};
44
+ } & (({
67
45
  script?: undefined;
68
- } | {
46
+ } & RequiredChildren) | ({
69
47
  script: ProblemScriptInstance;
70
- children?: undefined;
71
- })) & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet>;
72
- }, undefined>;
73
- export declare const problemCoreElement: {
74
- registryItem: import("@jsprose/core").RegistryItem<{
75
- name: "problem";
76
- type: "block";
77
- linkable: true;
78
- Data: ProblemData;
79
- Storage: ProblemScriptStorage;
80
- Children: ProblemContentChild[];
81
- }, {
82
- Problem: import("@jsprose/core").Tag<"Problem", {
83
- name: "problem";
84
- type: "block";
85
- linkable: true;
86
- Data: ProblemData;
87
- Storage: ProblemScriptStorage;
88
- Children: ProblemContentChild[];
89
- }, ({
90
- title: string;
91
- level: import("./shared.js").ProblemLevel;
92
- attributes?: (import("./shared.js").ProblemAttribute | import("./shared.js").ProblemCustomAttribute)[];
93
- } & {
94
- pretty?: true | undefined;
95
- applied?: true | undefined;
96
- method?: true | undefined;
97
- inter?: true | undefined;
98
- } & ({
99
- children: {};
100
- script?: undefined;
101
- } | {
102
- script: ProblemScriptInstance;
103
- children?: undefined;
104
- })) & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet>;
105
- }, undefined>;
48
+ } & NoChildren))>];
106
49
  };
@@ -1,15 +1,16 @@
1
- import { defineRegistryItem, defineSchema, ProseError } from "@jsprose/core";
1
+ import { defineSchema } from "tsprose";
2
2
  import { problemProps2Info } from "./shared.js";
3
3
  import { validateProblemContent } from "./problemContent.js";
4
4
  import { defineEruditTag } from "../../tag.js";
5
- import { defineEruditProseCoreElement } from "../../coreElement.js";
6
5
  import { problemScriptStorageKey } from "./storage.js";
7
6
  import "./problemScript.js";
7
+ import { EruditProseError } from "../../error.js";
8
+ import { defineProseCoreElement } from "../../coreElement.js";
8
9
  export const problemSchema = defineSchema({
9
10
  name: "problem",
10
11
  type: "block",
11
12
  linkable: true
12
- })();
13
+ });
13
14
  export const Problem = defineEruditTag({
14
15
  tagName: "Problem",
15
16
  schema: problemSchema
@@ -18,7 +19,7 @@ export const Problem = defineEruditTag({
18
19
  element.data = { info: problemInfo };
19
20
  element.title = problemInfo.title;
20
21
  if (children && props.script) {
21
- throw new ProseError(`<${tagName}> cannot have both script and children in Problem element!`);
22
+ throw new EruditProseError(`<${tagName}> cannot have both script and children in Problem element!`);
22
23
  }
23
24
  if (props.script) {
24
25
  element.data.scriptUniques = props.script.uniques;
@@ -29,8 +30,7 @@ export const Problem = defineEruditTag({
29
30
  element.children = children;
30
31
  }
31
32
  });
32
- export const problemRegistryItem = defineRegistryItem({
33
+ export const problemCoreElement = defineProseCoreElement({
33
34
  schema: problemSchema,
34
35
  tags: [Problem]
35
36
  });
36
- export const problemCoreElement = defineEruditProseCoreElement({ registryItem: problemRegistryItem });