@erudit-js/prose 3.0.0-dev.25

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 (355) hide show
  1. package/dist/app/appElement.d.ts +19 -0
  2. package/dist/app/appElement.js +12 -0
  3. package/dist/app/component.d.ts +6 -0
  4. package/dist/app/component.js +6 -0
  5. package/dist/app/composables/anchor.d.ts +16 -0
  6. package/dist/app/composables/anchor.js +89 -0
  7. package/dist/app/composables/appElement.d.ts +4 -0
  8. package/dist/app/composables/appElement.js +16 -0
  9. package/dist/app/composables/context.d.ts +22 -0
  10. package/dist/app/composables/context.js +5 -0
  11. package/dist/app/composables/elementIcon.d.ts +3 -0
  12. package/dist/app/composables/elementIcon.js +5 -0
  13. package/dist/app/composables/formatText.d.ts +1 -0
  14. package/dist/app/composables/formatText.js +5 -0
  15. package/dist/app/composables/language.d.ts +8 -0
  16. package/dist/app/composables/language.js +13 -0
  17. package/dist/app/composables/storage.d.ts +5 -0
  18. package/dist/app/composables/storage.js +23 -0
  19. package/dist/app/default/Inliners.vue +11 -0
  20. package/dist/app/default/Mix.vue +11 -0
  21. package/dist/app/default/Text.vue +21 -0
  22. package/dist/app/icon.d.ts +5 -0
  23. package/dist/app/icon.js +7 -0
  24. package/dist/app/index.d.ts +18 -0
  25. package/dist/app/index.js +18 -0
  26. package/dist/app/language/element.d.ts +10 -0
  27. package/dist/app/language/element.js +12 -0
  28. package/dist/app/language/list/en.d.ts +3 -0
  29. package/dist/app/language/list/en.js +5 -0
  30. package/dist/app/language/list/ru.d.ts +3 -0
  31. package/dist/app/language/list/ru.js +5 -0
  32. package/dist/app/language/prose.d.ts +9 -0
  33. package/dist/app/language/prose.js +4 -0
  34. package/dist/app/shared/Prose.vue +36 -0
  35. package/dist/app/shared/Render.vue +51 -0
  36. package/dist/app/shared/assets/block.svg +3 -0
  37. package/dist/app/shared/assets/check.svg +3 -0
  38. package/dist/app/shared/assets/inliner.svg +3 -0
  39. package/dist/app/shared/assets/plus.svg +3 -0
  40. package/dist/app/shared/assets/share.svg +3 -0
  41. package/dist/app/shared/block/AsideMenu.vue +44 -0
  42. package/dist/app/shared/block/AsideMenuButton.vue +53 -0
  43. package/dist/app/shared/block/AsideMenuCopyLink.vue +40 -0
  44. package/dist/app/shared/block/AsideMenuSeparator.vue +3 -0
  45. package/dist/app/shared/block/Block.vue +270 -0
  46. package/dist/app/shared/inliner/Inliner.vue +11 -0
  47. package/dist/app/shared/invert.d.ts +2 -0
  48. package/dist/app/shared/invert.js +2 -0
  49. package/dist/app/shared/photoswipe/composable.d.ts +9 -0
  50. package/dist/app/shared/photoswipe/composable.js +68 -0
  51. package/dist/app/shared/photoswipe/style.css +26 -0
  52. package/dist/context.d.ts +4 -0
  53. package/dist/context.js +1 -0
  54. package/dist/coreElement.d.ts +10 -0
  55. package/dist/coreElement.js +6 -0
  56. package/dist/elements/accent/Accent.vue +92 -0
  57. package/dist/elements/accent/AccentColumnSection.vue +61 -0
  58. package/dist/elements/accent/AccentRowSections.vue +65 -0
  59. package/dist/elements/accent/app.d.ts +21 -0
  60. package/dist/elements/accent/app.js +16 -0
  61. package/dist/elements/accent/core.d.ts +340 -0
  62. package/dist/elements/accent/core.js +175 -0
  63. package/dist/elements/callout/Callout.vue +88 -0
  64. package/dist/elements/callout/_global.d.ts +15 -0
  65. package/dist/elements/callout/app.d.ts +9 -0
  66. package/dist/elements/callout/app.js +11 -0
  67. package/dist/elements/callout/core.d.ts +80 -0
  68. package/dist/elements/callout/core.js +37 -0
  69. package/dist/elements/callout/icon.svg +3 -0
  70. package/dist/elements/callout/languages/en.d.ts +4 -0
  71. package/dist/elements/callout/languages/en.js +2 -0
  72. package/dist/elements/callout/languages/ru.d.ts +4 -0
  73. package/dist/elements/callout/languages/ru.js +2 -0
  74. package/dist/elements/callout/storage.d.ts +2 -0
  75. package/dist/elements/callout/storage.js +5 -0
  76. package/dist/elements/caption/Caption.vue +47 -0
  77. package/dist/elements/caption/_global.d.ts +26 -0
  78. package/dist/elements/caption/app.d.ts +9 -0
  79. package/dist/elements/caption/app.js +6 -0
  80. package/dist/elements/caption/core.d.ts +114 -0
  81. package/dist/elements/caption/core.js +61 -0
  82. package/dist/elements/details/Details.vue +51 -0
  83. package/dist/elements/details/_global.d.ts +27 -0
  84. package/dist/elements/details/app.d.ts +9 -0
  85. package/dist/elements/details/app.js +11 -0
  86. package/dist/elements/details/core.d.ts +68 -0
  87. package/dist/elements/details/core.js +30 -0
  88. package/dist/elements/details/icon.svg +3 -0
  89. package/dist/elements/details/languages/en.d.ts +4 -0
  90. package/dist/elements/details/languages/en.js +2 -0
  91. package/dist/elements/details/languages/ru.d.ts +4 -0
  92. package/dist/elements/details/languages/ru.js +2 -0
  93. package/dist/elements/diagram/Diagram.vue +364 -0
  94. package/dist/elements/diagram/_global.d.ts +19 -0
  95. package/dist/elements/diagram/app.d.ts +30 -0
  96. package/dist/elements/diagram/app.js +11 -0
  97. package/dist/elements/diagram/core.d.ts +194 -0
  98. package/dist/elements/diagram/core.js +36 -0
  99. package/dist/elements/diagram/icon.svg +3 -0
  100. package/dist/elements/diagram/languages/en.d.ts +4 -0
  101. package/dist/elements/diagram/languages/en.js +2 -0
  102. package/dist/elements/diagram/languages/ru.d.ts +4 -0
  103. package/dist/elements/diagram/languages/ru.js +2 -0
  104. package/dist/elements/emphasis/Emphasis.vue +25 -0
  105. package/dist/elements/emphasis/_global.d.ts +18 -0
  106. package/dist/elements/emphasis/app.d.ts +9 -0
  107. package/dist/elements/emphasis/app.js +6 -0
  108. package/dist/elements/emphasis/core.d.ts +90 -0
  109. package/dist/elements/emphasis/core.js +32 -0
  110. package/dist/elements/flex/Flex.vue +32 -0
  111. package/dist/elements/flex/_global.d.ts +23 -0
  112. package/dist/elements/flex/app.d.ts +9 -0
  113. package/dist/elements/flex/app.js +11 -0
  114. package/dist/elements/flex/core.d.ts +67 -0
  115. package/dist/elements/flex/core.js +28 -0
  116. package/dist/elements/flex/icon.svg +3 -0
  117. package/dist/elements/flex/languages/en.d.ts +4 -0
  118. package/dist/elements/flex/languages/en.js +2 -0
  119. package/dist/elements/flex/languages/ru.d.ts +4 -0
  120. package/dist/elements/flex/languages/ru.js +2 -0
  121. package/dist/elements/gallery/Gallery.vue +56 -0
  122. package/dist/elements/gallery/_global.d.ts +18 -0
  123. package/dist/elements/gallery/app.d.ts +23 -0
  124. package/dist/elements/gallery/app.js +11 -0
  125. package/dist/elements/gallery/core.d.ts +138 -0
  126. package/dist/elements/gallery/core.js +21 -0
  127. package/dist/elements/gallery/icon.svg +3 -0
  128. package/dist/elements/gallery/languages/en.d.ts +4 -0
  129. package/dist/elements/gallery/languages/en.js +2 -0
  130. package/dist/elements/gallery/languages/ru.d.ts +4 -0
  131. package/dist/elements/gallery/languages/ru.js +2 -0
  132. package/dist/elements/heading/Heading.vue +44 -0
  133. package/dist/elements/heading/_global.d.ts +45 -0
  134. package/dist/elements/heading/app.d.ts +9 -0
  135. package/dist/elements/heading/app.js +11 -0
  136. package/dist/elements/heading/core.d.ts +108 -0
  137. package/dist/elements/heading/core.js +52 -0
  138. package/dist/elements/heading/icon.svg +3 -0
  139. package/dist/elements/heading/languages/en.d.ts +4 -0
  140. package/dist/elements/heading/languages/en.js +2 -0
  141. package/dist/elements/heading/languages/ru.d.ts +4 -0
  142. package/dist/elements/heading/languages/ru.js +2 -0
  143. package/dist/elements/horizontalLine/HorizontalLine.vue +6 -0
  144. package/dist/elements/horizontalLine/_global.d.ts +17 -0
  145. package/dist/elements/horizontalLine/app.d.ts +9 -0
  146. package/dist/elements/horizontalLine/app.js +6 -0
  147. package/dist/elements/horizontalLine/core.d.ts +54 -0
  148. package/dist/elements/horizontalLine/core.js +19 -0
  149. package/dist/elements/image/Image.vue +15 -0
  150. package/dist/elements/image/ImageElement.vue +80 -0
  151. package/dist/elements/image/_global.d.ts +18 -0
  152. package/dist/elements/image/app.d.ts +16 -0
  153. package/dist/elements/image/app.js +11 -0
  154. package/dist/elements/image/core.d.ts +136 -0
  155. package/dist/elements/image/core.js +44 -0
  156. package/dist/elements/image/icon.svg +3 -0
  157. package/dist/elements/image/languages/en.d.ts +4 -0
  158. package/dist/elements/image/languages/en.js +2 -0
  159. package/dist/elements/image/languages/ru.d.ts +4 -0
  160. package/dist/elements/image/languages/ru.js +2 -0
  161. package/dist/elements/image/storage.d.ts +6 -0
  162. package/dist/elements/image/storage.js +23 -0
  163. package/dist/elements/lineBreak/LineBreak.vue +3 -0
  164. package/dist/elements/lineBreak/_global.d.ts +18 -0
  165. package/dist/elements/lineBreak/app.d.ts +9 -0
  166. package/dist/elements/lineBreak/app.js +6 -0
  167. package/dist/elements/lineBreak/core.d.ts +54 -0
  168. package/dist/elements/lineBreak/core.js +19 -0
  169. package/dist/elements/link/BlockLink.vue +111 -0
  170. package/dist/elements/link/Link.vue +93 -0
  171. package/dist/elements/link/core.d.ts +13 -0
  172. package/dist/elements/link/core.js +12 -0
  173. package/dist/elements/link/dependency/_global.d.ts +47 -0
  174. package/dist/elements/link/dependency/app.d.ts +16 -0
  175. package/dist/elements/link/dependency/app.js +14 -0
  176. package/dist/elements/link/dependency/core.d.ts +125 -0
  177. package/dist/elements/link/dependency/core.js +51 -0
  178. package/dist/elements/link/dependency/languages/en.d.ts +4 -0
  179. package/dist/elements/link/dependency/languages/en.js +2 -0
  180. package/dist/elements/link/dependency/languages/ru.d.ts +4 -0
  181. package/dist/elements/link/dependency/languages/ru.js +2 -0
  182. package/dist/elements/link/icon.svg +3 -0
  183. package/dist/elements/link/reference/_global.d.ts +49 -0
  184. package/dist/elements/link/reference/app.d.ts +16 -0
  185. package/dist/elements/link/reference/app.js +14 -0
  186. package/dist/elements/link/reference/core.d.ts +120 -0
  187. package/dist/elements/link/reference/core.js +35 -0
  188. package/dist/elements/link/reference/languages/en.d.ts +4 -0
  189. package/dist/elements/link/reference/languages/en.js +2 -0
  190. package/dist/elements/link/reference/languages/ru.d.ts +4 -0
  191. package/dist/elements/link/reference/languages/ru.js +2 -0
  192. package/dist/elements/link/storage.d.ts +34 -0
  193. package/dist/elements/link/storage.js +20 -0
  194. package/dist/elements/list/List.vue +63 -0
  195. package/dist/elements/list/_global.d.ts +50 -0
  196. package/dist/elements/list/app.d.ts +16 -0
  197. package/dist/elements/list/app.js +11 -0
  198. package/dist/elements/list/core.d.ts +169 -0
  199. package/dist/elements/list/core.js +49 -0
  200. package/dist/elements/list/icon.svg +3 -0
  201. package/dist/elements/list/languages/en.d.ts +4 -0
  202. package/dist/elements/list/languages/en.js +2 -0
  203. package/dist/elements/list/languages/ru.d.ts +4 -0
  204. package/dist/elements/list/languages/ru.js +2 -0
  205. package/dist/elements/math/_global.d.ts +72 -0
  206. package/dist/elements/math/_global.ts +3 -0
  207. package/dist/elements/math/app.d.ts +16 -0
  208. package/dist/elements/math/app.js +20 -0
  209. package/dist/elements/math/block.d.ts +75 -0
  210. package/dist/elements/math/block.js +115 -0
  211. package/dist/elements/math/components/BlockMath.vue +30 -0
  212. package/dist/elements/math/components/InlinerMath.vue +65 -0
  213. package/dist/elements/math/components/Katex.vue +89 -0
  214. package/dist/elements/math/components/MathGroup.vue +39 -0
  215. package/dist/elements/math/core.d.ts +66 -0
  216. package/dist/elements/math/core.js +11 -0
  217. package/dist/elements/math/icon.svg +3 -0
  218. package/dist/elements/math/inliner.d.ts +64 -0
  219. package/dist/elements/math/inliner.js +85 -0
  220. package/dist/elements/math/katex.d.ts +8 -0
  221. package/dist/elements/math/katex.js +18 -0
  222. package/dist/elements/math/languages/en.d.ts +4 -0
  223. package/dist/elements/math/languages/en.js +2 -0
  224. package/dist/elements/math/languages/ru.d.ts +4 -0
  225. package/dist/elements/math/languages/ru.js +2 -0
  226. package/dist/elements/math/macros.d.ts +13 -0
  227. package/dist/elements/math/macros.js +12 -0
  228. package/dist/elements/paragraph/Paragraph.vue +27 -0
  229. package/dist/elements/paragraph/_global.d.ts +27 -0
  230. package/dist/elements/paragraph/app.d.ts +9 -0
  231. package/dist/elements/paragraph/app.js +11 -0
  232. package/dist/elements/paragraph/core.d.ts +67 -0
  233. package/dist/elements/paragraph/core.js +29 -0
  234. package/dist/elements/paragraph/icon.svg +4 -0
  235. package/dist/elements/paragraph/languages/en.d.ts +4 -0
  236. package/dist/elements/paragraph/languages/en.js +2 -0
  237. package/dist/elements/paragraph/languages/ru.d.ts +4 -0
  238. package/dist/elements/paragraph/languages/ru.js +2 -0
  239. package/dist/elements/problem/_global.d.ts +112 -0
  240. package/dist/elements/problem/app.d.ts +30 -0
  241. package/dist/elements/problem/app.js +27 -0
  242. package/dist/elements/problem/assets/actions/answer.svg +3 -0
  243. package/dist/elements/problem/assets/actions/check.svg +3 -0
  244. package/dist/elements/problem/assets/actions/generate.svg +3 -0
  245. package/dist/elements/problem/assets/actions/hint.svg +3 -0
  246. package/dist/elements/problem/assets/actions/note.svg +3 -0
  247. package/dist/elements/problem/assets/actions/solution.svg +3 -0
  248. package/dist/elements/problem/assets/attributes/applied.svg +3 -0
  249. package/dist/elements/problem/assets/attributes/inter.svg +3 -0
  250. package/dist/elements/problem/assets/attributes/method.svg +3 -0
  251. package/dist/elements/problem/assets/attributes/pretty.svg +1 -0
  252. package/dist/elements/problem/assets/icon.svg +3 -0
  253. package/dist/elements/problem/components/Problem.vue +22 -0
  254. package/dist/elements/problem/components/ProblemButton.vue +21 -0
  255. package/dist/elements/problem/components/ProblemContainer.vue +9 -0
  256. package/dist/elements/problem/components/ProblemContent.vue +371 -0
  257. package/dist/elements/problem/components/ProblemExpander.vue +7 -0
  258. package/dist/elements/problem/components/ProblemExpanderSection.vue +58 -0
  259. package/dist/elements/problem/components/ProblemHeader.vue +106 -0
  260. package/dist/elements/problem/components/Problems.vue +87 -0
  261. package/dist/elements/problem/components/SubProblem.vue +14 -0
  262. package/dist/elements/problem/components/expanders/Check.vue +151 -0
  263. package/dist/elements/problem/components/expanders/Checks.vue +83 -0
  264. package/dist/elements/problem/components/expanders/DefaultPlusSections.vue +38 -0
  265. package/dist/elements/problem/components/expanders/Hint.vue +26 -0
  266. package/dist/elements/problem/composables/phrase.d.ts +2 -0
  267. package/dist/elements/problem/composables/phrase.js +7 -0
  268. package/dist/elements/problem/composables/problemScript.d.ts +3 -0
  269. package/dist/elements/problem/composables/problemScript.js +11 -0
  270. package/dist/elements/problem/core.d.ts +248 -0
  271. package/dist/elements/problem/core.js +17 -0
  272. package/dist/elements/problem/languages/en.d.ts +3 -0
  273. package/dist/elements/problem/languages/en.js +24 -0
  274. package/dist/elements/problem/languages/ru.d.ts +3 -0
  275. package/dist/elements/problem/languages/ru.js +24 -0
  276. package/dist/elements/problem/phrases.d.ts +16 -0
  277. package/dist/elements/problem/phrases.js +1 -0
  278. package/dist/elements/problem/problem.d.ts +106 -0
  279. package/dist/elements/problem/problem.js +37 -0
  280. package/dist/elements/problem/problemContent.d.ts +439 -0
  281. package/dist/elements/problem/problemContent.js +236 -0
  282. package/dist/elements/problem/problemScript.d.ts +26 -0
  283. package/dist/elements/problem/problemScript.js +79 -0
  284. package/dist/elements/problem/problems.d.ts +212 -0
  285. package/dist/elements/problem/problems.js +74 -0
  286. package/dist/elements/problem/rng.d.ts +18 -0
  287. package/dist/elements/problem/rng.js +76 -0
  288. package/dist/elements/problem/shared.d.ts +28 -0
  289. package/dist/elements/problem/shared.js +42 -0
  290. package/dist/elements/problem/step.d.ts +5 -0
  291. package/dist/elements/problem/step.js +13 -0
  292. package/dist/elements/problem/storage.d.ts +5 -0
  293. package/dist/elements/problem/storage.js +8 -0
  294. package/dist/elements/table/Table.vue +104 -0
  295. package/dist/elements/table/_global.d.ts +36 -0
  296. package/dist/elements/table/app.d.ts +30 -0
  297. package/dist/elements/table/app.js +11 -0
  298. package/dist/elements/table/core.d.ts +324 -0
  299. package/dist/elements/table/core.js +65 -0
  300. package/dist/elements/table/icon.svg +3 -0
  301. package/dist/elements/table/languages/en.d.ts +4 -0
  302. package/dist/elements/table/languages/en.js +2 -0
  303. package/dist/elements/table/languages/ru.d.ts +4 -0
  304. package/dist/elements/table/languages/ru.js +2 -0
  305. package/dist/elements/video/Video.vue +109 -0
  306. package/dist/elements/video/_global.d.ts +18 -0
  307. package/dist/elements/video/app.d.ts +16 -0
  308. package/dist/elements/video/app.js +11 -0
  309. package/dist/elements/video/core.d.ts +128 -0
  310. package/dist/elements/video/core.js +43 -0
  311. package/dist/elements/video/icon.svg +3 -0
  312. package/dist/elements/video/languages/en.d.ts +4 -0
  313. package/dist/elements/video/languages/en.js +2 -0
  314. package/dist/elements/video/languages/ru.d.ts +4 -0
  315. package/dist/elements/video/languages/ru.js +2 -0
  316. package/dist/elements/video/storage.d.ts +2 -0
  317. package/dist/elements/video/storage.js +5 -0
  318. package/dist/include.d.ts +6 -0
  319. package/dist/include.js +42 -0
  320. package/dist/index.d.ts +15 -0
  321. package/dist/index.js +15 -0
  322. package/dist/rawElement.d.ts +6 -0
  323. package/dist/rawElement.js +3 -0
  324. package/dist/resolve.d.ts +20 -0
  325. package/dist/resolve.js +99 -0
  326. package/dist/resolveStep.d.ts +9 -0
  327. package/dist/resolveStep.js +3 -0
  328. package/dist/shared/filePath.d.ts +5 -0
  329. package/dist/shared/filePath.js +11 -0
  330. package/dist/shared/invert.d.ts +1 -0
  331. package/dist/shared/invert.js +1 -0
  332. package/dist/shared/paragraphWrap.d.ts +3 -0
  333. package/dist/shared/paragraphWrap.js +15 -0
  334. package/dist/shared/photoswipe.d.ts +10 -0
  335. package/dist/shared/photoswipe.js +10 -0
  336. package/dist/slugify/index.d.ts +1 -0
  337. package/dist/slugify/index.js +12 -0
  338. package/dist/slugify/languages/en.d.ts +2 -0
  339. package/dist/slugify/languages/en.js +3 -0
  340. package/dist/slugify/languages/ru.d.ts +2 -0
  341. package/dist/slugify/languages/ru.js +38 -0
  342. package/dist/snippet.d.ts +66 -0
  343. package/dist/snippet.js +57 -0
  344. package/dist/tag.d.ts +22 -0
  345. package/dist/tag.js +20 -0
  346. package/dist/title.d.ts +8 -0
  347. package/dist/title.js +6 -0
  348. package/dist/toc.d.ts +34 -0
  349. package/dist/toc.js +52 -0
  350. package/dist/utils/case.d.ts +4 -0
  351. package/dist/utils/case.js +8 -0
  352. package/dist/utils/docs.d.ts +1 -0
  353. package/dist/utils/docs.js +22 -0
  354. package/package.json +48 -0
  355. package/types.d.ts +4 -0
@@ -0,0 +1,106 @@
1
+ import { type AnyUnique } from '@jsprose/core';
2
+ import { type ProblemInfo } from './shared.js';
3
+ import { type ProblemContentChild } from './problemContent.js';
4
+ import { type ProblemScriptStorage } from './storage.js';
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";
13
+ linkable: true;
14
+ Data: ProblemData;
15
+ Storage: ProblemScriptStorage;
16
+ 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
+ }, ({
26
+ title: string;
27
+ level: import("./shared.js").ProblemLevel;
28
+ attributes?: (import("./shared.js").ProblemAttribute | import("./shared.js").ProblemCustomAttribute)[];
29
+ } & {
30
+ pretty?: true | undefined;
31
+ applied?: true | undefined;
32
+ method?: true | undefined;
33
+ inter?: true | undefined;
34
+ } & ({
35
+ children: {};
36
+ script?: undefined;
37
+ } | {
38
+ script: ProblemScriptInstance;
39
+ children?: undefined;
40
+ })) & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet & import("../../snippet.js").ObjPropSearch & import("../../snippet.js").ObjPropQuick & import("../../snippet.js").ObjPropSeo>;
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
+ }, ({
57
+ title: string;
58
+ level: import("./shared.js").ProblemLevel;
59
+ attributes?: (import("./shared.js").ProblemAttribute | import("./shared.js").ProblemCustomAttribute)[];
60
+ } & {
61
+ pretty?: true | undefined;
62
+ applied?: true | undefined;
63
+ method?: true | undefined;
64
+ inter?: true | undefined;
65
+ } & ({
66
+ children: {};
67
+ script?: undefined;
68
+ } | {
69
+ script: ProblemScriptInstance;
70
+ children?: undefined;
71
+ })) & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet & import("../../snippet.js").ObjPropSearch & import("../../snippet.js").ObjPropQuick & import("../../snippet.js").ObjPropSeo>;
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 & import("../../snippet.js").ObjPropSearch & import("../../snippet.js").ObjPropQuick & import("../../snippet.js").ObjPropSeo>;
105
+ }, undefined>;
106
+ };
@@ -0,0 +1,37 @@
1
+ import { defineRegistryItem, defineSchema, ProseError } from "@jsprose/core";
2
+ import { problemProps2Info } from "./shared.js";
3
+ import { validateProblemContent } from "./problemContent.js";
4
+ import { defineEruditTag } from "../../tag.js";
5
+ import { defineEruditProseCoreElement } from "../../coreElement.js";
6
+ import { problemScriptStorageKey } from "./storage.js";
7
+ import "./problemScript.js";
8
+ export const problemSchema = defineSchema({
9
+ name: "problem",
10
+ type: "block",
11
+ linkable: true
12
+ })();
13
+ export const Problem = defineEruditTag({
14
+ tagName: "Problem",
15
+ schema: problemSchema
16
+ })(({ element, tagName, props, children }) => {
17
+ element.data = { info: problemProps2Info(props) };
18
+ element.title = element.data.info.title;
19
+ element.snippet = {};
20
+ element.toc = { add: true };
21
+ if (children && props.script) {
22
+ throw new ProseError(`<${tagName}> cannot have both script and children in Problem element!`);
23
+ }
24
+ if (props.script) {
25
+ element.data.scriptUniques = props.script.uniques;
26
+ element.storageKey = problemScriptStorageKey(props.script.scriptSrc);
27
+ element.children = props.script.generate().problemContent;
28
+ } else {
29
+ validateProblemContent(tagName, children);
30
+ element.children = children;
31
+ }
32
+ });
33
+ export const problemRegistryItem = defineRegistryItem({
34
+ schema: problemSchema,
35
+ tags: [Problem]
36
+ });
37
+ export const problemCoreElement = defineEruditProseCoreElement({ registryItem: problemRegistryItem });
@@ -0,0 +1,439 @@
1
+ import { type AnySchema, type BlockSchema, type NormalizedChildren, type NoTagChildren, type TagChildren } from '@jsprose/core';
2
+ export declare const problemDescriptionSchema: {
3
+ name: "problemDescription";
4
+ type: "block";
5
+ linkable: false;
6
+ Data: undefined;
7
+ Storage: undefined;
8
+ Children: AnySchema[];
9
+ };
10
+ export declare const ProblemDescription: import("@jsprose/core").Tag<"ProblemDescription", {
11
+ name: "problemDescription";
12
+ type: "block";
13
+ linkable: false;
14
+ Data: undefined;
15
+ Storage: undefined;
16
+ Children: AnySchema[];
17
+ }, TagChildren>;
18
+ export declare const problemDescriptionRegistryItem: import("@jsprose/core").RegistryItem<{
19
+ name: "problemDescription";
20
+ type: "block";
21
+ linkable: false;
22
+ Data: undefined;
23
+ Storage: undefined;
24
+ Children: AnySchema[];
25
+ }, {
26
+ ProblemDescription: import("@jsprose/core").Tag<"ProblemDescription", {
27
+ name: "problemDescription";
28
+ type: "block";
29
+ linkable: false;
30
+ Data: undefined;
31
+ Storage: undefined;
32
+ Children: AnySchema[];
33
+ }, TagChildren>;
34
+ }, undefined>;
35
+ export declare const problemDescriptionCoreElement: {
36
+ registryItem: import("@jsprose/core").RegistryItem<{
37
+ name: "problemDescription";
38
+ type: "block";
39
+ linkable: false;
40
+ Data: undefined;
41
+ Storage: undefined;
42
+ Children: AnySchema[];
43
+ }, {
44
+ ProblemDescription: import("@jsprose/core").Tag<"ProblemDescription", {
45
+ name: "problemDescription";
46
+ type: "block";
47
+ linkable: false;
48
+ Data: undefined;
49
+ Storage: undefined;
50
+ Children: AnySchema[];
51
+ }, TagChildren>;
52
+ }, undefined>;
53
+ };
54
+ export declare const problemHintSchema: {
55
+ name: "problemHint";
56
+ type: "block";
57
+ linkable: false;
58
+ Data: undefined;
59
+ Storage: undefined;
60
+ Children: AnySchema[];
61
+ };
62
+ export declare const ProblemHint: import("@jsprose/core").Tag<"ProblemHint", {
63
+ name: "problemHint";
64
+ type: "block";
65
+ linkable: false;
66
+ Data: undefined;
67
+ Storage: undefined;
68
+ Children: AnySchema[];
69
+ }, TagChildren>;
70
+ export declare const problemHintRegistryItem: import("@jsprose/core").RegistryItem<{
71
+ name: "problemHint";
72
+ type: "block";
73
+ linkable: false;
74
+ Data: undefined;
75
+ Storage: undefined;
76
+ Children: AnySchema[];
77
+ }, {
78
+ ProblemHint: import("@jsprose/core").Tag<"ProblemHint", {
79
+ name: "problemHint";
80
+ type: "block";
81
+ linkable: false;
82
+ Data: undefined;
83
+ Storage: undefined;
84
+ Children: AnySchema[];
85
+ }, TagChildren>;
86
+ }, undefined>;
87
+ export declare const problemHintCoreElement: {
88
+ registryItem: import("@jsprose/core").RegistryItem<{
89
+ name: "problemHint";
90
+ type: "block";
91
+ linkable: false;
92
+ Data: undefined;
93
+ Storage: undefined;
94
+ Children: AnySchema[];
95
+ }, {
96
+ ProblemHint: import("@jsprose/core").Tag<"ProblemHint", {
97
+ name: "problemHint";
98
+ type: "block";
99
+ linkable: false;
100
+ Data: undefined;
101
+ Storage: undefined;
102
+ Children: AnySchema[];
103
+ }, TagChildren>;
104
+ }, undefined>;
105
+ };
106
+ export declare const problemSectionSchema: {
107
+ name: "problemSection";
108
+ type: "block";
109
+ linkable: false;
110
+ Data: string;
111
+ Storage: undefined;
112
+ Children: AnySchema[];
113
+ };
114
+ export declare const ProblemSection: import("@jsprose/core").Tag<"ProblemSection", {
115
+ name: "problemSection";
116
+ type: "block";
117
+ linkable: false;
118
+ Data: string;
119
+ Storage: undefined;
120
+ Children: AnySchema[];
121
+ }, {
122
+ title: string;
123
+ } & TagChildren>;
124
+ export declare const problemSectionRegistryItem: import("@jsprose/core").RegistryItem<{
125
+ name: "problemSection";
126
+ type: "block";
127
+ linkable: false;
128
+ Data: string;
129
+ Storage: undefined;
130
+ Children: AnySchema[];
131
+ }, {
132
+ ProblemSection: import("@jsprose/core").Tag<"ProblemSection", {
133
+ name: "problemSection";
134
+ type: "block";
135
+ linkable: false;
136
+ Data: string;
137
+ Storage: undefined;
138
+ Children: AnySchema[];
139
+ }, {
140
+ title: string;
141
+ } & TagChildren>;
142
+ }, undefined>;
143
+ export declare const problemSectionCoreElement: {
144
+ registryItem: import("@jsprose/core").RegistryItem<{
145
+ name: "problemSection";
146
+ type: "block";
147
+ linkable: false;
148
+ Data: string;
149
+ Storage: undefined;
150
+ Children: AnySchema[];
151
+ }, {
152
+ ProblemSection: import("@jsprose/core").Tag<"ProblemSection", {
153
+ name: "problemSection";
154
+ type: "block";
155
+ linkable: false;
156
+ Data: string;
157
+ Storage: undefined;
158
+ Children: AnySchema[];
159
+ }, {
160
+ title: string;
161
+ } & TagChildren>;
162
+ }, undefined>;
163
+ };
164
+ export declare const problemNote: {
165
+ schema: {
166
+ name: "problemNote";
167
+ type: "block";
168
+ linkable: false;
169
+ Data: undefined;
170
+ Storage: undefined;
171
+ Children: AnySchema[];
172
+ };
173
+ tag: import("@jsprose/core").Tag<"ProblemNote", {
174
+ name: "problemNote";
175
+ type: "block";
176
+ linkable: false;
177
+ Data: undefined;
178
+ Storage: undefined;
179
+ Children: AnySchema[];
180
+ }, TagChildren>;
181
+ registryItem: import("@jsprose/core").RegistryItem<{
182
+ name: "problemNote";
183
+ type: "block";
184
+ linkable: false;
185
+ Data: undefined;
186
+ Storage: undefined;
187
+ Children: AnySchema[];
188
+ }, {
189
+ ProblemNote: import("@jsprose/core").Tag<"ProblemNote", {
190
+ name: "problemNote";
191
+ type: "block";
192
+ linkable: false;
193
+ Data: undefined;
194
+ Storage: undefined;
195
+ Children: AnySchema[];
196
+ }, TagChildren>;
197
+ }, undefined>;
198
+ coreElement: {
199
+ registryItem: import("@jsprose/core").RegistryItem<{
200
+ name: "problemNote";
201
+ type: "block";
202
+ linkable: false;
203
+ Data: undefined;
204
+ Storage: undefined;
205
+ Children: AnySchema[];
206
+ }, {
207
+ ProblemNote: import("@jsprose/core").Tag<"ProblemNote", {
208
+ name: "problemNote";
209
+ type: "block";
210
+ linkable: false;
211
+ Data: undefined;
212
+ Storage: undefined;
213
+ Children: AnySchema[];
214
+ }, TagChildren>;
215
+ }, undefined>;
216
+ };
217
+ };
218
+ export declare const problemSolution: {
219
+ schema: {
220
+ name: "problemSolution";
221
+ type: "block";
222
+ linkable: false;
223
+ Data: undefined;
224
+ Storage: undefined;
225
+ Children: AnySchema[];
226
+ };
227
+ tag: import("@jsprose/core").Tag<"ProblemSolution", {
228
+ name: "problemSolution";
229
+ type: "block";
230
+ linkable: false;
231
+ Data: undefined;
232
+ Storage: undefined;
233
+ Children: AnySchema[];
234
+ }, TagChildren>;
235
+ registryItem: import("@jsprose/core").RegistryItem<{
236
+ name: "problemSolution";
237
+ type: "block";
238
+ linkable: false;
239
+ Data: undefined;
240
+ Storage: undefined;
241
+ Children: AnySchema[];
242
+ }, {
243
+ ProblemSolution: import("@jsprose/core").Tag<"ProblemSolution", {
244
+ name: "problemSolution";
245
+ type: "block";
246
+ linkable: false;
247
+ Data: undefined;
248
+ Storage: undefined;
249
+ Children: AnySchema[];
250
+ }, TagChildren>;
251
+ }, undefined>;
252
+ coreElement: {
253
+ registryItem: import("@jsprose/core").RegistryItem<{
254
+ name: "problemSolution";
255
+ type: "block";
256
+ linkable: false;
257
+ Data: undefined;
258
+ Storage: undefined;
259
+ Children: AnySchema[];
260
+ }, {
261
+ ProblemSolution: import("@jsprose/core").Tag<"ProblemSolution", {
262
+ name: "problemSolution";
263
+ type: "block";
264
+ linkable: false;
265
+ Data: undefined;
266
+ Storage: undefined;
267
+ Children: AnySchema[];
268
+ }, TagChildren>;
269
+ }, undefined>;
270
+ };
271
+ };
272
+ export declare const problemAnswer: {
273
+ schema: {
274
+ name: "problemAnswer";
275
+ type: "block";
276
+ linkable: false;
277
+ Data: undefined;
278
+ Storage: undefined;
279
+ Children: AnySchema[];
280
+ };
281
+ tag: import("@jsprose/core").Tag<"ProblemAnswer", {
282
+ name: "problemAnswer";
283
+ type: "block";
284
+ linkable: false;
285
+ Data: undefined;
286
+ Storage: undefined;
287
+ Children: AnySchema[];
288
+ }, TagChildren>;
289
+ registryItem: import("@jsprose/core").RegistryItem<{
290
+ name: "problemAnswer";
291
+ type: "block";
292
+ linkable: false;
293
+ Data: undefined;
294
+ Storage: undefined;
295
+ Children: AnySchema[];
296
+ }, {
297
+ ProblemAnswer: import("@jsprose/core").Tag<"ProblemAnswer", {
298
+ name: "problemAnswer";
299
+ type: "block";
300
+ linkable: false;
301
+ Data: undefined;
302
+ Storage: undefined;
303
+ Children: AnySchema[];
304
+ }, TagChildren>;
305
+ }, undefined>;
306
+ coreElement: {
307
+ registryItem: import("@jsprose/core").RegistryItem<{
308
+ name: "problemAnswer";
309
+ type: "block";
310
+ linkable: false;
311
+ Data: undefined;
312
+ Storage: undefined;
313
+ Children: AnySchema[];
314
+ }, {
315
+ ProblemAnswer: import("@jsprose/core").Tag<"ProblemAnswer", {
316
+ name: "problemAnswer";
317
+ type: "block";
318
+ linkable: false;
319
+ Data: undefined;
320
+ Storage: undefined;
321
+ Children: AnySchema[];
322
+ }, TagChildren>;
323
+ }, undefined>;
324
+ };
325
+ };
326
+ export type CheckFunction = (args: {
327
+ answer: string | undefined;
328
+ name: string;
329
+ answers: Record<string, string | undefined>;
330
+ }) => boolean;
331
+ export interface ProblemCheckData {
332
+ label?: string;
333
+ hint?: string;
334
+ placeholder?: string;
335
+ answers?: (string | undefined)[];
336
+ script?: string;
337
+ }
338
+ export declare const problemCheckSchema: {
339
+ name: "problemCheck";
340
+ type: "block";
341
+ linkable: false;
342
+ Data: ProblemCheckData;
343
+ Storage: undefined;
344
+ Children: BlockSchema[];
345
+ };
346
+ export declare const ProblemCheck: import("@jsprose/core").Tag<"ProblemCheck", {
347
+ name: "problemCheck";
348
+ type: "block";
349
+ linkable: false;
350
+ Data: ProblemCheckData;
351
+ Storage: undefined;
352
+ Children: BlockSchema[];
353
+ }, ({
354
+ label?: string;
355
+ hint?: string;
356
+ placeholder?: string;
357
+ } & (({
358
+ answer: string | number;
359
+ answers?: undefined;
360
+ script?: undefined;
361
+ } | {
362
+ answers: (string | number)[];
363
+ answer?: undefined;
364
+ script?: undefined;
365
+ } | {
366
+ script: string;
367
+ answers?: undefined;
368
+ answer?: undefined;
369
+ }) & NoTagChildren)) & {}>;
370
+ export declare const problemCheckRegistryItem: import("@jsprose/core").RegistryItem<{
371
+ name: "problemCheck";
372
+ type: "block";
373
+ linkable: false;
374
+ Data: ProblemCheckData;
375
+ Storage: undefined;
376
+ Children: BlockSchema[];
377
+ }, {
378
+ ProblemCheck: import("@jsprose/core").Tag<"ProblemCheck", {
379
+ name: "problemCheck";
380
+ type: "block";
381
+ linkable: false;
382
+ Data: ProblemCheckData;
383
+ Storage: undefined;
384
+ Children: BlockSchema[];
385
+ }, ({
386
+ label?: string;
387
+ hint?: string;
388
+ placeholder?: string;
389
+ } & (({
390
+ answer: string | number;
391
+ answers?: undefined;
392
+ script?: undefined;
393
+ } | {
394
+ answers: (string | number)[];
395
+ answer?: undefined;
396
+ script?: undefined;
397
+ } | {
398
+ script: string;
399
+ answers?: undefined;
400
+ answer?: undefined;
401
+ }) & NoTagChildren)) & {}>;
402
+ }, undefined>;
403
+ export declare const problemCheckCoreElement: {
404
+ registryItem: import("@jsprose/core").RegistryItem<{
405
+ name: "problemCheck";
406
+ type: "block";
407
+ linkable: false;
408
+ Data: ProblemCheckData;
409
+ Storage: undefined;
410
+ Children: BlockSchema[];
411
+ }, {
412
+ ProblemCheck: import("@jsprose/core").Tag<"ProblemCheck", {
413
+ name: "problemCheck";
414
+ type: "block";
415
+ linkable: false;
416
+ Data: ProblemCheckData;
417
+ Storage: undefined;
418
+ Children: BlockSchema[];
419
+ }, ({
420
+ label?: string;
421
+ hint?: string;
422
+ placeholder?: string;
423
+ } & (({
424
+ answer: string | number;
425
+ answers?: undefined;
426
+ script?: undefined;
427
+ } | {
428
+ answers: (string | number)[];
429
+ answer?: undefined;
430
+ script?: undefined;
431
+ } | {
432
+ script: string;
433
+ answers?: undefined;
434
+ answer?: undefined;
435
+ }) & NoTagChildren)) & {}>;
436
+ }, undefined>;
437
+ };
438
+ export type ProblemContentChild = typeof problemDescriptionSchema | typeof problemHintSchema | typeof problemNote.schema | typeof problemSolution.schema | typeof problemAnswer.schema | typeof problemCheckSchema;
439
+ export declare function validateProblemContent(source: string, children: NormalizedChildren): void;