@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,54 @@
1
+ import { type NoTagChildren } from '@jsprose/core';
2
+ export declare const hrSchema: {
3
+ name: "hr";
4
+ type: "block";
5
+ linkable: false;
6
+ Data: undefined;
7
+ Storage: undefined;
8
+ Children: undefined;
9
+ };
10
+ export declare const Hr: import("@jsprose/core").Tag<"Hr", {
11
+ name: "hr";
12
+ type: "block";
13
+ linkable: false;
14
+ Data: undefined;
15
+ Storage: undefined;
16
+ Children: undefined;
17
+ }, NoTagChildren>;
18
+ export declare const hrRegistryItem: import("@jsprose/core").RegistryItem<{
19
+ name: "hr";
20
+ type: "block";
21
+ linkable: false;
22
+ Data: undefined;
23
+ Storage: undefined;
24
+ Children: undefined;
25
+ }, {
26
+ Hr: import("@jsprose/core").Tag<"Hr", {
27
+ name: "hr";
28
+ type: "block";
29
+ linkable: false;
30
+ Data: undefined;
31
+ Storage: undefined;
32
+ Children: undefined;
33
+ }, NoTagChildren>;
34
+ }, undefined>;
35
+ declare const _default: {
36
+ registryItem: import("@jsprose/core").RegistryItem<{
37
+ name: "hr";
38
+ type: "block";
39
+ linkable: false;
40
+ Data: undefined;
41
+ Storage: undefined;
42
+ Children: undefined;
43
+ }, {
44
+ Hr: import("@jsprose/core").Tag<"Hr", {
45
+ name: "hr";
46
+ type: "block";
47
+ linkable: false;
48
+ Data: undefined;
49
+ Storage: undefined;
50
+ Children: undefined;
51
+ }, NoTagChildren>;
52
+ }, undefined>;
53
+ };
54
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { defineRegistryItem, defineSchema, ensureTagNoChildren } from "@jsprose/core";
2
+ import { defineEruditProseCoreElement } from "../../coreElement.js";
3
+ import { defineEruditTag } from "../../tag.js";
4
+ export const hrSchema = defineSchema({
5
+ name: "hr",
6
+ type: "block",
7
+ linkable: false
8
+ })();
9
+ export const Hr = defineEruditTag({
10
+ tagName: "Hr",
11
+ schema: hrSchema
12
+ })(({ tagName, children }) => {
13
+ ensureTagNoChildren(tagName, children);
14
+ });
15
+ export const hrRegistryItem = defineRegistryItem({
16
+ schema: hrSchema,
17
+ tags: [Hr]
18
+ });
19
+ export default defineEruditProseCoreElement({ registryItem: hrRegistryItem });
@@ -0,0 +1,15 @@
1
+ <script setup lang="ts">
2
+ import type { ProseElement } from '@jsprose/core';
3
+
4
+ import type { imageSchema } from './core.js';
5
+ import Block from '../../app/shared/block/Block.vue';
6
+ import ImageElement from './ImageElement.vue';
7
+
8
+ defineProps<{ element: ProseElement<typeof imageSchema> }>();
9
+ </script>
10
+
11
+ <template>
12
+ <Block :element>
13
+ <ImageElement :element />
14
+ </Block>
15
+ </template>
@@ -0,0 +1,80 @@
1
+ <script setup lang="ts">
2
+ import { shallowRef } from 'vue';
3
+ import type { ProseElement } from '@jsprose/core';
4
+
5
+ import type { imageSchema } from './core.js';
6
+ import { useElementStorage } from '../../app/composables/storage.js';
7
+ import { usePhotoSwipe } from '../../app/shared/photoswipe/composable.js';
8
+ import { lightInvert, darkInvert } from '../../app/shared/invert.js';
9
+ import Caption from '../caption/Caption.vue';
10
+
11
+ const { element } = defineProps<{
12
+ element: ProseElement<typeof imageSchema>;
13
+ }>();
14
+ const imageStorage = await useElementStorage<typeof imageSchema>(element);
15
+
16
+ const captionElement = shallowRef<HTMLElement>();
17
+ const { lightbox, initLightbox } = usePhotoSwipe();
18
+
19
+ function imageClick() {
20
+ if (!lightbox.value) {
21
+ initLightbox(
22
+ {
23
+ dataSource: [
24
+ {
25
+ src: imageStorage.resolvedSrc,
26
+ width: imageStorage.width,
27
+ height: imageStorage.height,
28
+ type: 'image',
29
+ },
30
+ ],
31
+ },
32
+ captionElement.value,
33
+ );
34
+
35
+ lightbox.value!.on('contentActivate', (event) => {
36
+ event.content.element!.className +=
37
+ ' ' +
38
+ (element.data.invert === 'light'
39
+ ? lightInvert
40
+ : element.data.invert === 'dark'
41
+ ? darkInvert
42
+ : '');
43
+ });
44
+ }
45
+
46
+ lightbox.value!.loadAndOpen(0);
47
+ }
48
+ </script>
49
+
50
+ <template>
51
+ <div class="text-center">
52
+ <img
53
+ :src="imageStorage.resolvedSrc"
54
+ @click="imageClick"
55
+ loading="lazy"
56
+ v-bind="
57
+ element.data.width
58
+ ? {
59
+ style: {
60
+ width: element.data.width,
61
+ maxWidth: `min(${element.data.width}, 100%)`,
62
+ },
63
+ }
64
+ : {}
65
+ "
66
+ :class="[
67
+ 'inline-block cursor-pointer rounded-xl',
68
+ {
69
+ [lightInvert]: element.data.invert === 'light',
70
+ [darkInvert]: element.data.invert === 'dark',
71
+ },
72
+ ]"
73
+ />
74
+ </div>
75
+ <Caption
76
+ v-if="element.children"
77
+ @captionMounted="(element) => (captionElement = element)"
78
+ :caption="element.children[0]"
79
+ />
80
+ </template>
@@ -0,0 +1,18 @@
1
+ /**
2
+ * **Caution:** images should be placed locally somewhere within current Erudit project folder
3
+ * (preferable somewhere near the document using them).
4
+ *
5
+ * @title Image
6
+ * @layout block
7
+ * @example
8
+ * ```tsx
9
+ * // import vectorProjection from './assets/vector-projection.svg';
10
+ * <Image src={vectorProjection} width="400px" invert="dark" />
11
+ *
12
+ * // import complexDiagram from './assets/complex-diagram.png';
13
+ * <Image src={complexDiagram}>
14
+ * <Caption>Complex diagram example</Caption>
15
+ * </Image>
16
+ * ```
17
+ */
18
+ export const Image = '_tag_';
@@ -0,0 +1,16 @@
1
+ declare const _default: import("../../app/appElement.js").AppElement<{
2
+ name: "image";
3
+ type: "block";
4
+ linkable: true;
5
+ Data: import("./core.js").ImageData;
6
+ Storage: import("./core.js").ImageStorage;
7
+ Children: [{
8
+ name: "caption";
9
+ type: "inliner";
10
+ linkable: false;
11
+ Data: import("../caption/core.js").CaptionData | undefined;
12
+ Storage: undefined;
13
+ Children: import("@jsprose/core").InlinerSchema[];
14
+ }] | undefined;
15
+ }>;
16
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { defineEruditProseAppElement } from "../../app/appElement.js";
2
+ import { imageSchema } from "./core.js";
3
+ export default defineEruditProseAppElement({
4
+ schema: imageSchema,
5
+ component: () => import("./Image.vue"),
6
+ languages: {
7
+ en: () => import("./languages/en.js"),
8
+ ru: () => import("./languages/ru.js")
9
+ },
10
+ icon: () => import("./icon.svg?raw")
11
+ });
@@ -0,0 +1,136 @@
1
+ import type { Invert } from '../../shared/invert.js';
2
+ export interface ImageData {
3
+ src: string;
4
+ invert?: Invert;
5
+ width?: string;
6
+ }
7
+ export interface ImageStorage {
8
+ resolvedSrc: string;
9
+ width: number;
10
+ height: number;
11
+ }
12
+ export declare const imageSchema: {
13
+ name: "image";
14
+ type: "block";
15
+ linkable: true;
16
+ Data: ImageData;
17
+ Storage: ImageStorage;
18
+ Children: [{
19
+ name: "caption";
20
+ type: "inliner";
21
+ linkable: false;
22
+ Data: import("../caption/core.js").CaptionData | undefined;
23
+ Storage: undefined;
24
+ Children: import("@jsprose/core").InlinerSchema[];
25
+ }] | undefined;
26
+ };
27
+ export declare const Image: import("@jsprose/core").Tag<"Image", {
28
+ name: "image";
29
+ type: "block";
30
+ linkable: true;
31
+ Data: ImageData;
32
+ Storage: ImageStorage;
33
+ Children: [{
34
+ name: "caption";
35
+ type: "inliner";
36
+ linkable: false;
37
+ Data: import("../caption/core.js").CaptionData | undefined;
38
+ Storage: undefined;
39
+ Children: import("@jsprose/core").InlinerSchema[];
40
+ }] | undefined;
41
+ }, {
42
+ src: string;
43
+ invert?: Invert;
44
+ width?: string;
45
+ children?: {};
46
+ } & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet & import("../../snippet.js").ObjPropSearch & import("../../snippet.js").ObjPropQuick & import("../../snippet.js").ObjPropSeo>;
47
+ export declare const imageRegistryItem: import("@jsprose/core").RegistryItem<{
48
+ name: "image";
49
+ type: "block";
50
+ linkable: true;
51
+ Data: ImageData;
52
+ Storage: ImageStorage;
53
+ Children: [{
54
+ name: "caption";
55
+ type: "inliner";
56
+ linkable: false;
57
+ Data: import("../caption/core.js").CaptionData | undefined;
58
+ Storage: undefined;
59
+ Children: import("@jsprose/core").InlinerSchema[];
60
+ }] | undefined;
61
+ }, {
62
+ Image: import("@jsprose/core").Tag<"Image", {
63
+ name: "image";
64
+ type: "block";
65
+ linkable: true;
66
+ Data: ImageData;
67
+ Storage: ImageStorage;
68
+ Children: [{
69
+ name: "caption";
70
+ type: "inliner";
71
+ linkable: false;
72
+ Data: import("../caption/core.js").CaptionData | undefined;
73
+ Storage: undefined;
74
+ Children: import("@jsprose/core").InlinerSchema[];
75
+ }] | undefined;
76
+ }, {
77
+ src: string;
78
+ invert?: Invert;
79
+ width?: string;
80
+ children?: {};
81
+ } & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet & import("../../snippet.js").ObjPropSearch & import("../../snippet.js").ObjPropQuick & import("../../snippet.js").ObjPropSeo>;
82
+ }, undefined>;
83
+ declare const _default: {
84
+ registryItem: import("@jsprose/core").RegistryItem<{
85
+ name: "image";
86
+ type: "block";
87
+ linkable: true;
88
+ Data: ImageData;
89
+ Storage: ImageStorage;
90
+ Children: [{
91
+ name: "caption";
92
+ type: "inliner";
93
+ linkable: false;
94
+ Data: import("../caption/core.js").CaptionData | undefined;
95
+ Storage: undefined;
96
+ Children: import("@jsprose/core").InlinerSchema[];
97
+ }] | undefined;
98
+ }, {
99
+ Image: import("@jsprose/core").Tag<"Image", {
100
+ name: "image";
101
+ type: "block";
102
+ linkable: true;
103
+ Data: ImageData;
104
+ Storage: ImageStorage;
105
+ Children: [{
106
+ name: "caption";
107
+ type: "inliner";
108
+ linkable: false;
109
+ Data: import("../caption/core.js").CaptionData | undefined;
110
+ Storage: undefined;
111
+ Children: import("@jsprose/core").InlinerSchema[];
112
+ }] | undefined;
113
+ }, {
114
+ src: string;
115
+ invert?: Invert;
116
+ width?: string;
117
+ children?: {};
118
+ } & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet & import("../../snippet.js").ObjPropSearch & import("../../snippet.js").ObjPropQuick & import("../../snippet.js").ObjPropSeo>;
119
+ }, undefined>;
120
+ dependencies: {
121
+ photoswipe: {
122
+ optimize: boolean;
123
+ transpile: boolean;
124
+ };
125
+ 'photoswipe/lightbox': {
126
+ optimize: boolean;
127
+ transpile: boolean;
128
+ };
129
+ };
130
+ };
131
+ export default _default;
132
+ export declare const imageSrcStep: ({ rawElement }: {
133
+ context: import("../../context.js").EruditProseContext;
134
+ rawElement: import("../../rawElement.js").EruditRawElement<import("@jsprose/core").AnySchema>;
135
+ proseElement: import("@jsprose/core").ProseElement<import("@jsprose/core").AnySchema>;
136
+ }) => string | undefined;
@@ -0,0 +1,44 @@
1
+ import { defineRegistryItem, defineSchema, ensureTagChild, isRawElement } from "@jsprose/core";
2
+ import { captionSchema } from "../caption/core.js";
3
+ import { defineEruditTag } from "../../tag.js";
4
+ import { defineEruditProseCoreElement } from "../../coreElement.js";
5
+ import { defineResolveStep } from "../../resolveStep.js";
6
+ import { photoswipeDependency } from "../../shared/photoswipe.js";
7
+ export const imageSchema = defineSchema({
8
+ name: "image",
9
+ type: "block",
10
+ linkable: true
11
+ })();
12
+ export const Image = defineEruditTag({
13
+ tagName: "Image",
14
+ schema: imageSchema
15
+ })(({ element, tagName, props, children }) => {
16
+ if (children) {
17
+ ensureTagChild(tagName, children, captionSchema);
18
+ element.children = children;
19
+ }
20
+ element.data = { src: props.src };
21
+ element.storageKey = props.src;
22
+ if (props.width) {
23
+ element.data.width = props.width;
24
+ }
25
+ if (props.invert) {
26
+ element.data.invert = props.invert;
27
+ }
28
+ });
29
+ export const imageRegistryItem = defineRegistryItem({
30
+ schema: imageSchema,
31
+ tags: [Image]
32
+ });
33
+ export default defineEruditProseCoreElement({
34
+ registryItem: imageRegistryItem,
35
+ dependencies: { ...photoswipeDependency }
36
+ });
37
+ //
38
+ // Resolve
39
+ //
40
+ export const imageSrcStep = defineResolveStep(({ rawElement }) => {
41
+ if (isRawElement(rawElement, imageSchema)) {
42
+ return rawElement.data.src;
43
+ }
44
+ });
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640">
2
+ <path d="M160 144C151.2 144 144 151.2 144 160L144 480C144 488.8 151.2 496 160 496L480 496C488.8 496 496 488.8 496 480L496 160C496 151.2 488.8 144 480 144L160 144zM96 160C96 124.7 124.7 96 160 96L480 96C515.3 96 544 124.7 544 160L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 160zM224 192C241.7 192 256 206.3 256 224C256 241.7 241.7 256 224 256C206.3 256 192 241.7 192 224C192 206.3 206.3 192 224 192zM360 264C368.5 264 376.4 268.5 380.7 275.8L460.7 411.8C465.1 419.2 465.1 428.4 460.8 435.9C456.5 443.4 448.6 448 440 448L200 448C191.1 448 182.8 443 178.7 435.1C174.6 427.2 175.2 417.6 180.3 410.3L236.3 330.3C240.8 323.9 248.1 320.1 256 320.1C263.9 320.1 271.2 323.9 275.7 330.3L292.9 354.9L339.4 275.9C343.7 268.6 351.6 264.1 360.1 264.1z"/>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ element_name: string;
3
+ };
4
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { defineElementLanguage } from "../../../app/language/element.js";
2
+ export default defineElementLanguage({ element_name: "Image" });
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ element_name: string;
3
+ };
4
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { defineElementLanguage } from "../../../app/language/element.js";
2
+ export default defineElementLanguage({ element_name: "Изображение" });
@@ -0,0 +1,6 @@
1
+ import type { ImageStorage } from './core.js';
2
+ export declare function getImageSize(imageAbsoluteSrc: string): Promise<{
3
+ width: number;
4
+ height: number;
5
+ }>;
6
+ export declare function createImageStorage(projectAbsPath: string, projectBaseUrl: string, imageAbsoluteSrc: string): Promise<ImageStorage>;
@@ -0,0 +1,23 @@
1
+ import { imageSizeFromFile } from "image-size/fromFile";
2
+ import { ProseError } from "@jsprose/core";
3
+ import { projectRelFilePath } from "../../shared/filePath.js";
4
+ export async function getImageSize(imageAbsoluteSrc) {
5
+ try {
6
+ const size = await imageSizeFromFile(imageAbsoluteSrc);
7
+ return {
8
+ width: size.width,
9
+ height: size.height
10
+ };
11
+ } catch (error) {
12
+ throw new ProseError(`Failed to get image size for ${imageAbsoluteSrc}: ${error}`);
13
+ }
14
+ }
15
+ export async function createImageStorage(projectAbsPath, projectBaseUrl, imageAbsoluteSrc) {
16
+ const size = await getImageSize(imageAbsoluteSrc);
17
+ const resolvedSrc = projectBaseUrl + "file/" + projectRelFilePath(projectAbsPath, imageAbsoluteSrc);
18
+ return {
19
+ resolvedSrc,
20
+ width: size.width,
21
+ height: size.height
22
+ };
23
+ }
@@ -0,0 +1,3 @@
1
+ <template>
2
+ <br />
3
+ </template>
@@ -0,0 +1,18 @@
1
+ /**
2
+ * By default text is aligned stretch to fill the line width in wide layouts and left-aligned in narrow layouts.
3
+ * Line breaking is done automatically based on the available width.
4
+ *
5
+ * `<Br />` can be used to manually break the line.
6
+ *
7
+ * @title Line Break
8
+ * @layout inliner
9
+ * @example
10
+ * ```tsx
11
+ * <>
12
+ * Snow on the ground.<Br />
13
+ * Snow on the tree.<Br />
14
+ * Snow on the house.<Br />
15
+ * Snow on me!
16
+ * </>
17
+ */
18
+ export const Br = '_tag_';
@@ -0,0 +1,9 @@
1
+ declare const _default: import("../../app/appElement.js").AppElement<{
2
+ name: "br";
3
+ type: "inliner";
4
+ linkable: false;
5
+ Data: undefined;
6
+ Storage: undefined;
7
+ Children: undefined;
8
+ }>;
9
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { defineEruditProseAppElement } from "../../app/appElement.js";
2
+ import { brSchema } from "./core.js";
3
+ export default defineEruditProseAppElement({
4
+ schema: brSchema,
5
+ component: () => import("./LineBreak.vue")
6
+ });
@@ -0,0 +1,54 @@
1
+ import { type NoTagChildren } from '@jsprose/core';
2
+ export declare const brSchema: {
3
+ name: "br";
4
+ type: "inliner";
5
+ linkable: false;
6
+ Data: undefined;
7
+ Storage: undefined;
8
+ Children: undefined;
9
+ };
10
+ export declare const Br: import("@jsprose/core").Tag<"Br", {
11
+ name: "br";
12
+ type: "inliner";
13
+ linkable: false;
14
+ Data: undefined;
15
+ Storage: undefined;
16
+ Children: undefined;
17
+ }, NoTagChildren>;
18
+ export declare const brRegistryItem: import("@jsprose/core").RegistryItem<{
19
+ name: "br";
20
+ type: "inliner";
21
+ linkable: false;
22
+ Data: undefined;
23
+ Storage: undefined;
24
+ Children: undefined;
25
+ }, {
26
+ Br: import("@jsprose/core").Tag<"Br", {
27
+ name: "br";
28
+ type: "inliner";
29
+ linkable: false;
30
+ Data: undefined;
31
+ Storage: undefined;
32
+ Children: undefined;
33
+ }, NoTagChildren>;
34
+ }, undefined>;
35
+ declare const _default: {
36
+ registryItem: import("@jsprose/core").RegistryItem<{
37
+ name: "br";
38
+ type: "inliner";
39
+ linkable: false;
40
+ Data: undefined;
41
+ Storage: undefined;
42
+ Children: undefined;
43
+ }, {
44
+ Br: import("@jsprose/core").Tag<"Br", {
45
+ name: "br";
46
+ type: "inliner";
47
+ linkable: false;
48
+ Data: undefined;
49
+ Storage: undefined;
50
+ Children: undefined;
51
+ }, NoTagChildren>;
52
+ }, undefined>;
53
+ };
54
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { defineRegistryItem, defineSchema, ensureTagNoChildren } from "@jsprose/core";
2
+ import { defineEruditProseCoreElement } from "../../coreElement.js";
3
+ import { defineEruditTag } from "../../tag.js";
4
+ export const brSchema = defineSchema({
5
+ name: "br",
6
+ type: "inliner",
7
+ linkable: false
8
+ })();
9
+ export const Br = defineEruditTag({
10
+ tagName: "Br",
11
+ schema: brSchema
12
+ })(({ tagName, children }) => {
13
+ ensureTagNoChildren(tagName, children);
14
+ });
15
+ export const brRegistryItem = defineRegistryItem({
16
+ schema: brSchema,
17
+ tags: [Br]
18
+ });
19
+ export default defineEruditProseCoreElement({ registryItem: brRegistryItem });