@erudit-js/prose 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/composables/context.d.ts +6 -1
- package/dist/app/default/Inliners.vue +11 -11
- package/dist/app/default/Mix.vue +11 -11
- package/dist/app/default/Text.vue +25 -25
- package/dist/app/language/element.d.ts +1 -1
- package/dist/app/shared/Prose.vue +40 -40
- package/dist/app/shared/Render.vue +51 -51
- package/dist/app/shared/assets/block.svg +2 -2
- package/dist/app/shared/assets/check.svg +2 -2
- package/dist/app/shared/assets/inliner.svg +2 -2
- package/dist/app/shared/assets/plus.svg +2 -2
- package/dist/app/shared/block/AsideMenu.vue +44 -44
- package/dist/app/shared/block/AsideMenuButton.vue +51 -51
- package/dist/app/shared/block/AsideMenuCopyLink.vue +40 -40
- package/dist/app/shared/block/AsideMenuSeparator.vue +3 -3
- package/dist/app/shared/block/Block.vue +270 -270
- package/dist/app/shared/inliner/Inliner.vue +11 -11
- package/dist/app/shared/photoswipe/style.css +22 -22
- package/dist/elements/accent/Accent.vue +89 -88
- package/dist/elements/accent/AccentColumnSection.vue +61 -61
- package/dist/elements/accent/AccentRowSections.vue +64 -64
- package/dist/elements/callout/Callout.vue +81 -81
- package/dist/elements/callout/_global.d.ts +15 -15
- package/dist/elements/caption/Caption.vue +44 -44
- package/dist/elements/caption/_global.d.ts +26 -26
- package/dist/elements/details/Details.vue +49 -49
- package/dist/elements/details/_global.d.ts +27 -27
- package/dist/elements/details/icon.svg +2 -2
- package/dist/elements/diagram/Diagram.vue +356 -360
- package/dist/elements/diagram/_global.d.ts +19 -19
- package/dist/elements/emphasis/Emphasis.vue +25 -25
- package/dist/elements/emphasis/_global.d.ts +18 -18
- package/dist/elements/flex/Flex.vue +36 -36
- package/dist/elements/flex/_global.d.ts +23 -23
- package/dist/elements/gallery/Gallery.vue +56 -56
- package/dist/elements/gallery/_global.d.ts +18 -18
- package/dist/elements/heading/Heading.vue +44 -44
- package/dist/elements/heading/_global.d.ts +42 -42
- package/dist/elements/heading/icon.svg +2 -2
- package/dist/elements/horizontalLine/HorizontalLine.vue +6 -6
- package/dist/elements/horizontalLine/_global.d.ts +17 -17
- package/dist/elements/image/Image.vue +15 -15
- package/dist/elements/image/ImageElement.vue +80 -80
- package/dist/elements/image/_global.d.ts +18 -18
- package/dist/elements/lineBreak/LineBreak.vue +3 -3
- package/dist/elements/lineBreak/_global.d.ts +18 -18
- package/dist/elements/link/BlockLink.vue +159 -108
- package/dist/elements/link/Link.vue +119 -92
- package/dist/elements/link/core.js +1 -1
- package/dist/elements/link/dependency/_global.d.ts +47 -47
- package/dist/elements/link/dependency/app.d.ts +2 -2
- package/dist/elements/link/dependency/core.d.ts +12 -18
- package/dist/elements/link/dependency/core.js +1 -17
- package/dist/elements/link/reference/_global.d.ts +49 -49
- package/dist/elements/link/reference/languages/en.d.ts +2 -3
- package/dist/elements/link/reference/languages/en.js +5 -1
- package/dist/elements/link/reference/languages/ru.d.ts +2 -3
- package/dist/elements/link/reference/languages/ru.js +5 -1
- package/dist/elements/link/reference/phrases.d.ts +5 -0
- package/dist/elements/link/reference/phrases.js +1 -0
- package/dist/elements/link/step.d.ts +16 -0
- package/dist/elements/link/step.js +36 -0
- package/dist/elements/link/storage.d.ts +9 -5
- package/dist/elements/link/storage.js +4 -4
- package/dist/elements/list/List.vue +58 -58
- package/dist/elements/list/_global.d.ts +50 -50
- package/dist/elements/math/_global.d.ts +79 -72
- package/dist/elements/math/_global.ts +3 -3
- package/dist/elements/math/block.d.ts +2 -0
- package/dist/elements/math/block.js +42 -29
- package/dist/elements/math/components/BlockMath.vue +30 -30
- package/dist/elements/math/components/InlinerMath.vue +65 -65
- package/dist/elements/math/components/Katex.vue +88 -88
- package/dist/elements/math/components/MathGroup.vue +58 -41
- package/dist/elements/paragraph/Paragraph.vue +25 -25
- package/dist/elements/paragraph/_global.d.ts +27 -27
- package/dist/elements/paragraph/icon.svg +3 -3
- package/dist/elements/problem/_global.d.ts +257 -112
- package/dist/elements/problem/app.d.ts +7 -7
- package/dist/elements/problem/app.js +13 -12
- package/dist/elements/problem/assets/actions/answer.svg +2 -2
- package/dist/elements/problem/assets/actions/check.svg +2 -2
- package/dist/elements/problem/assets/actions/generate.svg +2 -2
- package/dist/elements/problem/assets/actions/hint.svg +2 -2
- package/dist/elements/problem/assets/actions/note.svg +2 -2
- package/dist/elements/problem/assets/actions/solution.svg +2 -2
- package/dist/elements/problem/assets/icon.svg +2 -2
- package/dist/elements/problem/components/Problem.vue +22 -22
- package/dist/elements/problem/components/ProblemButton.vue +20 -20
- package/dist/elements/problem/components/ProblemButtonGenerate.vue +96 -0
- package/dist/elements/problem/components/ProblemContainer.vue +8 -8
- package/dist/elements/problem/components/ProblemContent.vue +266 -356
- package/dist/elements/problem/components/ProblemExpander.vue +7 -7
- package/dist/elements/problem/components/ProblemExpanderSection.vue +57 -57
- package/dist/elements/problem/components/ProblemHeader.vue +100 -100
- package/dist/elements/problem/components/Problems.vue +83 -83
- package/dist/elements/problem/components/SubProblem.vue +14 -14
- package/dist/elements/problem/components/expanders/Check.vue +200 -153
- package/dist/elements/problem/components/expanders/Checks.vue +146 -146
- package/dist/elements/problem/components/expanders/DefaultPlusSections.vue +36 -38
- package/dist/elements/problem/components/expanders/Hint.vue +26 -26
- package/dist/elements/problem/core.d.ts +55 -28
- package/dist/elements/problem/core.js +2 -1
- package/dist/elements/problem/languages/{en.d.ts → problem/en.d.ts} +1 -1
- package/dist/elements/problem/languages/problem/en.js +6 -0
- package/dist/elements/problem/languages/{ru.d.ts → problem/ru.d.ts} +1 -1
- package/dist/elements/problem/languages/problem/ru.js +6 -0
- package/dist/elements/problem/languages/problems/en.d.ts +3 -0
- package/dist/elements/problem/languages/problems/en.js +6 -0
- package/dist/elements/problem/languages/problems/ru.d.ts +3 -0
- package/dist/elements/problem/languages/problems/ru.js +6 -0
- package/dist/elements/problem/languages/shared/en.d.ts +3 -0
- package/dist/elements/problem/languages/{en.js → shared/en.js} +12 -3
- package/dist/elements/problem/languages/shared/ru.d.ts +3 -0
- package/dist/elements/problem/languages/{ru.js → shared/ru.js} +12 -3
- package/dist/elements/problem/phrases.d.ts +4 -0
- package/dist/elements/problem/problemCheck.d.ts +166 -0
- package/dist/elements/problem/problemCheck.js +203 -0
- package/dist/elements/problem/problemContent.d.ts +2 -120
- package/dist/elements/problem/problemContent.js +2 -127
- package/dist/elements/problem/problemScript.d.ts +6 -1
- package/dist/elements/table/Table.vue +100 -100
- package/dist/elements/table/_global.d.ts +36 -36
- package/dist/elements/video/Video.vue +110 -110
- package/dist/elements/video/_global.d.ts +18 -18
- package/dist/resolve.d.ts +2 -1
- package/dist/resolve.js +8 -5
- package/package.json +4 -4
- package/types.d.ts +4 -4
|
@@ -1,112 +1,257 @@
|
|
|
1
|
-
import type { ProblemCustomAttribute as PAC } from './shared.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* <
|
|
21
|
-
* <P>
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* <
|
|
29
|
-
* <P>
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* @
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
*
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
*
|
|
111
|
-
|
|
112
|
-
|
|
1
|
+
import type { ProblemCustomAttribute as PAC } from './shared.js';
|
|
2
|
+
import type { ProblemRandom as _ProblemRandom } from './rng.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Problems are used to present exercises and questions to the reader.
|
|
6
|
+
*
|
|
7
|
+
* Allowed children inside `<Problem>`:
|
|
8
|
+
* - `<ProblemDescription>`
|
|
9
|
+
* - `<ProblemCheck>` (repeatable)
|
|
10
|
+
* - `<ProblemHint>` (repeatable)
|
|
11
|
+
* - `<ProblemAnswer>` (optionally with `<ProblemSection>`)
|
|
12
|
+
* - `<ProblemSolution>` (optionally with `<ProblemSection>`)
|
|
13
|
+
* - `<ProblemNote>` (optionally with `<ProblemSection>`)
|
|
14
|
+
*
|
|
15
|
+
* @title Problem
|
|
16
|
+
* @layout block
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <Problem title="Find the square" level="easy">
|
|
20
|
+
* <ProblemDescription>
|
|
21
|
+
* <P>What is the square of 2?</P>
|
|
22
|
+
* <P>Think carefully about your answer before proceeding to the hints and solution.</P>
|
|
23
|
+
* </ProblemDescription>
|
|
24
|
+
*
|
|
25
|
+
* <ProblemHint>
|
|
26
|
+
* <P>Recall that squaring a number means multiplying it by itself.</P>
|
|
27
|
+
* </ProblemHint>
|
|
28
|
+
* <ProblemHint>
|
|
29
|
+
* <P>For example, the square of 3 is 9, since 3 * 3 = 9.</P>
|
|
30
|
+
* </ProblemHint>
|
|
31
|
+
* // More hints...
|
|
32
|
+
*
|
|
33
|
+
* <ProblemSolution>
|
|
34
|
+
* <P>Some general phrases visible immediately.</P>
|
|
35
|
+
*
|
|
36
|
+
* <ProblemSection title="Detailed Solution">
|
|
37
|
+
* <P>The square of 2 is 4, since 2 * 2 = 4.</P>
|
|
38
|
+
* </ProblemSection>
|
|
39
|
+
* // More sections...
|
|
40
|
+
*
|
|
41
|
+
* </ProblemSolution>
|
|
42
|
+
*
|
|
43
|
+
* <ProblemAnswer>
|
|
44
|
+
* <P><M>4</M></P>
|
|
45
|
+
* </ProblemAnswer>
|
|
46
|
+
*
|
|
47
|
+
* <ProblemCheck label="The square of 2 is" answer={4} />
|
|
48
|
+
*
|
|
49
|
+
* <ProblemNote>
|
|
50
|
+
* In fact, you can find the square of any number by multiplying it by itself!
|
|
51
|
+
* </ProblemNote>
|
|
52
|
+
* </Problem>
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export const Problem = '_tag_';
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Problem description.
|
|
59
|
+
*
|
|
60
|
+
* Can be used inside `<Problem>` or `<SubProblem>`.
|
|
61
|
+
*
|
|
62
|
+
* @title ProblemDescription
|
|
63
|
+
* @layout block
|
|
64
|
+
* @example
|
|
65
|
+
* ```tsx
|
|
66
|
+
* <ProblemDescription>
|
|
67
|
+
* <P>State the problem in your own words.</P>
|
|
68
|
+
* </ProblemDescription>
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export const ProblemDescription = '_tag_';
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* A hint for the problem. Multiple hints can be provided.
|
|
75
|
+
*
|
|
76
|
+
* Can be used inside `<Problem>` or `<SubProblem>`.
|
|
77
|
+
*
|
|
78
|
+
* @title ProblemHint
|
|
79
|
+
* @layout block
|
|
80
|
+
* @example
|
|
81
|
+
* ```tsx
|
|
82
|
+
* <ProblemHint>
|
|
83
|
+
* <P>Try rewriting the expression in a simpler form.</P>
|
|
84
|
+
* </ProblemHint>
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export const ProblemHint = '_tag_';
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* A titled section used inside `<ProblemSolution>` or `<ProblemAnswer>`.
|
|
91
|
+
*
|
|
92
|
+
* @title ProblemSection
|
|
93
|
+
* @layout block
|
|
94
|
+
* @example
|
|
95
|
+
* ```tsx
|
|
96
|
+
* <ProblemSection title="Method">
|
|
97
|
+
* <P>Show the steps.</P>
|
|
98
|
+
* </ProblemSection>
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export const ProblemSection = '_tag_';
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* The problem solution.
|
|
105
|
+
*
|
|
106
|
+
* Can contain plain content and `<ProblemSection>` blocks.
|
|
107
|
+
* Can be used inside `<Problem>` or `<SubProblem>`.
|
|
108
|
+
*
|
|
109
|
+
* @title ProblemSolution
|
|
110
|
+
* @layout block
|
|
111
|
+
* @example
|
|
112
|
+
* ```tsx
|
|
113
|
+
* <ProblemSolution>
|
|
114
|
+
* <P>Start with the key idea.</P>
|
|
115
|
+
*
|
|
116
|
+
* <ProblemSection title="Details">
|
|
117
|
+
* <P>Then provide the full derivation.</P>
|
|
118
|
+
* </ProblemSection>
|
|
119
|
+
* </ProblemSolution>
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export const ProblemSolution = '_tag_';
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* The final answer (usually concise).
|
|
126
|
+
*
|
|
127
|
+
* Can contain plain content and `<ProblemSection>` blocks.
|
|
128
|
+
* Can be used inside `<Problem>` or `<SubProblem>`.
|
|
129
|
+
*
|
|
130
|
+
* @title ProblemAnswer
|
|
131
|
+
* @layout block
|
|
132
|
+
* @example
|
|
133
|
+
* ```tsx
|
|
134
|
+
* <ProblemAnswer>
|
|
135
|
+
* <P><M>42</M></P>
|
|
136
|
+
* </ProblemAnswer>
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
export const ProblemAnswer = '_tag_';
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* A note shown after the checks/solution.
|
|
143
|
+
*
|
|
144
|
+
* Can be used inside `<Problem>` or `<SubProblem>`.
|
|
145
|
+
*
|
|
146
|
+
* @title ProblemNote
|
|
147
|
+
* @layout block
|
|
148
|
+
* @example
|
|
149
|
+
* ```tsx
|
|
150
|
+
* <ProblemNote>
|
|
151
|
+
* Remember to double-check units.
|
|
152
|
+
* </ProblemNote>
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export const ProblemNote = '_tag_';
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Defines an answer check for a problem.
|
|
159
|
+
*
|
|
160
|
+
* Can be used inside `<Problem>` or `<SubProblem>`.
|
|
161
|
+
*
|
|
162
|
+
* Validator props (exactly one per `<ProblemCheck>`):
|
|
163
|
+
* - `yes`: boolean-like answer, validated via locale yes/no patterns.
|
|
164
|
+
* - `no`: boolean-like answer, validated via locale yes/no patterns.
|
|
165
|
+
* - `answer`: exact expected value.
|
|
166
|
+
* - `number` -> numeric equality
|
|
167
|
+
* - `string` -> exact string match
|
|
168
|
+
* - `RegExp` -> `test()` match
|
|
169
|
+
* - `undefined` -> expects an empty answer
|
|
170
|
+
* - `answers`: multi-part answer (split by `separator`, default `,`, unordered by default).
|
|
171
|
+
* - Use `{ ordered, separator, values }` to configure matching.
|
|
172
|
+
* - Each position in `values` can be a single expected value or an array of expected values (any-of).
|
|
173
|
+
* - `script`: named script validator.
|
|
174
|
+
*
|
|
175
|
+
* You can nest `<ProblemCheck>` inside another `<ProblemCheck>` to group multiple checks.
|
|
176
|
+
*
|
|
177
|
+
* @title ProblemCheck
|
|
178
|
+
* @layout block
|
|
179
|
+
* @example
|
|
180
|
+
* ```tsx
|
|
181
|
+
* <ProblemCheck label="2 is even" yes />
|
|
182
|
+
* <ProblemCheck label="Enter nothing" answer={undefined} />
|
|
183
|
+
* <ProblemCheck label="The square of 2 is" answer={4} />
|
|
184
|
+
* <ProblemCheck
|
|
185
|
+
* label="Enter roots"
|
|
186
|
+
* answers={{ ordered: false, separator: ',', values: [2, [-2, /-?2/]] }}
|
|
187
|
+
* />
|
|
188
|
+
* <ProblemCheck script="myCustomValidator" />
|
|
189
|
+
*
|
|
190
|
+
* <ProblemCheck label="Grouped checks" yes>
|
|
191
|
+
* <ProblemCheck label="Also accept 42" answer={42} />
|
|
192
|
+
* </ProblemCheck>
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
export const ProblemCheck = '_tag_';
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Problem set is a collection of related problems presented together.
|
|
199
|
+
*
|
|
200
|
+
* Allowed children inside `<Problems>`:
|
|
201
|
+
* - `<SubProblem>` (repeatable)
|
|
202
|
+
*
|
|
203
|
+
* Each `<SubProblem>` can contain the same child tags as `<Problem>`.
|
|
204
|
+
*
|
|
205
|
+
* @title Problems
|
|
206
|
+
* @layout block
|
|
207
|
+
* @example
|
|
208
|
+
* ```tsx
|
|
209
|
+
* // export const problemScript = defineProblemScript(...) ~> see Problem docs for details
|
|
210
|
+
* <Problems title="Sample Problem Set" level="hard">
|
|
211
|
+
* <SubProblem label="Example">
|
|
212
|
+
* <ProblemDescription>
|
|
213
|
+
* This is an example sub-problem.
|
|
214
|
+
* </ProblemDescription>
|
|
215
|
+
* </SubProblem>
|
|
216
|
+
*
|
|
217
|
+
* <SubProblem script={problemScript} />
|
|
218
|
+
* </Problems>
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
export const Problems = '_tag_';
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* A single problem inside a `<Problems>` set.
|
|
225
|
+
*
|
|
226
|
+
* Allowed children inside `<SubProblem>`:
|
|
227
|
+
* - `<ProblemDescription>`
|
|
228
|
+
* - `<ProblemHint>` (repeatable)
|
|
229
|
+
* - `<ProblemSolution>` (optionally with `<ProblemSection>`)
|
|
230
|
+
* - `<ProblemAnswer>` (optionally with `<ProblemSection>`)
|
|
231
|
+
* - `<ProblemCheck>` (repeatable)
|
|
232
|
+
* - `<ProblemNote>`
|
|
233
|
+
*
|
|
234
|
+
* @title SubProblem
|
|
235
|
+
* @layout block
|
|
236
|
+
* @example
|
|
237
|
+
* ```tsx
|
|
238
|
+
* <SubProblem label="A">
|
|
239
|
+
* <ProblemDescription>
|
|
240
|
+
* <P>Solve for <M>x</M>.</P>
|
|
241
|
+
* </ProblemDescription>
|
|
242
|
+
*
|
|
243
|
+
* <ProblemCheck answer={42} />
|
|
244
|
+
* </SubProblem>
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
export const SubProblem = '_tag_';
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Typeguard for creating custom problem attributes.
|
|
251
|
+
*/
|
|
252
|
+
export type ProblemCustomAttribute = PAC;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Typeguard for problem RNG.
|
|
256
|
+
*/
|
|
257
|
+
export type ProblemRandom = _ProblemRandom;
|
|
@@ -5,13 +5,6 @@ declare const _default: (import("../../app/appElement.js").AppElement<{
|
|
|
5
5
|
Data: import("./problem.js").ProblemData;
|
|
6
6
|
Storage: import("./storage.js").ProblemScriptStorage;
|
|
7
7
|
Children: import("./problemContent.js").ProblemContentChild[];
|
|
8
|
-
}> | import("../../app/appElement.js").AppElement<{
|
|
9
|
-
name: "subProblem";
|
|
10
|
-
type: "block";
|
|
11
|
-
linkable: false;
|
|
12
|
-
Data: import("./problems.js").SubProblemData;
|
|
13
|
-
Storage: import("./storage.js").ProblemScriptStorage;
|
|
14
|
-
Children: import("./problemContent.js").ProblemContentChild[];
|
|
15
8
|
}> | import("../../app/appElement.js").AppElement<{
|
|
16
9
|
name: "problems";
|
|
17
10
|
type: "block";
|
|
@@ -26,5 +19,12 @@ declare const _default: (import("../../app/appElement.js").AppElement<{
|
|
|
26
19
|
Storage: import("./storage.js").ProblemScriptStorage;
|
|
27
20
|
Children: import("./problemContent.js").ProblemContentChild[];
|
|
28
21
|
})[];
|
|
22
|
+
}> | import("../../app/appElement.js").AppElement<{
|
|
23
|
+
name: "subProblem";
|
|
24
|
+
type: "block";
|
|
25
|
+
linkable: false;
|
|
26
|
+
Data: import("./problems.js").SubProblemData;
|
|
27
|
+
Storage: import("./storage.js").ProblemScriptStorage;
|
|
28
|
+
Children: import("./problemContent.js").ProblemContentChild[];
|
|
29
29
|
}>)[];
|
|
30
30
|
export default _default;
|
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import { defineEruditProseAppElement } from "../../app/appElement.js";
|
|
2
2
|
import { problemSchema } from "./problem.js";
|
|
3
3
|
import { problemsSchema, subProblemSchema } from "./problems.js";
|
|
4
|
+
const icon = () => import("./assets/icon.svg?raw");
|
|
4
5
|
export default [
|
|
5
6
|
defineEruditProseAppElement({
|
|
6
7
|
schema: problemSchema,
|
|
7
8
|
component: () => import("./components/Problem.vue"),
|
|
9
|
+
icon,
|
|
8
10
|
languages: {
|
|
9
|
-
en: () => import("./languages/en.js"),
|
|
10
|
-
ru: () => import("./languages/ru.js")
|
|
11
|
-
}
|
|
12
|
-
icon: () => import("./assets/icon.svg?raw")
|
|
13
|
-
}),
|
|
14
|
-
defineEruditProseAppElement({
|
|
15
|
-
schema: subProblemSchema,
|
|
16
|
-
component: () => import("./components/SubProblem.vue")
|
|
11
|
+
en: () => import("./languages/problem/en.js"),
|
|
12
|
+
ru: () => import("./languages/problem/ru.js")
|
|
13
|
+
}
|
|
17
14
|
}),
|
|
18
15
|
defineEruditProseAppElement({
|
|
19
16
|
schema: problemsSchema,
|
|
20
17
|
component: () => import("./components/Problems.vue"),
|
|
18
|
+
icon,
|
|
21
19
|
languages: {
|
|
22
|
-
en: () => import("./languages/en.js"),
|
|
23
|
-
ru: () => import("./languages/ru.js")
|
|
24
|
-
}
|
|
25
|
-
|
|
20
|
+
en: () => import("./languages/problems/en.js"),
|
|
21
|
+
ru: () => import("./languages/problems/ru.js")
|
|
22
|
+
}
|
|
23
|
+
}),
|
|
24
|
+
defineEruditProseAppElement({
|
|
25
|
+
schema: subProblemSchema,
|
|
26
|
+
component: () => import("./components/SubProblem.vue")
|
|
26
27
|
})
|
|
27
28
|
];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
|
2
|
-
<path d="M8.86,13.75l5.75-5.75-1.14-1.14-4.61,4.61-2.32-2.32-1.14,1.14,3.47,3.47ZM10,18.15c-1.13,0-2.19-.21-3.18-.64-.99-.43-1.86-1.01-2.59-1.74-.73-.73-1.31-1.6-1.74-2.59-.43-.99-.64-2.05-.64-3.18,0-1.13.21-2.19.64-3.18s1.01-1.86,1.74-2.59c.73-.73,1.6-1.31,2.59-1.74s2.05-.64,3.18-.64c1.13,0,2.19.21,3.18.64.99.43,1.86,1.01,2.59,1.74.73.73,1.31,1.6,1.74,2.59.43.99.64,2.05.64,3.18s-.22,2.19-.64,3.18c-.43.99-1.01,1.86-1.74,2.59s-1.6,1.31-2.59,1.74c-.99.43-2.05.64-3.18.64M10,16.52c1.82,0,3.36-.63,4.63-1.9s1.9-2.81,1.9-4.63-.63-3.36-1.9-4.63c-1.26-1.26-2.81-1.9-4.63-1.9-1.82,0-3.36.63-4.63,1.9s-1.9,2.81-1.9,4.63c0,1.82.63,3.36,1.9,4.63,1.26,1.26,2.81,1.9,4.63,1.9"/>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
|
2
|
+
<path d="M8.86,13.75l5.75-5.75-1.14-1.14-4.61,4.61-2.32-2.32-1.14,1.14,3.47,3.47ZM10,18.15c-1.13,0-2.19-.21-3.18-.64-.99-.43-1.86-1.01-2.59-1.74-.73-.73-1.31-1.6-1.74-2.59-.43-.99-.64-2.05-.64-3.18,0-1.13.21-2.19.64-3.18s1.01-1.86,1.74-2.59c.73-.73,1.6-1.31,2.59-1.74s2.05-.64,3.18-.64c1.13,0,2.19.21,3.18.64.99.43,1.86,1.01,2.59,1.74.73.73,1.31,1.6,1.74,2.59.43.99.64,2.05.64,3.18s-.22,2.19-.64,3.18c-.43.99-1.01,1.86-1.74,2.59s-1.6,1.31-2.59,1.74c-.99.43-2.05.64-3.18.64M10,16.52c1.82,0,3.36-.63,4.63-1.9s1.9-2.81,1.9-4.63-.63-3.36-1.9-4.63c-1.26-1.26-2.81-1.9-4.63-1.9-1.82,0-3.36.63-4.63,1.9s-1.9,2.81-1.9,4.63c0,1.82.63,3.36,1.9,4.63,1.26,1.26,2.81,1.9,4.63,1.9"/>
|
|
3
3
|
</svg>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
2
|
-
<path d="M28.58,6.4l-7.8,20.14c-.26.67-1.01,1-1.68.74-.16-.06-.3-.15-.43-.27l-4.39-4.21-2.7,2.7c-.26.26-.66.26-.92,0-.12-.12-.19-.29-.19-.46v-5.87l-6.74-6.46c-.52-.5-.54-1.32-.04-1.84.17-.18.38-.3.62-.36l22.74-5.84c.7-.18,1.4.24,1.58.94.06.26.05.54-.05.79h0ZM25.42,7.88l-14.25,9.29,2.26,2.16,12-11.45h0Z"/>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
2
|
+
<path d="M28.58,6.4l-7.8,20.14c-.26.67-1.01,1-1.68.74-.16-.06-.3-.15-.43-.27l-4.39-4.21-2.7,2.7c-.26.26-.66.26-.92,0-.12-.12-.19-.29-.19-.46v-5.87l-6.74-6.46c-.52-.5-.54-1.32-.04-1.84.17-.18.38-.3.62-.36l22.74-5.84c.7-.18,1.4.24,1.58.94.06.26.05.54-.05.79h0ZM25.42,7.88l-14.25,9.29,2.26,2.16,12-11.45h0Z"/>
|
|
3
3
|
</svg>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
2
|
-
<path d="M2,2v1.5h2.1l-.37.3c-.6.6-1.02,1.25-1.27,1.95-.3.7-.45,1.42-.45,2.17,0,1.4.42,2.65,1.27,3.75.8,1.05,1.87,1.77,3.22,2.17v-1.57c-.9-.35-1.62-.92-2.17-1.72-.55-.75-.82-1.62-.82-2.62,0-.55.1-1.07.3-1.57.2-.55.55-1.05,1.05-1.5l.15-.15v1.8h1.5V2H2ZM9.5,2.23v1.57c.9.3,1.62.85,2.17,1.65.55.75.82,1.62.82,2.62,0,.55-.1,1.07-.3,1.57-.25.55-.57,1.05-.97,1.5l-.22.15v-1.8h-1.5v4.5h4.5v-1.5h-2.02l.22-.22c.65-.65,1.1-1.32,1.35-2.02.3-.75.45-1.47.45-2.17,0-1.4-.42-2.65-1.27-3.75-.8-1.1-1.87-1.82-3.22-2.17v.07Z"/>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
2
|
+
<path d="M2,2v1.5h2.1l-.37.3c-.6.6-1.02,1.25-1.27,1.95-.3.7-.45,1.42-.45,2.17,0,1.4.42,2.65,1.27,3.75.8,1.05,1.87,1.77,3.22,2.17v-1.57c-.9-.35-1.62-.92-2.17-1.72-.55-.75-.82-1.62-.82-2.62,0-.55.1-1.07.3-1.57.2-.55.55-1.05,1.05-1.5l.15-.15v1.8h1.5V2H2ZM9.5,2.23v1.57c.9.3,1.62.85,2.17,1.65.55.75.82,1.62.82,2.62,0,.55-.1,1.07-.3,1.57-.25.55-.57,1.05-.97,1.5l-.22.15v-1.8h-1.5v4.5h4.5v-1.5h-2.02l.22-.22c.65-.65,1.1-1.32,1.35-2.02.3-.75.45-1.47.45-2.17,0-1.4-.42-2.65-1.27-3.75-.8-1.1-1.87-1.82-3.22-2.17v.07Z"/>
|
|
3
3
|
</svg>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
|
|
2
|
-
<path d="M11,6.36c2.56,0,4.64,2.08,4.64,4.64,0,1.72-.93,3.21-2.32,4.02v1.39c0,.43-.35.77-.77.77h-3.09c-.43,0-.77-.35-.77-.77v-1.39c-1.38-.8-2.32-2.3-2.32-4.02,0-2.56,2.08-4.64,4.64-4.64M12.55,17.95v.77c0,.43-.35.77-.77.77h-1.55c-.43,0-.77-.35-.77-.77v-.77h3.09ZM17.18,10.23h2.32v1.55h-2.32v-1.55ZM2.5,10.23h2.32v1.55h-2.32v-1.55ZM11.77,2.5v2.32h-1.55v-2.32h1.55ZM5.53,4.43l1.65,1.65-1.1,1.09-1.65-1.64,1.1-1.1ZM14.83,6.08l1.64-1.65,1.11,1.1-1.65,1.64-1.1-1.1Z"/>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
|
|
2
|
+
<path d="M11,6.36c2.56,0,4.64,2.08,4.64,4.64,0,1.72-.93,3.21-2.32,4.02v1.39c0,.43-.35.77-.77.77h-3.09c-.43,0-.77-.35-.77-.77v-1.39c-1.38-.8-2.32-2.3-2.32-4.02,0-2.56,2.08-4.64,4.64-4.64M12.55,17.95v.77c0,.43-.35.77-.77.77h-1.55c-.43,0-.77-.35-.77-.77v-.77h3.09ZM17.18,10.23h2.32v1.55h-2.32v-1.55ZM2.5,10.23h2.32v1.55h-2.32v-1.55ZM11.77,2.5v2.32h-1.55v-2.32h1.55ZM5.53,4.43l1.65,1.65-1.1,1.09-1.65-1.64,1.1-1.1ZM14.83,6.08l1.64-1.65,1.11,1.1-1.65,1.64-1.1-1.1Z"/>
|
|
3
3
|
</svg>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16.97 16.97">
|
|
2
|
-
<path d="M10.41,4.64c0-.31.2-.57.43-.79.21-.2.34-.45.34-.72,0-.63-.69-1.15-1.53-1.15s-1.53.51-1.53,1.15c0,.28.13.53.35.73.22.2.42.46.42.76,0,.41-.33.74-.74.75-.02,0-.03,0-.05,0-.77-.05-1.54-.13-2.31-.23-.31-.04-.6.17-.65.49,0,.05,0,.11,0,.16.11.76.19,1.53.23,2.31.02.41-.29.76-.7.78-.02,0-.03,0-.05,0-.3,0-.56-.19-.76-.42-.2-.22-.45-.35-.73-.35-.63,0-1.15.69-1.15,1.53s.51,1.53,1.15,1.53c.27,0,.52-.13.72-.34.21-.23.48-.43.79-.43.42,0,.77.34.77.76,0,.01,0,.02,0,.03-.04.96-.12,1.91-.24,2.86-.04.31.18.6.49.64.8.11,1.62.19,2.44.24.41.02.76-.29.78-.7,0-.02,0-.03,0-.05,0-.3-.19-.56-.42-.76-.22-.2-.35-.45-.35-.73,0-.63.69-1.15,1.53-1.15s1.53.51,1.53,1.15c0,.27-.13.52-.34.72-.23.21-.43.48-.43.79,0,.42.34.77.76.77,0,0,.02,0,.03,0,1.02-.04,2.04-.12,3.03-.26.26-.03.46-.24.49-.49.13-1,.22-2.01.26-3.03.01-.42-.32-.78-.74-.79,0,0-.02,0-.03,0-.31,0-.57.2-.79.43-.2.21-.45.34-.72.34-.63,0-1.15-.69-1.15-1.53s.51-1.53,1.15-1.53c.28,0,.53.13.73.35.2.22.46.42.76.42.41,0,.75-.33.75-.74,0-.02,0-.03,0-.05-.05-.82-.13-1.63-.24-2.44-.04-.31-.33-.53-.64-.49-.94.13-1.89.21-2.86.24-.42.01-.77-.32-.79-.74,0-.01,0-.02,0-.03"/>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16.97 16.97">
|
|
2
|
+
<path d="M10.41,4.64c0-.31.2-.57.43-.79.21-.2.34-.45.34-.72,0-.63-.69-1.15-1.53-1.15s-1.53.51-1.53,1.15c0,.28.13.53.35.73.22.2.42.46.42.76,0,.41-.33.74-.74.75-.02,0-.03,0-.05,0-.77-.05-1.54-.13-2.31-.23-.31-.04-.6.17-.65.49,0,.05,0,.11,0,.16.11.76.19,1.53.23,2.31.02.41-.29.76-.7.78-.02,0-.03,0-.05,0-.3,0-.56-.19-.76-.42-.2-.22-.45-.35-.73-.35-.63,0-1.15.69-1.15,1.53s.51,1.53,1.15,1.53c.27,0,.52-.13.72-.34.21-.23.48-.43.79-.43.42,0,.77.34.77.76,0,.01,0,.02,0,.03-.04.96-.12,1.91-.24,2.86-.04.31.18.6.49.64.8.11,1.62.19,2.44.24.41.02.76-.29.78-.7,0-.02,0-.03,0-.05,0-.3-.19-.56-.42-.76-.22-.2-.35-.45-.35-.73,0-.63.69-1.15,1.53-1.15s1.53.51,1.53,1.15c0,.27-.13.52-.34.72-.23.21-.43.48-.43.79,0,.42.34.77.76.77,0,0,.02,0,.03,0,1.02-.04,2.04-.12,3.03-.26.26-.03.46-.24.49-.49.13-1,.22-2.01.26-3.03.01-.42-.32-.78-.74-.79,0,0-.02,0-.03,0-.31,0-.57.2-.79.43-.2.21-.45.34-.72.34-.63,0-1.15-.69-1.15-1.53s.51-1.53,1.15-1.53c.28,0,.53.13.73.35.2.22.46.42.76.42.41,0,.75-.33.75-.74,0-.02,0-.03,0-.05-.05-.82-.13-1.63-.24-2.44-.04-.31-.33-.53-.64-.49-.94.13-1.89.21-2.86.24-.42.01-.77-.32-.79-.74,0-.01,0-.02,0-.03"/>
|
|
3
3
|
</svg>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 560">
|
|
2
|
-
<path d="M119.1,480c-8.15,0-14.95-2.75-20.41-8.26-5.51-5.45-8.26-12.25-8.26-20.41s2.75-14.9,8.26-20.41c5.45-5.45,12.25-8.18,20.41-8.18h229.09c8.15,0,14.95,2.73,20.41,8.18s8.26,12.31,8.26,20.41c0,8.15-2.75,14.95-8.26,20.41-5.45,5.51-12.25,8.26-20.41,8.26H119.1ZM119.1,365.42c-8.1,0-14.9-2.75-20.41-8.26-5.45-5.45-8.18-12.25-8.18-20.41s2.73-14.9,8.18-20.41c5.51-5.45,12.31-8.18,20.41-8.18h401c8.15,0,14.95,2.73,20.41,8.18,5.51,5.51,8.26,12.31,8.26,20.41s-2.75,14.95-8.26,20.41c-5.45,5.51-12.25,8.26-20.41,8.26H119.1ZM119.1,250.83c-8.1,0-14.9-2.73-20.41-8.18-5.45-5.51-8.18-12.31-8.18-20.41s2.73-14.95,8.18-20.41c5.51-5.51,12.31-8.26,20.41-8.26h401c8.15,0,14.95,2.75,20.41,8.26,5.51,5.45,8.26,12.25,8.26,20.41s-2.75,14.9-8.26,20.41c-5.45,5.45-12.25,8.18-20.41,8.18H119.1ZM119.1,136.25c-8.1,0-14.9-2.73-20.41-8.18-5.45-5.51-8.18-12.31-8.18-20.41s2.73-14.95,8.18-20.41c5.51-5.51,12.31-8.26,20.41-8.26h401c8.15,0,14.95,2.75,20.41,8.26,5.51,5.45,8.26,12.25,8.26,20.41s-2.75,14.9-8.26,20.41c-5.45,5.45-12.25,8.18-20.41,8.18H119.1Z"/>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 560">
|
|
2
|
+
<path d="M119.1,480c-8.15,0-14.95-2.75-20.41-8.26-5.51-5.45-8.26-12.25-8.26-20.41s2.75-14.9,8.26-20.41c5.45-5.45,12.25-8.18,20.41-8.18h229.09c8.15,0,14.95,2.73,20.41,8.18s8.26,12.31,8.26,20.41c0,8.15-2.75,14.95-8.26,20.41-5.45,5.51-12.25,8.26-20.41,8.26H119.1ZM119.1,365.42c-8.1,0-14.9-2.75-20.41-8.26-5.45-5.45-8.18-12.25-8.18-20.41s2.73-14.9,8.18-20.41c5.51-5.45,12.31-8.18,20.41-8.18h401c8.15,0,14.95,2.73,20.41,8.18,5.51,5.51,8.26,12.31,8.26,20.41s-2.75,14.95-8.26,20.41c-5.45,5.51-12.25,8.26-20.41,8.26H119.1ZM119.1,250.83c-8.1,0-14.9-2.73-20.41-8.18-5.45-5.51-8.18-12.31-8.18-20.41s2.73-14.95,8.18-20.41c5.51-5.51,12.31-8.26,20.41-8.26h401c8.15,0,14.95,2.75,20.41,8.26,5.51,5.45,8.26,12.25,8.26,20.41s-2.75,14.9-8.26,20.41c-5.45,5.45-12.25,8.18-20.41,8.18H119.1ZM119.1,136.25c-8.1,0-14.9-2.73-20.41-8.18-5.45-5.51-8.18-12.31-8.18-20.41s2.73-14.95,8.18-20.41c5.51-5.51,12.31-8.26,20.41-8.26h401c8.15,0,14.95,2.75,20.41,8.26,5.51,5.45,8.26,12.25,8.26,20.41s-2.75,14.9-8.26,20.41c-5.45,5.45-12.25,8.18-20.41,8.18H119.1Z"/>
|
|
3
3
|
</svg>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800">
|
|
2
|
-
<path d="M400,715.16c-43.6,0-84.57-8.27-122.91-24.82-38.34-16.55-71.7-39-100.06-67.37-28.36-28.36-50.82-61.72-67.37-100.06-16.55-38.34-24.82-79.32-24.82-122.91s8.27-84.57,24.82-122.91c16.55-38.34,39-71.7,67.37-100.06,28.36-28.36,61.72-50.82,100.06-67.37,38.34-16.55,79.32-24.82,122.91-24.82,34.14,0,66.45,4.99,96.91,14.97,30.47,9.98,58.57,23.9,84.31,41.76l-45.7,46.49c-19.96-12.61-41.23-22.46-63.82-29.55-22.59-7.09-46.49-10.64-71.7-10.64-69.86,0-129.35,24.56-178.46,73.67-49.11,49.11-73.67,108.6-73.67,178.46s24.56,129.35,73.67,178.46c49.11,49.11,108.6,73.67,178.46,73.67s129.35-24.56,178.46-73.67c49.11-49.11,73.67-108.6,73.67-178.46,0-9.45-.53-18.91-1.58-28.36-1.05-9.45-2.63-18.65-4.73-27.58l51.21-51.21c5.78,16.81,10.24,34.14,13.39,52,3.15,17.86,4.73,36.24,4.73,55.15,0,43.6-8.27,84.57-24.82,122.91-16.55,38.34-39,71.7-67.37,100.06-28.36,28.36-61.72,50.82-100.06,67.37-38.34,16.55-79.32,24.82-122.91,24.82ZM355.88,544.97l-133.94-133.94,44.12-44.12,89.82,89.82,315.16-315.95,44.12,44.12-359.29,360.07Z"/>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800">
|
|
2
|
+
<path d="M400,715.16c-43.6,0-84.57-8.27-122.91-24.82-38.34-16.55-71.7-39-100.06-67.37-28.36-28.36-50.82-61.72-67.37-100.06-16.55-38.34-24.82-79.32-24.82-122.91s8.27-84.57,24.82-122.91c16.55-38.34,39-71.7,67.37-100.06,28.36-28.36,61.72-50.82,100.06-67.37,38.34-16.55,79.32-24.82,122.91-24.82,34.14,0,66.45,4.99,96.91,14.97,30.47,9.98,58.57,23.9,84.31,41.76l-45.7,46.49c-19.96-12.61-41.23-22.46-63.82-29.55-22.59-7.09-46.49-10.64-71.7-10.64-69.86,0-129.35,24.56-178.46,73.67-49.11,49.11-73.67,108.6-73.67,178.46s24.56,129.35,73.67,178.46c49.11,49.11,108.6,73.67,178.46,73.67s129.35-24.56,178.46-73.67c49.11-49.11,73.67-108.6,73.67-178.46,0-9.45-.53-18.91-1.58-28.36-1.05-9.45-2.63-18.65-4.73-27.58l51.21-51.21c5.78,16.81,10.24,34.14,13.39,52,3.15,17.86,4.73,36.24,4.73,55.15,0,43.6-8.27,84.57-24.82,122.91-16.55,38.34-39,71.7-67.37,100.06-28.36,28.36-61.72,50.82-100.06,67.37-38.34,16.55-79.32,24.82-122.91,24.82ZM355.88,544.97l-133.94-133.94,44.12-44.12,89.82,89.82,315.16-315.95,44.12,44.12-359.29,360.07Z"/>
|
|
3
3
|
</svg>
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import type { ProseElement } from '@jsprose/core';
|
|
3
|
-
|
|
4
|
-
import { problemSchema } from '../problem.js';
|
|
5
|
-
import Block from '../../../app/shared/block/Block.vue';
|
|
6
|
-
import ProblemContainer from './ProblemContainer.vue';
|
|
7
|
-
import ProblemHeader from './ProblemHeader.vue';
|
|
8
|
-
import ProblemContent from './ProblemContent.vue';
|
|
9
|
-
|
|
10
|
-
const { element } = defineProps<{
|
|
11
|
-
element: ProseElement<typeof problemSchema>;
|
|
12
|
-
}>();
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<template>
|
|
16
|
-
<Block :element>
|
|
17
|
-
<ProblemContainer>
|
|
18
|
-
<ProblemHeader :info="element.data.info" />
|
|
19
|
-
<ProblemContent :element :initialElements="element.children" />
|
|
20
|
-
</ProblemContainer>
|
|
21
|
-
</Block>
|
|
22
|
-
</template>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import type { ProseElement } from '@jsprose/core';
|
|
3
|
+
|
|
4
|
+
import { problemSchema } from '../problem.js';
|
|
5
|
+
import Block from '../../../app/shared/block/Block.vue';
|
|
6
|
+
import ProblemContainer from './ProblemContainer.vue';
|
|
7
|
+
import ProblemHeader from './ProblemHeader.vue';
|
|
8
|
+
import ProblemContent from './ProblemContent.vue';
|
|
9
|
+
|
|
10
|
+
const { element } = defineProps<{
|
|
11
|
+
element: ProseElement<typeof problemSchema>;
|
|
12
|
+
}>();
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<template>
|
|
16
|
+
<Block :element>
|
|
17
|
+
<ProblemContainer>
|
|
18
|
+
<ProblemHeader :info="element.data.info" />
|
|
19
|
+
<ProblemContent :element :initialElements="element.children" />
|
|
20
|
+
</ProblemContainer>
|
|
21
|
+
</Block>
|
|
22
|
+
</template>
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
<script lang="ts" setup>
|
|
2
|
-
defineProps<{ active?: boolean }>();
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
<button
|
|
7
|
-
:class="[
|
|
8
|
-
`bg-bg-main border-border/80 text-main-xs micro:px-2.5 min-w-[30px]
|
|
9
|
-
cursor-pointer rounded border px-1.5 py-[5px] font-semibold shadow
|
|
10
|
-
shadow-[light-dark(#d9d9d9,#3c3c3c)]
|
|
11
|
-
transition-[color,background,border,box-shadow]`,
|
|
12
|
-
{
|
|
13
|
-
'border-brand/50 bg-brand/10 text-brand': active,
|
|
14
|
-
['text-text-muted hocus:text-brand hocus:border-brand/50']: !active,
|
|
15
|
-
},
|
|
16
|
-
]"
|
|
17
|
-
>
|
|
18
|
-
<slot></slot>
|
|
19
|
-
</button>
|
|
20
|
-
</template>
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
defineProps<{ active?: boolean }>();
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<button
|
|
7
|
+
:class="[
|
|
8
|
+
`bg-bg-main border-border/80 text-main-xs micro:px-2.5 min-w-[30px]
|
|
9
|
+
cursor-pointer rounded border px-1.5 py-[5px] font-semibold shadow
|
|
10
|
+
shadow-[light-dark(#d9d9d9,#3c3c3c)]
|
|
11
|
+
transition-[color,background,border,box-shadow]`,
|
|
12
|
+
{
|
|
13
|
+
'border-brand/50 bg-brand/10 text-brand': active,
|
|
14
|
+
['text-text-muted hocus:text-brand hocus:border-brand/50']: !active,
|
|
15
|
+
},
|
|
16
|
+
]"
|
|
17
|
+
>
|
|
18
|
+
<slot></slot>
|
|
19
|
+
</button>
|
|
20
|
+
</template>
|