@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,17 +1,17 @@
1
- import { defineRegistryItem, defineSchema } from "@jsprose/core";
1
+ import { defineSchema } from "tsprose";
2
2
  import { handleLinkTag } from "../core.js";
3
3
  import { defineEruditTag } from "../../../tag.js";
4
- import { defineEruditProseCoreElements } from "../../../coreElement.js";
4
+ import { defineProseCoreElements } from "../../../coreElement.js";
5
5
  export const depSchema = defineSchema({
6
6
  name: "dependencyInliner",
7
7
  type: "inliner",
8
8
  linkable: true
9
- })();
9
+ });
10
10
  export const dependencySchema = defineSchema({
11
11
  name: "dependencyBlock",
12
12
  type: "block",
13
13
  linkable: true
14
- })();
14
+ });
15
15
  export const Dep = defineEruditTag({
16
16
  tagName: "Dep",
17
17
  schema: depSchema
@@ -24,12 +24,10 @@ export const Dependency = defineEruditTag({
24
24
  })(({ element, tagName, props, children }) => {
25
25
  handleLinkTag(element, tagName, props, children);
26
26
  });
27
- export const depRegistryItem = defineRegistryItem({
27
+ export default defineProseCoreElements({
28
28
  schema: depSchema,
29
29
  tags: [Dep]
30
- });
31
- export const dependencyRegistryItem = defineRegistryItem({
30
+ }, {
32
31
  schema: dependencySchema,
33
32
  tags: [Dependency]
34
33
  });
35
- export default defineEruditProseCoreElements({ registryItem: depRegistryItem }, { registryItem: dependencyRegistryItem });
@@ -0,0 +1,12 @@
1
+ export type ContentLinkTag = 'Dep' | 'Dependency' | 'Ref' | 'Reference';
2
+ export interface ContentLinkUsage {
3
+ type: ContentLinkTag;
4
+ label: string;
5
+ }
6
+ export type ContentLinks = Map<string, ContentLinkUsage[]>;
7
+ export interface ContentLinkStepReturn {
8
+ storageKey: string;
9
+ label: string;
10
+ type: ContentLinkTag;
11
+ }
12
+ export declare const linkHook: import("../../rawToProse/hook.js").RawToProseHook;
@@ -0,0 +1,45 @@
1
+ import { isRawElement } from "tsprose";
2
+ import { defineRawToProseHook } from "../../rawToProse/hook.js";
3
+ import { dependencySchema, depSchema } from "./dependency/core.js";
4
+ import { referenceSchema, refSchema } from "./reference/core.js";
5
+ export const linkHook = defineRawToProseHook(({ result }) => {
6
+ return { step: ({ rawElement }) => {
7
+ if (!rawElement.storageKey) {
8
+ return;
9
+ }
10
+ const checks = [
11
+ {
12
+ schema: depSchema,
13
+ key: "Dep"
14
+ },
15
+ {
16
+ schema: dependencySchema,
17
+ key: "Dependency"
18
+ },
19
+ {
20
+ schema: refSchema,
21
+ key: "Ref"
22
+ },
23
+ {
24
+ schema: referenceSchema,
25
+ key: "Reference"
26
+ }
27
+ ];
28
+ let linkData;
29
+ for (const { schema, key } of checks) {
30
+ if (isRawElement(rawElement, schema)) {
31
+ linkData = {
32
+ storageKey: rawElement.storageKey,
33
+ label: rawElement.data.label.trim(),
34
+ type: key
35
+ };
36
+ break;
37
+ }
38
+ }
39
+ if (!linkData) {
40
+ return;
41
+ }
42
+ const existing = result.contentLinks.get(linkData.storageKey) || [];
43
+ result.contentLinks.set(linkData.storageKey, [...existing, linkData]);
44
+ } };
45
+ });
@@ -1,16 +1,2 @@
1
- declare const _default: (import("../../../app/appElement.js").AppElement<{
2
- name: "referenceInliner";
3
- type: "inliner";
4
- linkable: true;
5
- Data: import("../core.js").LinkData;
6
- Storage: import("../storage.js").LinkStorage;
7
- Children: undefined;
8
- }> | import("../../../app/appElement.js").AppElement<{
9
- name: "referenceBlock";
10
- type: "block";
11
- linkable: true;
12
- Data: import("../core.js").LinkData;
13
- Storage: import("../storage.js").LinkStorage;
14
- Children: undefined;
15
- }>)[];
1
+ declare const _default: (import("../../../app/appElement.js").ProseAppElement<import("./core.js").RefSchema> | import("../../../app/appElement.js").ProseAppElement<import("./core.js").ReferenceSchema>)[];
16
2
  export default _default;
@@ -1,9 +1,9 @@
1
- import { defineEruditProseAppElement } from "../../../app/appElement.js";
1
+ import { defineProseAppElement } from "../../../app/appElement.js";
2
2
  import { referenceSchema, refSchema } from "./core.js";
3
- export default [defineEruditProseAppElement({
3
+ export default [defineProseAppElement({
4
4
  schema: refSchema,
5
5
  component: () => import("../Link.vue")
6
- }), defineEruditProseAppElement({
6
+ }), defineProseAppElement({
7
7
  schema: referenceSchema,
8
8
  component: () => import("../BlockLink.vue"),
9
9
  icon: () => import("../icon.svg?raw"),
@@ -1,120 +1,41 @@
1
- import { type TagChildren } from '@jsprose/core';
1
+ import { type RequiredChildren, type Schema } from 'tsprose';
2
2
  import { type LinkData, type LinkToProp } from '../core.js';
3
3
  import type { LinkStorage } from '../storage.js';
4
- import { type NoSnippet, type NoToc } from '../../../tag.js';
5
- export declare const refSchema: {
6
- name: "referenceInliner";
7
- type: "inliner";
4
+ import type { NoSnippet } from '../../../snippet.js';
5
+ import type { NoToc } from '../../../toc.js';
6
+ export interface RefSchema extends Schema {
7
+ name: 'referenceInliner';
8
+ type: 'inliner';
8
9
  linkable: true;
9
10
  Data: LinkData;
10
11
  Storage: LinkStorage;
11
12
  Children: undefined;
12
- };
13
- export declare const referenceSchema: {
14
- name: "referenceBlock";
15
- type: "block";
13
+ }
14
+ export declare const refSchema: RefSchema;
15
+ export interface ReferenceSchema extends Schema {
16
+ name: 'referenceBlock';
17
+ type: 'block';
16
18
  linkable: true;
17
19
  Data: LinkData;
18
20
  Storage: LinkStorage;
19
21
  Children: undefined;
20
- };
21
- export declare const Ref: import("@jsprose/core").Tag<"Ref", {
22
- name: "referenceInliner";
23
- type: "inliner";
24
- linkable: true;
25
- Data: LinkData;
26
- Storage: LinkStorage;
27
- Children: undefined;
28
- }, {
22
+ }
23
+ export declare const referenceSchema: ReferenceSchema;
24
+ export declare const Ref: import("../../../tag.js").ToEruditTag<RefSchema, "Ref", {
29
25
  to: LinkToProp;
30
- } & TagChildren & NoSnippet & NoToc>;
31
- export declare const Reference: import("@jsprose/core").Tag<"Reference", {
32
- name: "referenceBlock";
33
- type: "block";
34
- linkable: true;
35
- Data: LinkData;
36
- Storage: LinkStorage;
37
- Children: undefined;
38
- }, {
26
+ } & RequiredChildren & NoSnippet & NoToc>;
27
+ export declare const Reference: import("../../../tag.js").ToEruditTag<ReferenceSchema, "Reference", {
39
28
  to: Exclude<LinkToProp, string>;
40
- } & TagChildren & NoSnippet & NoToc>;
41
- export declare const refRegistryItem: import("@jsprose/core").RegistryItem<{
42
- name: "referenceInliner";
43
- type: "inliner";
44
- linkable: true;
45
- Data: LinkData;
46
- Storage: LinkStorage;
47
- Children: undefined;
48
- }, {
49
- Ref: import("@jsprose/core").Tag<"Ref", {
50
- name: "referenceInliner";
51
- type: "inliner";
52
- linkable: true;
53
- Data: LinkData;
54
- Storage: LinkStorage;
55
- Children: undefined;
56
- }, {
29
+ } & RequiredChildren & NoSnippet & NoToc>;
30
+ declare const _default: [{
31
+ readonly schema: RefSchema;
32
+ readonly tags: [import("../../../tag.js").ToEruditTag<RefSchema, "Ref", {
57
33
  to: LinkToProp;
58
- } & TagChildren & NoSnippet & NoToc>;
59
- }, undefined>;
60
- export declare const referenceRegistryItem: import("@jsprose/core").RegistryItem<{
61
- name: "referenceBlock";
62
- type: "block";
63
- linkable: true;
64
- Data: LinkData;
65
- Storage: LinkStorage;
66
- Children: undefined;
34
+ } & RequiredChildren & NoSnippet & NoToc>];
67
35
  }, {
68
- Reference: import("@jsprose/core").Tag<"Reference", {
69
- name: "referenceBlock";
70
- type: "block";
71
- linkable: true;
72
- Data: LinkData;
73
- Storage: LinkStorage;
74
- Children: undefined;
75
- }, {
36
+ readonly schema: ReferenceSchema;
37
+ readonly tags: [import("../../../tag.js").ToEruditTag<ReferenceSchema, "Reference", {
76
38
  to: Exclude<LinkToProp, string>;
77
- } & TagChildren & NoSnippet & NoToc>;
78
- }, undefined>;
79
- declare const _default: [{
80
- registryItem: import("@jsprose/core").RegistryItem<{
81
- name: "referenceInliner";
82
- type: "inliner";
83
- linkable: true;
84
- Data: LinkData;
85
- Storage: LinkStorage;
86
- Children: undefined;
87
- }, {
88
- Ref: import("@jsprose/core").Tag<"Ref", {
89
- name: "referenceInliner";
90
- type: "inliner";
91
- linkable: true;
92
- Data: LinkData;
93
- Storage: LinkStorage;
94
- Children: undefined;
95
- }, {
96
- to: LinkToProp;
97
- } & TagChildren & NoSnippet & NoToc>;
98
- }, undefined>;
99
- }, {
100
- registryItem: import("@jsprose/core").RegistryItem<{
101
- name: "referenceBlock";
102
- type: "block";
103
- linkable: true;
104
- Data: LinkData;
105
- Storage: LinkStorage;
106
- Children: undefined;
107
- }, {
108
- Reference: import("@jsprose/core").Tag<"Reference", {
109
- name: "referenceBlock";
110
- type: "block";
111
- linkable: true;
112
- Data: LinkData;
113
- Storage: LinkStorage;
114
- Children: undefined;
115
- }, {
116
- to: Exclude<LinkToProp, string>;
117
- } & TagChildren & NoSnippet & NoToc>;
118
- }, undefined>;
39
+ } & RequiredChildren & NoSnippet & NoToc>];
119
40
  }];
120
41
  export default _default;
@@ -1,17 +1,17 @@
1
- import { defineRegistryItem, defineSchema } from "@jsprose/core";
1
+ import { defineSchema } from "tsprose";
2
2
  import { handleLinkTag } from "../core.js";
3
3
  import { defineEruditTag } from "../../../tag.js";
4
- import { defineEruditProseCoreElements } from "../../../coreElement.js";
4
+ import { defineProseCoreElements } from "../../../coreElement.js";
5
5
  export const refSchema = defineSchema({
6
6
  name: "referenceInliner",
7
7
  type: "inliner",
8
8
  linkable: true
9
- })();
9
+ });
10
10
  export const referenceSchema = defineSchema({
11
11
  name: "referenceBlock",
12
12
  type: "block",
13
13
  linkable: true
14
- })();
14
+ });
15
15
  export const Ref = defineEruditTag({
16
16
  tagName: "Ref",
17
17
  schema: refSchema
@@ -24,12 +24,10 @@ export const Reference = defineEruditTag({
24
24
  })(({ element, tagName, props, children }) => {
25
25
  handleLinkTag(element, tagName, props, children);
26
26
  });
27
- export const refRegistryItem = defineRegistryItem({
27
+ export default defineProseCoreElements({
28
28
  schema: refSchema,
29
29
  tags: [Ref]
30
- });
31
- export const referenceRegistryItem = defineRegistryItem({
30
+ }, {
32
31
  schema: referenceSchema,
33
32
  tags: [Reference]
34
33
  });
35
- export default defineEruditProseCoreElements({ registryItem: refRegistryItem }, { registryItem: referenceRegistryItem });
@@ -1,4 +1,4 @@
1
- import { isUnique } from "@jsprose/core";
1
+ import { isUnique } from "tsprose";
2
2
  import { parseDocumentId } from "@erudit-js/core/prose/documentId";
3
3
  import { getGlobalContentPath, isGlobalContent } from "@erudit-js/core/content/global";
4
4
  export function createLinkStorageKey(to) {
@@ -1,11 +1,11 @@
1
1
  <script lang="ts" setup>
2
- import type { ProseElement } from '@jsprose/core';
2
+ import type { ToProseElement } from 'tsprose';
3
3
 
4
- import { listSchema } from './core.js';
4
+ import { type ListSchema } from './core.js';
5
5
  import Render from '../../app/shared/Render.vue';
6
6
  import Block from '../../app/shared/block/Block.vue';
7
7
 
8
- defineProps<{ element: ProseElement<typeof listSchema> }>();
8
+ defineProps<{ element: ToProseElement<ListSchema> }>();
9
9
  </script>
10
10
 
11
11
  <template>
@@ -21,7 +21,9 @@ defineProps<{ element: ProseElement<typeof listSchema> }>();
21
21
  '--liText': 'var(--accentText, var(--color-text-muted))',
22
22
  }"
23
23
  v-bind="
24
- element.data.type === 'ol' ? { start: element.data.start ?? 1 } : {}
24
+ element.data.type === 'ordered'
25
+ ? { start: element.data.start ?? 1 }
26
+ : {}
25
27
  "
26
28
  >
27
29
  <li
@@ -39,7 +41,7 @@ defineProps<{ element: ProseElement<typeof listSchema> }>();
39
41
  border-(--liBorder) bg-(--liBackground) font-semibold
40
42
  text-(--liText)"
41
43
  >
42
- <template v-if="element.data.type === 'ol'">
44
+ <template v-if="element.data.type === 'ordered'">
43
45
  <div class="micro:text-[13px] text-[10px]">
44
46
  {{ i + (element.data.start ?? 0) }}
45
47
  </div>
@@ -9,7 +9,7 @@
9
9
  * @layout block
10
10
  * @example
11
11
  * ```tsx
12
- * <List type="ul">
12
+ * <List unordered>
13
13
  * <Li>First unordered item</Li>
14
14
  * <Li>
15
15
  * <P>Second unordered item with paragraph inside</P>
@@ -17,11 +17,11 @@
17
17
  * </Li>
18
18
  * </List>
19
19
  *
20
- * <List type="ol">
20
+ * <List ordered>
21
21
  * <Li>First ordered item (numbered 1)</Li>
22
22
  * </List>
23
23
  *
24
- * <List type="ol" start={3}>
24
+ * <List ordered start={3}>
25
25
  * <Li>Third ordered item (numbered 3)</Li>
26
26
  * <Li>Fourth ordered item (numbered 4)</Li>
27
27
  * </List>
@@ -1,16 +1,2 @@
1
- declare const _default: import("../../app/appElement.js").AppElement<{
2
- name: "list";
3
- type: "block";
4
- linkable: true;
5
- Data: import("./core.js").UlListData | import("./core.js").OlListData;
6
- Storage: undefined;
7
- Children: {
8
- name: "listItem";
9
- type: "block";
10
- linkable: false;
11
- Data: undefined;
12
- Storage: undefined;
13
- Children: import("@jsprose/core").AnySchema[];
14
- }[];
15
- }>;
1
+ declare const _default: import("../../app/appElement.js").ProseAppElement<import("./core.js").ListSchema>;
16
2
  export default _default;
@@ -1,6 +1,6 @@
1
- import { defineEruditProseAppElement } from "../../app/appElement.js";
1
+ import { defineProseAppElement } from "../../app/appElement.js";
2
2
  import { listSchema } from "./core.js";
3
- export default defineEruditProseAppElement({
3
+ export default defineProseAppElement({
4
4
  schema: listSchema,
5
5
  component: () => import("./List.vue"),
6
6
  languages: {
@@ -1,169 +1,47 @@
1
- import { type AnySchema, type TagChildren } from '@jsprose/core';
2
- export declare const listItemSchema: {
3
- name: "listItem";
4
- type: "block";
1
+ import type { XOR } from 'ts-xor';
2
+ import { type Schema } from 'tsprose';
3
+ export interface ListItemSchema extends Schema {
4
+ name: 'listItem';
5
+ type: 'block';
5
6
  linkable: false;
6
7
  Data: undefined;
7
8
  Storage: undefined;
8
- Children: AnySchema[];
9
- };
10
- export declare const Li: import("@jsprose/core").Tag<"Li", {
11
- name: "listItem";
12
- type: "block";
13
- linkable: false;
14
- Data: undefined;
9
+ Children: Schema[];
10
+ }
11
+ export declare const listItemSchema: ListItemSchema;
12
+ export declare const Li: import("../../tag.js").ToEruditTag<ListItemSchema, "Li", unknown>;
13
+ export interface ListSchema extends Schema {
14
+ name: 'list';
15
+ type: 'block';
16
+ linkable: true;
17
+ Data: UnorderedListData | OrderedListData;
15
18
  Storage: undefined;
16
- Children: AnySchema[];
17
- }, TagChildren>;
18
- export interface UlListData {
19
- type: 'ul';
19
+ Children: ListItemSchema[];
20
+ }
21
+ export interface UnorderedListData {
22
+ type: 'unordered';
20
23
  }
21
- export interface OlListData {
22
- type: 'ol';
24
+ export interface OrderedListData {
25
+ type: 'ordered';
23
26
  start?: number;
24
27
  }
25
- export declare const listSchema: {
26
- name: "list";
27
- type: "block";
28
- linkable: true;
29
- Data: UlListData | OlListData;
30
- Storage: undefined;
31
- Children: {
32
- name: "listItem";
33
- type: "block";
34
- linkable: false;
35
- Data: undefined;
36
- Storage: undefined;
37
- Children: AnySchema[];
38
- }[];
39
- };
40
- export declare const List: import("@jsprose/core").Tag<"List", {
41
- name: "list";
42
- type: "block";
43
- linkable: true;
44
- Data: UlListData | OlListData;
45
- Storage: undefined;
46
- Children: {
47
- name: "listItem";
48
- type: "block";
49
- linkable: false;
50
- Data: undefined;
51
- Storage: undefined;
52
- Children: AnySchema[];
53
- }[];
54
- }, (({
55
- type: "ol";
28
+ export declare const listSchema: ListSchema;
29
+ export declare const List: import("../../tag.js").ToEruditTag<ListSchema, "List", XOR<{
30
+ ordered: true;
56
31
  start?: number;
57
- } | {
58
- type: "ul";
59
- }) & TagChildren) & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet>;
60
- export declare const listItemRegistryItem: import("@jsprose/core").RegistryItem<{
61
- name: "listItem";
62
- type: "block";
63
- linkable: false;
64
- Data: undefined;
65
- Storage: undefined;
66
- Children: AnySchema[];
67
32
  }, {
68
- Li: import("@jsprose/core").Tag<"Li", {
69
- name: "listItem";
70
- type: "block";
71
- linkable: false;
72
- Data: undefined;
73
- Storage: undefined;
74
- Children: AnySchema[];
75
- }, TagChildren>;
76
- }, undefined>;
77
- export declare const listRegistryItem: import("@jsprose/core").RegistryItem<{
78
- name: "list";
79
- type: "block";
80
- linkable: true;
81
- Data: UlListData | OlListData;
82
- Storage: undefined;
83
- Children: {
84
- name: "listItem";
85
- type: "block";
86
- linkable: false;
87
- Data: undefined;
88
- Storage: undefined;
89
- Children: AnySchema[];
90
- }[];
91
- }, {
92
- List: import("@jsprose/core").Tag<"List", {
93
- name: "list";
94
- type: "block";
95
- linkable: true;
96
- Data: UlListData | OlListData;
97
- Storage: undefined;
98
- Children: {
99
- name: "listItem";
100
- type: "block";
101
- linkable: false;
102
- Data: undefined;
103
- Storage: undefined;
104
- Children: AnySchema[];
105
- }[];
106
- }, (({
107
- type: "ol";
108
- start?: number;
109
- } | {
110
- type: "ul";
111
- }) & TagChildren) & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet>;
112
- }, undefined>;
33
+ unordered: true;
34
+ }>>;
113
35
  declare const _default: [{
114
- registryItem: import("@jsprose/core").RegistryItem<{
115
- name: "listItem";
116
- type: "block";
117
- linkable: false;
118
- Data: undefined;
119
- Storage: undefined;
120
- Children: AnySchema[];
121
- }, {
122
- Li: import("@jsprose/core").Tag<"Li", {
123
- name: "listItem";
124
- type: "block";
125
- linkable: false;
126
- Data: undefined;
127
- Storage: undefined;
128
- Children: AnySchema[];
129
- }, TagChildren>;
130
- }, undefined>;
36
+ readonly schema: ListItemSchema;
37
+ readonly tags: [import("../../tag.js").ToEruditTag<ListItemSchema, "Li", unknown>];
131
38
  }, {
132
- registryItem: import("@jsprose/core").RegistryItem<{
133
- name: "list";
134
- type: "block";
135
- linkable: true;
136
- Data: UlListData | OlListData;
137
- Storage: undefined;
138
- Children: {
139
- name: "listItem";
140
- type: "block";
141
- linkable: false;
142
- Data: undefined;
143
- Storage: undefined;
144
- Children: AnySchema[];
145
- }[];
39
+ readonly schema: ListSchema;
40
+ readonly tags: [import("../../tag.js").ToEruditTag<ListSchema, "List", XOR<{
41
+ ordered: true;
42
+ start?: number;
146
43
  }, {
147
- List: import("@jsprose/core").Tag<"List", {
148
- name: "list";
149
- type: "block";
150
- linkable: true;
151
- Data: UlListData | OlListData;
152
- Storage: undefined;
153
- Children: {
154
- name: "listItem";
155
- type: "block";
156
- linkable: false;
157
- Data: undefined;
158
- Storage: undefined;
159
- Children: AnySchema[];
160
- }[];
161
- }, (({
162
- type: "ol";
163
- start?: number;
164
- } | {
165
- type: "ul";
166
- }) & TagChildren) & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet>;
167
- }, undefined>;
44
+ unordered: true;
45
+ }>>];
168
46
  }];
169
47
  export default _default;